3 ms·
This seems kinda backwards? C++ has gotten as complex as it has mostly because it’s been the pragmatic default for big, performance sensitive applications consi
by benreesman 3y ago
This seems kinda backwards? C++ has gotten as complex as it has mostly because it’s been the pragmatic default for big, performance sensitive applications consistently for like 30 years and the clear up-and-comer for ~10 more.
Java can be really fast and handle big codebases too, and it’s also been huge for long enough it can buy a beer, and it’s also getting a little hairy.
Uh, other languages in the niche seem to be starting their runs at comparable levels of complexity, if they’re as successful as it looks like, writing them will be quantum chromodynamics in another 30.
- xmcqdpt2 3y ago> Java can be really fast and handle big codebases too, and it’s also been huge for long enough it can buy a beer, and it’s also getting a little hairy. IMO Java is so simple you can teach it to any programmer in a day or two. I'm not sure which part are "hairy", maybe frameworks? Memory order is hard but that's only very rarely used in idiomatic Java, and mostly through the atomic wrappers. Synchronized is simpler than equivalent barriers in almost all other languages. There aren't that many keywords, no operator overloading, barely any metaprogramming (just annotations), almost no compile flags, etc. I guess tuning the runtime can be hairy, and some of the standard lib stuff is weirdly over complicated (nio vs io), but as far as languages go, Java has been incredibly conservative. In fact, a lot of Java app dev would probably be easier in practice if it had more features.
- nuancebydefault 3y agoI think i understand what you say, but i don't think this is in contrary to my statement of C++ having become a language of which features are often reasoned about for the sake of the language itself in stead of for the sake of the goal of the language, namely writing and maintaining computer programs.