4 ms·
I vehemently disagree with the message of the post. It's unnecessary to suggest that anybody must learn anything, let alone JavaScript in the browser. Plenty of
by asnyder 16y ago
I vehemently disagree with the message of the post. It's unnecessary to suggest that anybody must learn anything, let alone JavaScript in the browser. Plenty of technologies exist that abstract away the need to know JavaScript and allow a developer to focus solely on their application rather than the underlying technologies that allow their application to run on a target platform (note, I'm a co-founder of one such technology, http://www.noloh.com http://www.noloh.com).
Similarly, I wouldn't demand that anyone learn assembly or C. While it can be useful in certain situations to have that knowledge it's most definitely not necessary. It's perfectly acceptable to learn and use a higher level language, whether it's NOLOH or one of many other tools and languages that generate the necessary JavaScript or other underlying code. This has the benefits of freeing the developer up to concentrate on their application, while allowing the producers of such tools to worry about the numerous implementation details regarding the many different target platforms. This also has the benefit of allowing for easier porting to non JavaScript platforms.
Clearly if you're somewhat religious about having to know and being able to reproduce all the underlying architecture that runs your application then you must learn JavaScript, but for many others, using a language they know, or learning a higher level language can fully allow them to focus on their applications is ideal.
There also exists a middle ground, for example in the case of NOLOH, if the developer knows some of the basics of JavaScript they can create, or wrap existing 3rd party JavaScript widgets or modules, but extensive knowledge of JavaScript is not necessary, and the truth of the matter is that the vast majority of developers are not of that type, but rather looks to use an existing module created by someone of that type.
Thus, I would argue that if you're a developer of a particular type, either one that's religious, or one that plans to create certain types of client modules or wrap/integrate client modules with little to no API, then you must learn JavaScript, but for the vast majority I believe it's becoming increasingly less necessary.
- binaryfinery 16y agoI think its becoming increasingly less necessary to learn something else. I think javascript is, after a decade or so, finally coming into its own. I agree that one should use a library that lets someone else deal with the inevitable bullshit of browser compatibility. The question is then, "what language should I use"? I used GWT for example, since I know Java, and I assume there are people who will find noloh easy to pick up because they already know the language. However, javascript is a high level language, so references to assembly and C are straw men. Noloh and GWT add yet another layer of abstraction on top of an already complex system. They offer little advantage beyond familiarity, and prevent comprehension of the system as it really is.
- asnyder 16y ago...references to assembly and C are straw men. Referencing C and assembly are not straw men, in the context of the web and the browser they serve equivalent purposes. They offer little advantage beyond familiarity, and prevent comprehension of the system as it really is Rather than respond with a long post, there are significant advantages to using something like NOLOH instead of JavaScript directly. Rather than going into it detail here, I will merely point to 2 issues of php|architect that go in-depth into the many significant advantages you gain, similarly the noloh.com website goes into some of the advantages in the 3 read-more home blocks: NOLOH: The Comprehensive Framework - http://www.phparch.com/magazine/2010/may/ http://www.phparch.com/magazine/2010/may/ Lightweight, On-demand, and Beyond - http://www.phparch.com/magazine/2010/november/ http://www.phparch.com/magazine/2010/november/
- binaryfinery 16y agoAssembly and C are low level languages. Javascript is high level language. The claim appears to be based on the fact that it is the lowest level available in the browser as if this somehow makes it comparable to assembly language, the lowest language available on computers. It is a straw man argument. Saying that they server "equivalent" purposes is bollocks. Using your flawed logic, one could say that because javascript is also the highest level language supported natively by all browsers that it therefor serves the same purpose as HAL in 2001. The fact that various companies have sprung up that can take a language and generate javascript from it doesn't make javascript comparable to assembly. Normally one takes a high level language and compiles it to a lower level language. However, it is not the case that simply compiling one language into another automatically dictates that one is higher than the other. In this case, it is done because javascript is the only language available, and some people don't want to learn it. I suspect that most people are put off learning javascript because the first time they tried it it was a PITA. Especially, it didnt do the same thing in IE as it did in Chrome. So people wrote frameworks like GWT and NOLOH so they could use languages that were familiar to them. I understand why: its easier to solve one unknown at a time. Presented with two problems: a) I don't know javascript and b) browsers are shitty, people decided to tackle problem (b) and ignore problem (a) by writing libraries in their familiar language. Ironically they probably now know more about javascript than anyone else. I'm opting to deal with problem (a) and solve problem (b) by using jQuery. YMMV. As for the advantages of something like NOLOH, yes, sure there are many advantages to using what is essentially big enough to be called middleware. However I suggest that the advantages initially presented by its ease of use will be quickly outweighed by all the things it can't do, or that it demands you do "its way". Perhaps NOLOH is the worlds first middleware that doesnt have this problem, or perhaps its the 2010 version of MFC. The problem is, by the time you find out its the latter, its too late. The risk of that discovery is greater than the learning curve of javascript and modern frameworks. Unlike assembly language.
- bluesnowmonkey 16y agoC probably isn't a good counter-example. You really ought to learn it if you don't already know it. Coming from a managed-memory scripting language, the concepts you'll pick up along the way are foundational to becoming a well-rounded programmer.