Hacker News new | ask | show | jobs
by kalkut 2602 days ago
It depends of the language and/or the stack you use.

Typed, verbose and compiled languages users tends to use an IDE by default because the amount of tooling and things to keep in mind to write executable code is higher than with dynamic, concise and interpreted languages.

People proficient with the latter categories of languages will know what is lacking in their text editor and will extend it with whatever they need (coercive linting, git integration, macros, new layout etc...) on a case to case basis. They end up with a tool that suits their strengths/weaknesses/taste, is faster than IDEs and avoid eventual problems from tools IDEs chose for you.

Chosing a text editor is not about refusing to get help from technology. It is about having a good typing experience first and around it being free to pick the tools you need.

Also, a lot of tools that both IDE and text editor users use (like git integration) do things that can be well done with good command line proficiency. So it really is about your needs

Really it is a debate similar to "Batteries-included frameworks vs multiple librairies" so there is different answers for different situations

2 comments

You seem to be making assumption dynamic languages are more concise than statically typed ones. In modern statically typed languages with type inference it is no longer true. E.g. I find Scala more concise and expressive than Python.

As for IDE usage - programmers of dynamic languages keep away from IDEs, because traditionally IDEs failed to provide the same level of support as they did for static languages. E.g. autocomplete, error highlighting and refactoring were absent or at best not reliable. So if the value add over plain editors was so low, then why bother?

Having said that, I do see more and more people using IDEs with dynamic languages these days. Probably because the good ones have some limited autocomplete and error checking for dynamic languages now (e.g. PyCharm, PhpStorm).

I didn't assume that dynamic languages are more concise. I only said that each of both (with the addition of interpreted languages) usually require less tooling and less to keep in mind than their respective opposite

How much you need autocomplete and refactoring to be reliable also depends on your situation (language/framework, app structure and number of contributors).

More people use IDEs with dynamic languages because Visual Studio Code now exists so people who always prefered IDEs now have a good option

Not surprisingly someone made a debugger discussion into a dynamic vs static language issue.