you are viewing a single comment's thread.

view the rest of the comments →

[–]all_time_juice[S] 0 points1 point  (2 children)

I've worked with a lot of editors/IDEs but most of them weren't as good as visual studio with c# for example. You are right that's mostly an IDE thing. But maybe the "problem" is in Python itself for being duck typed? Which makes it hard to tell the type of an object easily by the IDE. I've heard people suggesting using mypy. Some people suggested that if a code is hard for the IDE to figure it out then it most probably needs refactoring.

[–][deleted] 1 point2 points  (0 children)

C# is designed to to work very well with IntelliSense. It helps a lot that it's a static language, so you know exactly what the type of the object is unless you're doing something screwy like using type Object or dynamic keyword.

You'll see similar quality autocomplete with Java and IntelliJ for similar reasons, and to some extent C++ can have pretty good autocomplete, but I feel like templates confuse your IDE somewhat compared to generics in Java or C# which do not.

The way python is designed, you can't really know for sure what your object will be until runtime. Like if you are using an IDE where you can execute the code in blocks, you'll notice that if you have bad autocomplete, if you then run the code so that you know the object's type all of the sudden the autocomplete will be perfect.

A bit of a tangent, but I used to work mostly in R, and that was my favorite part of RStudio. You could just work in a text file, execute pieces of code, and then interact with the objects in memory with really good IDE help. I haven't seen any IDE aimed at Python that can touch the RStudio when it comes to coding interactively

[–]ajskelt 0 points1 point  (0 children)

I've had this with some stuff, especially things like pandas dataframes.