3 ms·
Will it not still be backwards compatible?
by tytytytytytytyt 8y ago
Will it not still be backwards compatible?
- bilbo0s 8y agoWell that's true. I think the issue he was speaking to was that if many of the new features require doing things in a new way then it really is something new. But your point is well taken as well. C++ is still C++ whether you use standard templates or not.
- stochastic_monk 8y agoThat's part of why it's such a nightmare to parse. The GCC C++ parser is over a megabyte of ASCII text. Think about it: it takes over a million characters to figure out how to parse C++ code. This complexity is partially because there are so many ways to do the same thing. All auto parameters, or make it a template? `if constexpr` or `std::enable_if_t`? Macros for generic programming or variadic variadic template templates? Overloading or specialization? I love C++, and backwards compatibility is something that's been valuable for it, but it certainly comes with its challenges.
- Someone 8y ago”if many of the new features require doing things in a new way then it really is something new.” Firstly, nothing requires you to do things in a new way. Secondly, if “you could already do that” implies “not really something new” for a programming language, updates to the syntax of programming languages can never count as “really something new”.
- CrendKing 8y agoIf a new language feature is available, someone in your team will start to use it, because it compiles, and code becomes shorter, so why not. And you will have to review their code daily, which forces to "relearn" the language. I think this is why OP complains.
- nradov 8y agoWhat's wrong with relearning the language? That's nothing new for developers.
- bitL 8y agoWhy wouldn't you rather learn a new one if your old one is changing rapidly into a weaker version of some other language that did it better already? I personally don't care at all about those new things; I have them in Scala, I don't need them in Java. I can mix those two as I like anyway. I'd much rather see type erasure fixed, as that messes up every single language based on JVM. But that would be like "the incompatible change" of a decade...
- virtualwhys 8y ago> I'd much rather see type erasure fixed, as that messes up every single language based on JVM What? Type erasure is one of the main reasons why the JVM is targeted by so many languages (Java, Clojure, Kotlin, Scala, Groovy, JRuby, etc.). Had the JVM gone the way of the CLR the programming language landscape would probably look a lot different than it does today. Perhaps you mean lack of support for value types? That does affect every language running on the JVM.
- xg15 8y ago> Type erasure is one of the main reasons why the JVM is targeted by so many languages. As someone who grapples with erasure as well, I haven't heard this argument before. Could you explain that?
- rossjudson 8y agoYou're not already reviewing their code and gating change? I think you should start there. Learning from other peoples' code is not generally considered harmful.