5 ms·
> with SVG, Canvas, Smil, HTML 5, Video, and CSS3 The elephant in the room is that Javascript is just not a good language to develop in, most especially for th
by WilliamLP 17y ago
> with SVG, Canvas, Smil, HTML 5, Video, and CSS3
The elephant in the room is that Javascript is just not a good language to develop in, most especially for the kind of culture and processes that Flash developers use. It is difficult to maintain, it plays terribly when different people with different coding styles interact, and most of all it is extremely browser dependent, in terms of the behaviour you can expect to see, and equally importantly for the dramatic differences in performance you get. What do all Javascript libraries have in common? They all provide a twisty nightmare of little passages when you try to combine more than one with all of the interactions between global variables and dynamic operations.
Having seen the work process that Flash developers use, I wonder why anyone can even begin to imagine that some offspring of HTML and Javascript can ever even begin to make inroads there.
- jeremychone 17y agoOk, kind of a valid point. However, for our enterprise SaaS application, we have standardize on JQuery, and with a set of best practices, we have a very strong and powerful application model on top of JS/DOM. The dynamic nature of the Web could be a unique asset to build large enterprise application. But, yes, I would also agree that Javascript/DOM gives many ropes to people to hang themselves. However, we should not blame the ropes if they do.
- iron_ball 17y agoFlash developer here. Actionscript is actually extremely similar to Javascript -- it's ECMAscript with adornments. The problems with "Javascript" are actually problems with the DOM. Actionscript programmers should be very comfortable with Javascript; but programmers accustomed to the sane APIs of AS3 and Flex naturally recoil from the seething pestilence of browser and library compatibility issues that characterizes AJAX development.
- WilliamLP 17y ago> with adornments Including a reasonable standard object system. With Javascript, different brilliant people have different ideas about how to handle objects and prototypes and have "wonderful" ideas for dynamically adding mix-ins, and manipulating what "this" should refer to... All of this leads to an absolute nightmare of coordination. The danger isn't as much with newbie programmers but with brilliant programmers who have individual styles and strong opinions. (And all strong programmers have strong and individual styles and opinions.)
- btipling 17y agoI am going to disagree with you. I believe JavaScript is an excellent language, and as someone has already pointed out, it is based on ECMAScript, just like ActionScript. For one, it's turing complete, so it's not less capable than any other turing complete language. Second, JavaScript brackets and dot syntax will be familiar to any C, C++ or PHP programmer. In addition JavaScript's asynchronous nature and the extensibility power that prototypes provide make it a very easy and useful language, capable of creating very impressive applications. If you add into the mix the fact that it's standardized, supported by a vast amount of documentation online and powerful frameworks, known by millions of developers, and backed by corporations such as Google, Apple, and Microsoft then it becomes hard to dismiss it as a 'not a good language to develop in.' If your problem is with loosely typed, interpreted languages that's a different issue. If your problem is cross browser difference, then diss the browsers, not the language. I also take issue with frameworks being described as "a twisty nightmare." Dojo is a joy to work with.
- WilliamLP 17y ago> it's turing complete, so it's not less capable than any other turing complete language. Sorry but that's a stupid point that is irrelevant and it amazes me why anyone would seriously state it, yet many people do. Let's all use Brainfuck then. Or program in Minesweeper. Dojo may be nice, but do you use Dojo and JQuery at the same time? Now what if you also find a nice component that uses Mootools, would you be comfortable including that too?
- btipling 17y agoTuring completeness is only one of a few points I made. I agree if I had only said it was Turing complete then it would have been stupid. As for using Dojo and Jquery at the same time, well that's sounds like bad architecture planning. Would using Coldfusion, PHP and Python in the same file sound like a great idea? Ok maybe that's a bit much, but how about several templating systems nested on top of each other in a python app such as mako, django templates, and clearsilver. Does that sound like a good idea? Don't mix JavaScript frameworks .