5 ms·
Actually, the vast amount of features in C# isn't improving readability. But MS can't just throw out the bad half of features, which makes C# practically unimpr
by Vektorweg 12y ago
Actually, the vast amount of features in C# isn't improving readability. But MS can't just throw out the bad half of features, which makes C# practically unimprovable. Scala has a similar problem.
- alkonaut 12y agoWhy not? I just can't see why every language needs to gather cruft rather than evolve elegantly. Imho major versions of compilers should aim to NOT remain backwards compatible, so they can remove or change things in the syntax while they add things.
- marvy 12y agoImagine this. I'm using Cool-Lang version 2. Now Cool-Lang 3 comes out. It has lots of features that I want to use. If the new version is compatible with the old one, I download it and start using it. If not, I have to convert my whole codebase first. In practice, that means it may be many years before I can use version 3. Look at Python. In 3.0, they decided to clean up some stuff from 2.x. They even wrote a tool 2to3 which will automatically fix most of the incompatible stuff for you, so converting the whole codebase is almost automatic. The problem is "almost" automatic is not enough. Many people and groups have yet to convert their old code.
- alkonaut 12y agoPy2 to py3 is too far a jump which is made obvious from the fork-like nature of the project. Minor changes like API deprecation is of course already taking place in most projects. Just need to strike a balance. I rewrote 100klines at least from C#1 to C#2 when generics came in 2.0. It was compatible in that the non generic code still worked, but I don't really see what difference that made. If we didn't want to upgrade the cod me then we wouldn't have updated the compiler! Obviously if you don't want the benefits of Py3 then you don't have to pay the upgrade cost either.
- frowaway001 12y ago> But MS can't just throw out the bad half of features, which makes C# practically unimprovable. Scala has a similar problem. How? Scala has been throwing out bad features in pretty much every single release for the last 5 years. It's nothing breathtaking, it just gets done, people are happier and the language gets better.
- pjmlp 12y agoScala has hardly the user base of C# developers.
- frowaway001 12y agoSo how has Scala "a similar problem"? Plus, for this question, the size of the user base doesn't matter: If a developer has to adapt his code to a new language version, he/she doesn't care whether ten or ten-thousand other people have to do the same.
- pjmlp 12y agoIt matters for the language designers, how much people they want to make angry for breaking their code. Scala's smaller user base means there are a lot of less people to get mad.
- frowaway001 12y agoAnd you still haven't explained how Scala has a similar problem.
- pjmlp 12y agoI am not the OP. Just commenting on this > Scala has been throwing out bad features in pretty much every single release for the last 5 years. You cannot throw out features in a language with the community size C# has, otherwise you just get another Python 3.0.