6 ms·
You've received several votes for your comment, and I respect that. But I also respect those who prefer a language which offers type safety. One which does not
by cscotta 16y ago
You've received several votes for your comment, and I respect that.
But I also respect those who prefer a language which offers type safety. One which does not lay traps of unexpected coercion and unfathomably unusual truth tables. I respect a language which can guarantee and enforce immutability at compile time. I respect a language which has had a sensible packaging system from the outset. One which served as the foundation for many as an introduction to object-oriented programming. A language whose primary implementation is based upon a powerful, performant virtual machine, and one which has had excellent support for concurrent execution of programs and components thereof for nearly a decade. I respect a language whose implementations are not wildly divergent. I am fortunate enough to work with a language whose underlying implementation is flexible enough to host dozens of both static and dynamic languages - including JavaScript itself.
What I do not respect are blanket unqualified absolutist statements and fundamentalisms. I understand that you may have found yourself frustrated at points during which you've written Java in the past. I would like to hear about these, and understand them better. But I'd also encourage you to avoid such totalizing statements, as for a variety of reasons, many may have very good reasons for enjoying things you do not.
- InclinedPlane 16y agoJavascript and Java manifest their defects differently. Javascript has its own special deployment problems (largely due to history not just intrinsic problems) but for the most part its defects surface as surprising behavior in certain specific cases (unusual truth tables to be sure, but hardly unfathomable), these can bite you but once known they can be avoided and worked around. Java's faults generally manifest as limitations to what you can do. This makes Java seem more polished but the result in practice has been the generation of quite a lot of ugly and cumbersome code to work around those limitations, this is not a good thing. Java is not a bad language, but its limitations have led to a lot of bad engineering. Javascript is far from perfect, but its core elegance has led to increasingly sophisticated and increasingly powerful uses of the language. In another, say, 10 years the state of Java development will almost certainly continue the status quo of today, whereas the state of javascript development is likely to have considerably advanced.
- swannodette 16y ago> but its core elegance has led to increasingly > sophisticated and increasingly powerful uses > of the language Huh? What are these uses of JavaScript that are increasingly sophisticated and powerful? This JavaScripter wants to know! > whereas the state of javascript development > is likely to have considerably advanced. If JavaScript continues to advance at the lightning pace it's been advancing these past ten years we'll be in exactly the same spot we are now!
- BrendanEich 16y agoI'll let someone else cite sophisticated and powerful JS uses. On the language evolution front: the http://wiki.ecmascript.org/doku.php?id=harmony:proposals http://wiki.ecmascript.org/doku.php?id=harmony:proposals features are very likely to be in the next edition, by end of 2013. Some are already implemented in Firefox. http://wiki.ecmascript.org/doku.php?id=strawman:strawman http://wiki.ecmascript.org/doku.php?id=strawman:strawman contains the full laundry list of possible additions, but among those, http://wiki.ecmascript.org/doku.php?id=strawman:simple_modules http://wiki.ecmascript.org/doku.php?id=strawman:simple_modul... is worth calling out. The module system is likely to be a major feature of the next version of the standard. JavaScript's standard stalled after ECMA-262 3rd Edition, but that was pretty much because of the IE monopoly and the death of Netscape. All web standards stalled, or went off to XML la-la land. That was then (1999-2004). Since Firefox restarted browser competition in 2004; then with Safari, the iPhone, etc.; and since 2008 with Google Chrome, which clearly provoked major work in IE9; things are moving again, and standards bodies (still dysfunctional in some hard-to-fix ways) are more balanced than ever in terms vendor representation. So yeah, the next ten years seem likely to be be different from the last ten. Not only due to browser competition, but also from the Bell's Law device shift to always-connected, instant-on mobile and away from desktop, indicated above via "Safari, the iPhone, etc." Some fear this shift means non-interoperable, siloed apps and closed app-stores will dominate, but my money is still on the Web. The Web can evolve to have better apps and stores too, provided browser and Web platform markets remain competitive.
- prodigal_erik 16y ago