On Wednesday, 14 December 2016 at 12:00:04 UTC, ketmar wrote:
On Wednesday, 14 December 2016 at 09:51:00 UTC, Joseph Rushton Wakeling wrote:
On Wednesday, 14 December 2016 at 03:49:23 UTC, Jonathan M Davis wrote:
I say that when dealing with the built-in attributes, just treat @ like another letter in the keyword, learn it, and move on.

**Applause**

This is such a small thing and it is no problem at all to get used to. Much better to focus on things that can really make a difference.

exactly the kind of logic that made c++.

if someone have to "get used" to something in the language, and there is no way to logically deduce it, the language has A HUGE PROBLEM. there just can't be more important things. 'cause it doesn't matter how much features your language has: if it require random memorization, it won't attract people. with c and c++ we haven't much choice, but now there are alot of languages.

The reality of the matter is that unless you're willing to frequently break everyone's code, at some point, you're going to be stuck with imperfections in the language. The only way to avoid that would be to get it perfect at the start, and that obviously never happens. If we keep making breaking changes, we will never have a significant user base - especially if the changes are stylistic rather than providing real, technical value that fixes problems that people have with their code.

Some breaking changes are still worth making, because they provide enough value, but the older the language gets and the more people there are using it, the higher the bar gets for breaking changes. And yes, that risks creating a bit of a mess of a language like happened with C++. And eventually, someone will go and create D++ or E or whatever to replace D, because they want something better. And they'll get improvements along with a new set of mistakes that will result in ugliness in the language. And eventually, someone will decide to come up with a language that improves on that one. Etc.

D is better than C++, because we were able to learn from its mistakes, but that doesn't mean that we're not doomed to have the same sort of cruft or inelegance problems that C++ has, much as we'd like to avoid it.

"just get used to that small thing" is a big thing that ruins D.

Perhaps, but if so, every language that gets any kind of real world usage is doomed to be ruined. At some point, every real world language is going to have something that can't be fixed without breaking everyone's code and isn't worth breaking everyone's code over. And at some point, in order to add a new feature, ugliness is going to creep into the language, because it was tacked on later, and the rest of the language can't be changed in a way that would break code. Yes, that sucks, but that's life.

- Jonathan M Davis

Reply via email to