3 ms·
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, L
by silentbicycle 18y ago
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.
- ido 18y ago> 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.
- silentbicycle 18y agoIndeed. 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.
- fix3r 18y agoActually, 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.
- silentbicycle 18y agoGCC 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.
- uninverted 18y ago"C++ templates and their touring [sic] completeness"? I think you may be mistaken, sir.