Hacker News new | past | comments | ask | show | jobs | submit login
Silverlight: Good for Adobe, Bad for Microsoft (bitsandbuzz.com)
23 points by bbuffone on Aug 12, 2009 | hide | past | web | favorite | 17 comments

> 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.

I 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.

> 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?

Turing 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 .

Turing completeness is not a point; it's as irrelevant as if you'd said that it's composed of 1s and 0s.

> Don't mix JavaScript frameworks .

That's my whole point. JQuery should just be for DOM manipulation (not a full fledged application framework) but the core Javascript library is so terrible it needs to include things like each, grep, map, and an implementation of string trim for Pete's sake!

PHP is a terrible language for encapsulation, but at least I have chance if I want to include more than one PEAR library. Encapsulation is possible - for instance I can bootstrap a Zend Framework application inside something else and I know it will work because it uses no global variables and it's simply not possible to extend the core language.

So what if I use Dojo and do really like a component in JQuery UI? If you don't think that's a severe and damning limitation then that's a failure of imagination.

Did you know that

  return { something };

    { something };
are not equivalent in Javascript?

Then don't do that. Its easy enough to avoid. Javascript (like every language) has some really great ideas, and some really stupid ones, so just don't use the stupid ones.

Flash 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.

> 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.)

Ok, 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.

"Adobe should rejoice that Microsoft is competing with Adobe on its own turf (i.e., media plug-ins) rather than putting all its energy, as it once did, into Web standards and innovation."

Microsoft putting all its strenghts in standards and innovation?! On what planet does the author live?

It did, when they built IE 5. IE 5 was much more robust and standard compliant than Netscape 4.x (and I am an ex-Netscape)

I was wondering if I was asleep when that happened, cause I sure missed it. Both parts.

I am the first to bash Microsoft when they deserve it, but I think that we should also give credit when due. IE 5 was the most standard compliant browser on its time, and yes, Microsoft did invented AJAX. So, we could thank them for that.

I was under the impression that IE5 for Mac (with its Tasman rendering engine) was the most standard compliant browser at that time.


And it proved how ahead of its time it was by also being abandoned by Microsoft before they allowed IE6 to stagnate on Windows when they realised that good browsers and a viable web weren't in their business interests.

The author is correct that if Micrsoft went full bore for web standards, not only would they be commiting suicide by undermining their own Office and desktop OS monopolies, they'd destroy Adobe in the process. Luckily for Adobe they're not taking that course.

(I really can't tell if you're serious about thanking Microsoft for AJAX, being forced to build rickety technologies on top of whatever random ActiveX functionality they leave lying around isn't something I'm thankful for)

Well, they have done some innovation, but my memory includes them buying a C compiler company, buying an operating system, hiring Cutler to do an OS after he had already done two or three, doing C# which looks a lot like java in most all respects (and hiring the author of Turbo Pascal to do that). My recollection is also that they have been very behind on the web, and may still be.

So in my book they are a bit behind in the innovation department.

IE 5 was some time ago. A more recent view on the approach to standards is at http://www.tbray.org/ongoing/When/200x/2008/03/02/On-OOXML particularly in the paragraph titled "Con: Standards Process Abuse".

The article was very interesting. Looking at the issue of the relationship between Microsoft and Adobe from a new point of view. I agree with the core concept that silverlight and flash are in one front against fully open standards like HTML 5. But I think both Microsoft and Adobe are in both sides of the battle between RIAs using open standards and proprietary plugins. They know they should contribute to open standards.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact