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

c++filt - an absolute necessity.

Also, he should have just pointed out that all IDEs are ass for C++. Java is simple enough that an IDE can be a big help, but C++ is too complicated and too slow to compile. (The remote access thing is just a matter of the work environment being adapted to one set of tools and not another -- the real issue is that text editors beat IDEs for C++.)

Otherwise, an excellent list.



The real issue is that C++ is too complicated and too slow to compile.

Languages that are easier to throw together a reasonable parser for (Lisps, Smalltalk, Lua, or even C) have a much lower barrier to entry for development tools. Keeping the language syntax simple enough means that somebody scratching an itch can write something useful in an afternoon or a weekend, rather than taking a team and months.


Actually, no. The real issue is using compiler's front-end from the IDE itself. While it's true that C++ is hugely complex IDE writers shouldn't try to replace compilers (ie. trying as hard as they might they'll never get around C++ templates and their touring-completeness). MS got this right. gcc and every IDE that relies on it (like Xcode) is crippled in this regard.


GCC is crippled in that regard, but it's a problem with gcc itself. It's written (perhaps deliberately) in a manner which makes it difficult to just use parts of it, e.g. just the back-end for code generation.

For an example of a less accidentally complex way to do what C++ templates do, look at ML's functors.


"C++ templates and their touring [sic] completeness"? I think you may be mistaken, sir.


> Languages that are easier to throw together a reasonable parser for (Lisps, Smalltalk, Lua, or even C)

Heck, even Java.

People (rightfully) complain a lot about how verbose some parts of java are (like how instead of anonymous functions or functions that can be passed as a parameter you have anonymous classes), but ignore the fact that the designers intentionally made that sacrifice to maintain consistency.


Indeed.

I'm working on a tool to help maintenance coders undo the damage from copy-and-paste programming on huge legacy code bases. One approach it uses is language-specific, but requires a bit of configuration (via Lua's wonderful LPEG), and the other is language agnostic. It's searingly obvious how much worse C++ is in this regard.




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

Search: