Hacker News new | ask | show | jobs
by IshKebab 1662 days ago
I think you have it backwards. Java is actually very well designed in many ways, and that means that it's easy to make really good IDEs so they are popular.

In contrast it's really hard to make good C++ code intelligence features. For many many years Microsoft was the only one that had done it (as far as I know).

2 comments

It's been a little while since I've worked with C++ professionally, but the project was cross platform so I'm not sure Windows and Visual Studio was ever a feasible option.

Most of us were using Xcode, but at some point I discovered CLion and it felt like a big step up. Having proper CMake integration instead of needing to regenerate Xcode projects really helped, plus I've often found Xcode to be quite unresponsive and never really liked the way it tries to be different with stuff like code navigation (recent versions seem to be better with how they handle tabs etc.)

But CLion is relatively recent. Quite possibly VS was the only IDE that did that stuff well for quite some time.

Not sure what time scale you had in mind with "many many years" but the commercial third-party extension Visual Assist has been the only serious option for robust and scalable C++ code navigation (and related features) in Visual Studio since the late 1990s, early 2000s until the present day. Visual Studio's built-in Intellisense has been trying to play catch up (and has somewhat closed the gap), not the other way around. There were also widely used products like Source Insight focusing on offline whole-program code analysis and navigation, but they weren't really designed for integrated development.

That said, your thesis about the relative difficulty of doing this for C++ vs Java seems hard to argue against, and the rapid, continuous growth in C++'s surface area and complexity since C++11 surely hasn't helped.