3 ms·
>Not only should we write off the luddites, we should consider every step towards lower complexity good and steps towards complexity and slower understanding to
by jamieb 14y ago
>Not only should we write off the luddites, we should consider every step towards lower complexity good and steps towards complexity and slower understanding to be bad and actively harmful.
Fine. Here is a program written in my new JS proposal:
everything;
That's it. Just one line. It does everything. Of course, "everything" means exactly this one kind of app that I have decided is good enough for everyone. We're all writing Facebook apps, after all. If someone is going to complain that "everything" isn't flexible enough to do what they want, well we can just write-off those luddites because they want to be able to write "everything( more detail)", which is obviously more complex.
Reduced complexity must be balanced against reduced expressivity. "Well, way to take it to the extreme, Jamie. Classes are hardly so radical, and you don't have to use them".
Ok, well we'll just delete all C compilers from our systems, and use C++ compilers, right?
>But then why any language feature at all? Why isn’t assembler good enough for everyone? Or C? Or C++?
Why isnt C++ good enough for C programmers? Or assembler programmers?
If I don't like C++ I can program in C. While in theory I can write run plain old C through a C++ compiler, the reality is that some things are different. Most importantly, the thought being put in by the compiler developers to solve language problems were being spent solving C++ problems, not C problems.
Why does this matter? Question: are browsers going to support two different languages? JS and JS++? No?
So now imagine that we were proposing deleting every C compiler and only allowing C++. Would there be a shitstorm? Quite.
Here are two much more relevant questions:
1. why are people writing Scala, or Clojure?
2. How does the JVM's class-only system make certain Scala constructs non-optimal.