Hacker News new | ask | show | jobs
by jcelerier 1863 days ago
> Visual Studio was “disrupted” by Sublime Text and TextMate,

no it was not. people didn't migrate from VS to Sublime, they migrated from notepad++ to Sublime. I have never met anyone who stopped using IDEs once they started, except maybe for VSCode with a few hundred plug-ins to reconstruct an IDE piece-wise (but with much less "integration" between the different plug-ins)

12 comments

Maybe I'm the odd one out, but this describes me to a T. I started programming primarily using Visual Studio on Windows which I used for several years. It has a nice debugger, but the IDE in general was so painfully slow and bloated it actively took me out of my programming flow. I'm also in general not a big fan of all the clicking around that you needed to do in there. Configuring projects using the Visual Studio IDE was a terrible experience for me, and also supremely non-portable.

I moved away from Windows entirely, and switched to Sublime Text in combination with Unix-style tools (lldb, clang-format). Quickly jumping around in files and searching within the project is fantastic, and the editor is supremely responsive. I have since switched to Visual Studio Code, which is slightly slower than Sublime Text but still fast and responsive.

Many years ago I ran vim as an IDE for several years and was quite happy. Eventually it got bloated and I just could not keep it functional without massive time investment. Maintaining indexes was biggest issue if I recall.
>I have never met anyone who stopped using IDEs once they started

Well, I, for one, used to use Eclipse and moved to Sublime. It also has to do with changing dev languages and trends over a period. 2005 might have been all about J2EE, 2015 was all about Node, etc.

I wonder if the shifts they're talking about have really been true migrations. There's constantly new people and companies entering/exiting the industry. New entrants are likely to use whatever is in vogue, so overall there is going to be a shift in what's dominant as time goes on even if no one were to actually switch from one tool to another.
Not to drag on the OP but I really wonder about people who are the subject of these articles who supposedly migrate from x to y to z, because at least for me I'm still using emacs like I did 10 years ago. The things I focus on is more about doing work than what tool I'm using.

Do people really migrate or is this more about growth in a user-base? A higher rate of growth of one user-base relative to another user-base is not strictly due to people migrating (as if it's zerosum) but could be due to a tool capturing more new users, like junior developers and such. How often do people really migrate wrt tools they actually use for work?

Exactly. I'd guess that a majority of VS Code users are relatively new to programming. Not to say that there aren't experienced people who have switched, especially among the TextMate/Sublime Text crowd, but the incredible growth in users? I think that's largely a result of new programmers choosing the same editor, not old programmers switching.
Don't know if I'm representative, but I've been using Visual Studio for C++ stuff for about 20 years and switched to "mostly VSCode" a few years ago. I guess the reason is that I never used more than 2..3% of Visual Studio's features. Some features in VSCode are a bit too bare bones (especially the debugger), but somehow the user interface makes a lot more sense to me, and most of the times it feels faster and more lightweight than Visual Studio (Visual Studio nowadays even shows a progress bar when loading a project).
Is that that much of a shift? VSCode probably isn't Visual Studio but isn't it related obviously. It would seem different if you migrated from Visual Studio to sublime or xcode or something.
There’s also a big swing of experienced people as well IME. This is partly what drives adoption by new people. There’s a connection there.
The only significant scale of migration I have personally seen is from Visual Studio to VS Code. That was in a Microsoft shop moving to a browser based UI.

Personally I still use vi/vim for just about everything and use language specific IDEs for anything only tackled occasionally (I'm product manager not a developer) because IDEs reduce friction and increase my productivity. Recently started using Thonny as python IDE not because I'm a noob (20 years python coding) but it makes jumping into python code ad hoc effortless compared to pycharm or others. YMMV

<waves>

I've personally gone back and forth over the years between IDEs and decent editors for programming in C, C++, and Java.

I started programming before there were IDEs, so perhaps that has some influence, but you did say "...stopped using IDEs once they started".

I like some functionality of IDEs, but most are barely "nice to have", not "must have" -- the thing I find that I miss the most is language aware navigation.

The thing that keeps bringing me back to just using a reasonably powerful editor (for me, that means either Vim or VSCode, both with zero or very, very few extensions) is the lag between new features coming to existing languages (and new languages emerging) and IDEs supporting them in a non-disruptive manner (never mind fully).

With a decent editor, web or manpage based docs, and a command line based build (which I want anyway for releases and/or CI), I'm all good, thanks.

I mean, if I were to be working someplace that required or depended upon an IDE, I'm not necessarily averse to using one again, but that might be a red flag for me regarding that workplace.

I certainly get the appeal of IDEs, and understand that some find more value in a powerful IDE than in using the latest language features.

Both ways of working are reasonable, depending upon your situation, goals and preferences -- I wish more folks would understand that.

I treat dev tools like real life tools. Just use whatever makes sense, what I’m used to and what’s at hand.

I tried the whole vim thing and no don’t like farting around with things like pathogen and remembering keys. I love a good graphicalIDE too much! I spend most of my time typing or using one of 4 keyboard shortcuts. Mouse is fine for everything else frankly. The mouse is actually a decent invention!

VSCode for web. VS is great for c# projects. I use IntelliJ sometimes and it seems good but don’t use it too much as I don’t Java much.

I don’t think there is a pendulum at all, just a whole bunch of individual coders and teams choosing what makes sense and let’s face it, sometimes, what is hot/cool/hipster

Borland, Visual Studio, Eclipse, Netbeans, IntelliJ, Xcode - I've use quite a few IDE's. I much prefer a simplistic vim.

You make a great point regarding reconstruction of IDE's piece-wise. Check out all the "10, 15, 20" VS code plugins you MUST HAVE blog posts. I don't see any difference between that and a tricked out Vim setup. I see them as exactly the same things.

So someone leaving a tweaked out vim for a tweaked out VS Code or vice versa isn't the same as someone leaving an all powerful IDE. Those people are pursuing their perfect bespoke dev experience.

A lot of the “Ruby on Rails with Textmate” crowd came from Java where you used full IDEs (in addition to the LAMP developers who were not using IDEs).
I've seen a few that stopped IDEs, I have no stats of course but I've seen it mentionned in blogs just enough to comment. I for one stopped IDEs but I'm a peculiar dude that prefer the from-scratch approach (to an extent, I never wrote emacs myself, but at least I know who,why my java classpath is the way it is unlike in Eclipse)
I followed the author’s IDE trajectory but only because I stopped working with C#
I used WebStorm for years.

But I stopped, because IDEs were too slow to adapt to current tech.

Text based tools can simply move faster.

I used IDEs and stopped. In fact I wish IDEs would work, that’s how I started with QBASIC and later Visual Basic. But as soon as you step out of playground level programming, IDEs are never on their happy path.
> as soon as you step out of playground level programming

Uhh... pretty sure 99% of all complex JVM applications were written using an IDE.

In fact, if you joined an experienced team at a senior level and weren’t using IntelliJ, you’d be laughed out of there pretty quickly...

Don't forget that there's Eclipse as well, which I personally still prefer when dealing with Java codebases, although I have somewhat positive experiences using JetBrains IDEs in other languages, particularly Python with PyCharm.

But generally IDEs are almost a necessity for any complex Java codebase. That's markedly different in other languages. I sometimes work on the chromium codebase (C++ mostly) which I use either VSCode or a simple text editor for. When dealing with smaller scripts, whether in Python, Perl or Bash or whatever, I usually stick to whichever simple editor I happen to have accessible. The same is true for some small C codebases I maintain on an irregular basis.

Generally I consider it a rule of thumb that the more refactoring a codebase requires to be kept in a maintainable state, the more you profit from an IDE. And the necessity for complex refactoring grows with the size of the codebase and the number of developers working on it (especially if a lot of them happen to be rather new to the craft).

Because writing complex JVM applications without an IDE is painful. That doesn't mean IDEs provide a great experience.

I mostly started with Java in various IDEs. Now I'm using Vim whenever I can, as it's pretty much the only powerful editor that doesn't work against me. IntelliJ is incredibly annoying, e.g. auto-formatting the line I'm still typing, turning my inputs into undefined behaviour. Or telling me a file contains an error but not showing an indicator in which line (of >1000) that error is. But I sure am glad it displays 50 markers on the sidebar to tell me the location of every word in a comment the spellchecker didn't recognise. And to top it all off it switches tabs in some random order instead of the order that's literally displayed on the screen (I don't know why this trend is a thing, I'm not too dumb to rearrange my tabs, thank you very much).

No, Vim isn't perfect. But it's snappy, reliable and most importantly doesn't try to "help" me without asking.

Eclipse is still pretty popular as well.
You should really probably give Jetbrains' IDEs a try, if you use any of the languages they support.

I find it hard to think I'd give PyCharm up for my daily Python and Typescript.

I tried PyCharm for a couple of months. It has some nice features, but they fall apart way too often. A sibling comment mentions Java, and maybe a more statically typed language does work better, but for Python the dynamic nature of the language makes “more primitive” code manipulation tools like PyCharm fail eventually.
It seems to be the only tool capable enough to at least offer some degree of inline checking and autocomplete. Everything else I’ve tried seems to be perpetually early beta.

Is there a more sophisticated Python tool than PyCharm?

My biggest gripe is the Mypy type-checking which only discovers errors minutes later.

What do you mean with "they fall apart way too often"?