Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

C++ toolchains in general are broken with or without IDEs. It doesn't matter if you're compiling from the command-line or a GUI, it's a trash fire either way.

This problem is sometimes temporarily "fixed" by some approach, but the problem is fundamentally with C++ itself, making many basic things night impossible to solve. Eventually the new "simple" toolchain is adapted to support every possible scenario, and then madness creeps back in and we're back to square one.

For example, I recently had to compile Chromium from scratch. It has a custom build system (of course), that is more complex by itself than all of the code that I have written in my entire life put together. It was written to "simplify" its builds. That's... crazy.

I vividly remember the day I snapped and gave up C++. I was trying to compile previously working code and it was complaining that "__malloc" was undefined. This was a linker error with no further information. It didn't identify the source of the problem, and provided no clue on how to fix it.

After hours of effort I simply gave up, switched over to C#, and never looked back.

PS: A part of the reason C/C++ developers don't "get" why IDEs are so popular is precisely because C and C++ are so hard to write IDEs for! A single header file can mean different things in the same project depending on where and how it is included. Simply providing tab-complete and inline help is a monumental task. So most C++ IDEs are bare bones compared to Java or C#. They do basically nothing for the developer except the basics.

PPS: The Rust team are all ex-C++ programmers and made the same mistakes in their language design, making IDEs very challenging to write for Rust. Don't agree? Remind me, how many IDEs are available that can do something as trivial as "extract method" in Rust?



> Remind me, how many IDEs are available that can do something as trivial as "extract method" in Rust?

Intellij can. I use it all the time. I’m not sure about rust-analyzer with vs code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: