Move Over AJAX, Make Room for ARAX
sasserstyl writes "eWeek reports that Microsoft's Silverlight platform will support Ruby client-side scripting, enabling ARAX — or Asynchronous Ruby and XML. Would be cool to have the option to script client-side in something other than Javascript. 'In essence, using ARAX, Ruby developers would not have to go through the machinations of using something like the RJS (Ruby JavaScript) utility, where they write Ruby code and RJS generates JavaScript code to run on the client, Lam said. "Sure, you could do it that way, but then at some point you might have to add some JavaScript code that adds some custom functionality on the client yourself," he said. "So there's always that sense of, 'Now I'm in another world. And wouldn't it be nice if I have this utility class I wrote in Ruby...' Today if I want to use it in the browser I have to port it to JavaScript. Now I can just run it in the browser."'"
Does yours?
It is AFRAX!
I'm pretty sure I remember a similar, if not the same article to this a while back.
Huh. I guess javascript was too fast, to secure, and too well understood for Microsoft's new toy. Or maybe Active X's massive exploitable bugs have been brought under control?
.Net and then they decide they're going to hitch their new flashy webthingy to Ruby...
I'm seriously having trouble seeing a use for this. If I can't do it in Javascript, why wouldn't I do it in Java or C#? Instead of throwing another interpreted language on the browser, I'd much rather load an applet created with a static/strongly typed language. Sure, there are all kinds of security issues, but at least they're existing, understood issues. With weakly typed Ruby, you have injection issues coupled with the features that javascript rightly cut out for security reasons.
Obviously it's a big deal for Ruby, but I can't help but think that it's a boneheaded move for Microsoft. They've spent all this time pushing
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
Doing a little something for developer mindshare. But then this is really just a way to push .NET.
Questions:
There's already Java (with GWT) and haXe
Or they could learn javascript.... it really isn't that complex, JS2 is a mess, but Crockford is right and JS is decent enough.
that they can't use more than one language like the rest of us?
Silverlight is going to allow .NET code, not just Ruby. Do we really need this? Do we really need to introduce multiple client-side languages like this? We're just creating more avenues to exploit clients. Adobe has had years to get Flash right and we're still finding exploits that can be used to install malware in the background.
Couple that with injection attacks being discovered on popular web sites and the growing use of Deep Packet Inspection and, honestly, we might as well just allow everyone in the world root access to all of our machines.
This is not a step forwards, it's a major step backwards. We can't be blinded by the prospect of client-side Ruby. We have to look past that and see that there are some very real security risks involved. It's less a cause for celebration and more a cause for caution towards installing Silverlight (or Flash, or any other type of embedded object that allows for client scripting).
Microsoft did somethin cool and useful. I am absolutely 100% certain that almost every comment on this article will bash MS some way or another for this, but this time, this feature, is something grat. Everybody thinks that javascript just doesn't cut it for current Web Apps, and it was never meant to work like we make it work today. Switch to something else is just the right thing to do, and if it is ruby (or python or anything else that is FLOSS for that matter), that's just great. kudos for making the first step. Hopfully others will follow.
I just don't trust anything that bleeds for five days and doesn't die.
I think I will write something that will convert Lisp to Javascript.
ALAX!!!
(/local/home/curiosity)-#who -u|grep thecat|cut -c 44-49|xargs kill -9
Really this isn't a suprise as SilverLight was supposed to be the first outing of the Dynamic CLR (support for IronPython, IronRuby etc.). MS has been quite enthusiastic about dynamic languages ever since Jim Hugenin (former JPython author) started working for them.
Andy
As in "Goofy And Retarded Tactic"
Microsoft can't handle browser security with the existing frameworks. I'm SURE adding ruby to the mix is going to make it alllll better.
Afraid this is neither cool, nor useful
Javascript to Ruby? And I thought we were all finally getting over the idea that XML is a great way to to do asynchronous apps. Json etc..
So now that Steve Yegge ported Rails to Javascript, is Microsoft trying to act like the henchman who attempts to please the master by trying to axe Javascript in favor of the master's love for Ruby in spite the fact that it was a bad idea to begin with?
Seriously! The entire PREMISE to Silverlight 2.0 is that you run a .NET runtime on the client. So C#, VB, boo, etc. are all possible. Absolutely not a surprise that IronRuby works too.
Is this news because of some kind of "OMG, TEH RUBY!" factor?
Are we seriously going to have another news item for IronPython ("APAX"), J# ("AJ#AX"), F# ("AFAX") or IronLisp ("ALAX")?
Maybe we need an infrastructure for this. An infrastructure that would be common among multiple languages. And then you could run any language that can target this common language infrastructure. And if you manage it properly it could be secure....
See, that's sharp isn't it? Of course, it might seem like I'm parroting a bunch of buzzwords in this monologue, but I really have a message... I'm not just making small talk. I think that's enough pearls of wisdom in one post.
--JoeProgram Intellivision!
Didn't Microsoft have a big role in making ajax a mess in the first place? 'Ok everyone, iframes!! no, wait ActiveXObject requests!! no, wait Msxml2 ActiveXObject requests!! no, wait arax with our own proprietary plugin that nobody supports!!'
Actually, ajax works pretty well nowadays. Why don't they work on something that really needs help, like css. Or maybe they think their dynamic expressions were the silver bullet...
So you can now use Ruby on Microsoft's Flash/Java Applet clone browser plugin. Are we now going to have AFAX and AAAX for sending XML to Flash and Java Applets?
I mean, really, how is this new? If you're willing to use a browser plug-in instead of just what comes with the browser out of the box, who cares what language it runs (as mentioned in other comments, you could already put Ruby in a Java applet with JRuby), or what format it communicates with the server in?
Rewriting Rails in javascript would accomplish the same.
Stephan
http://stephan.sugarmotor.org
Another language, another client-side plugin, another opportunity to have the same old security leaks once again.
" Today if I want to use it in the browser I have to port it to JavaScript. Now I can just run it in the browser."
Except you're not running it in the browser. You're running it in a platform-specific browser plug-in. You might as well just make a Ruby plugin at that point. The whole point of Javascript (and AJAX) is that it doesn't require platform-specific plugins to operate.
And, contrary to what people might now say in response to this post, Silverlight is VERY platform-specific. 1.0 supports Vista, XPSP2, OSX for PPC and Intel. 2.0 supports Vista, XPSP2, 2000 (but ONLY with IE6, no Firefox), and OSX for Intel -- no PPC for version 2. Neither supports anything else such as Linux, BSDs, phones, etc. And, no, it doesn't cut it to say "Oh, Mono's working on it and maybe they'll have a version eventually"... they don't have one, and it's vaporware until they do.
I like Ruby, but honestly, Silverlight is just another mechanism for Microsoft to try to lock out their Linux-based compeitotors.
A strongly typed language is much less vulnerable to injection/overflow issues because it won't try and play with anything that doesn't match its strict criteria. A weakly typed language, when presented with something that doesn't "fit" will try various methods to make it fit, and this has serious security implications.
Ruby is weakly typed, and dynamically typed, which means, as a programmer, you have a huge amount of freedom in what you can feed into a variable. It also means that you can effectively give it any input maliciously, and it will try and do something with it instead of rejecting it.
Java is the opposite. It will not accept data that does not match the variable declaration, and it will not allow variables of different types to interact without an explicit cast.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
Port a language with better scalability
Ah, yes. Scalability in a client-side scripting environment. For the times when a browser has to be able to handle requests from thousands of users at once!
Tweet, tweet.
they basically say 'make room for arax whilst you are on ajax', and while representing all our data with XML, and client side scripting with ruby, AND, on microsoft's silverlight to boot !!!
let me give you a heads up. the usage for even ajax is very low, because it is a pain in the ass to develop them (therefore costly) and maintain/update them, limiting its usage to big boys like google, facebook, whatever and buzzword enthusiasts. the general audience for web development is refraining from them because they do not have the resources to allocate to 'on the fly' updating of a web page slot instead of having to submit the page or whatever, because they have more functional stuff they need done other than thingamajig.
ruby ? as with ajax -> client side scripting = trouble. security programs shun them, they are prone to being exploited for malicious purposes, you have to work your butt off to make sure that most of your visitors' browsers, AND even pcs display them, because a pc with a rather crowded load on its system tray (being loaded of a medium amount of resident programs) and a few normal programs open can get locked up during a client side scripting hammering from your web site. name your pick.
im not even gonna comment on siverlight. while php is around, sorry ms, but fat chance. even 55 year old seniors living in middle of nowhere in Ohio, running small tools and gadget businesses and wanting to get their business on the web know Php, and come ask you to get a website for them in Php. silverlight ? whats that ?
XML ? it was 'the way data would be represented in future'. what happened ?
i cant find any reason for pumping the developer crowd with such buzzwords and fads other than screwing them with more books for 'new way of developing with (insert buzzword)'. which is despicable, in my opinion, for it is little short of stock market speculation.
Read radical news here
And when Microsoft sues You...
Ruby in Jails ?
this reminds me of the scene in the lord of the rings where Saruman proclaims he has successfully bred Orcs and Goblins and that crazy thing hatches out of a slimey membrane.
I love that you can assign functions like any other variable, and graft methods onto existing objects (overwriting things in some cases), but it definitely presents a problem in any sort of environment where you're not the only person who can insert code. See some of the problems the Greasemonkey folks had to worry about.
These problems aren't insurmountable, but I don't think you'd see them in C++ or Java.
Tweet, tweet.
Sorry Ruby fans, the problem with this is that it is intended to add "distinction" to MSIE. OK, how is that a bad thing?
Microsoft's monopoly control over personal computers allows it to do things that other companies couldn't do.
If they introduce this on their monopoly platform, then web site designers who drink the MS koolaid start using it. Violla! anti-competition, people HAVE to use Windows to use those sites. Unless and until Firefox, Safari, or Opra support this brain dead feature.
Any other company, with REAL competition, would make its support for the standards better, not try to introduce new standards.
The web is supposed to be based on standards by which *everyone* can communicate. Microsoft has been trying to use its monopoly position for too long to stop this and proprietize internet protocols and formats. This is just one more attempt to build even more lock-in to IE.
This time they are using gung-ho Ruby developers to help them. I hope, but am not confident, that the ruby guys see the trap.
ruby ruby roo!
stuff |
Lets face reality. There are people who LOVE Perl, and those who tolerate it. Those who love traditional languages like C/C++/Java tend to hate Perl. Those who LOVE Perl tend to dislike C/C++/Java etc.
JavaScript and PHP (aside from being scripting languages) are very C like in their syntax.
That's why such a huge number PHP/Java developers jumped ship over to Ruby - Ruby gave all those Perl developers a new (and seemingly socially acceptable) outlet.
Back to the original story though.... MS will do to Ruby what MS has done to Java (J++), JavaScript (JScript), and HTML : Embrace, Distort, Split.
The game-plan is to recapture market share by luring developers to the Windows Platform and then perverting the language so that developers get frustrated trying to develop for two different standards (MS 'standard' vs the 'open' standard).
Ultimately this becomes a market-share vs purity contest and while (thankfully) the OS community has been able to challenge MS - MS almost always has the market-share force.
-CF
In other news Redmond Washington was bombed by the US Air Force today. President Bush is quoted as saying, "they had allied themselves with ARAX"
Ajax has always been second-best to Achilles, the greatest hero of the Trojan war. In other words, the only thing better than Ajax would be Achilles (maybe Asynchronous C or Haskall In Lisp List Extensible Style).
Who was this Arax fellow? What wars did he fight in?
LedgerSMB: Open source Accounting/ERP
This does bring up an old question of mine... how come no one has made a Python plugin for web browsers, like Java has?
Just think how much more awesome projects like TurboGears/Pylons could be if you could run Python on both the client side as well as the backend.
Where's APAX when we need it?
"A truly wise man realizes he knows nothing."
Ruby
rails
Ruby on rails
Soap
Ajax
Ajax soap
Python
Perl
Java
Is it any wonder normal people think we're strange? (Ignore the rest of this comment, as it presently has too few characters per line (currently 8.5) but thankfully I can paste slashdot's retarded "error" message in the comment to correct this travesty)
mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
I don't get the negative vibe here, I guess it is the "I hate .NET" thingy.
.NET libraries (lots of crossplatform compatibility thanks to Mono so also on Linux) that makes life easy.
I really think this is awesome. Silverlight and it's linux version Moonlight provide clientside support for Ruby, Python, C# etc. You can pick the language you want and don't need to use javascript. That's great for some people, cause it keeps the different languages down and you can do more interesting stuff client side, like heavy calculations before sending data to the server or whatever.
Also you have acces to a lot of
And yes, I am a fan of C#, don't like microsoft that much, and my pc's all run Linux. Mono ftw.
Ruh Roh!
My other sig is extremely clever...
I made a fan website for pics of Orcs and Goblins bone'n .. in Ruby!
Touché!
This time I'm gonna shoot the guy who came up with the acronym. No, honestly, I'm gonna F*CKING BLAST HIS HEAD OFF WITH A 12 GAUGE SHOTGUN! This is no f*ckin' joke, man, I'm gonna kill him. I swear. Where's he at? Where you at, hu? Show yourself. You ain't gonna come up with no g*ddamned hairbrained acronym no more, I swear.
SHOW YOUR FACE, MOTHERF*CKER!
We suffer more in our imagination than in reality. - Seneca
The JVM actually has an installed user base ( even if it is only marginally greater than Silverlight's) and the support for ruby on the JVM (via jruby) is much more mature than Ironruby. Not only that, but you can use any of the languages supported by the JVM in your applets. Sun's really pushed heavy optimizations into their latest browser plugin JVM.. I wonder if applet's will finally see traction ? (err. no I don't really.. I just find it sad that they seem to finally get it right when they don't really have a chance...)
Wouldn't it be cool to have dozens, or even hundreds, of languages that run inside the client, thus insuring that it would be full of security holes until the end of time?
No. No it would not.
ECMAScript 4 will be a modern language in all senses of the word. It will support optional type annotations, destructuring assignment, generators, convenient inheritance, and all the other trappings of a modern language.
With ECMAScript 4, the advantages of running anything other than Javascript fade away: you still have all your Ruby/Python/Lisp features, just spelled differently.
And from the browser point of view: would you rather create a generic scripting framework or add one language and be done forever?
Also, instead of trying to compile languages to MSIL, why not just write a source-to-source translator to Javascript? Isn't that what some people do to Java these days?
Not too sure what M$ is pushing here. A ruby interpreter running in your browser? MRI Ruby isn't exactly shit hot on performance. I imagine this would run on IronRuny. If so, IR's performace is much slower than MRI's.
I think MS has missed the boat again. Gone is the era of doubling CPU speed every x months. Moore's law will no longer save their bloated, vendor locked, single platform .net cruft.
A weakly typed language, when presented with something that doesn't "fit" will try various methods to make it fit, and this has serious security implications
Um, what? I'm not sure you actually know what is is of which you speak, kind sir.
Sounds like you just don't like weak typing. Weak typing just means the compiler or interpreter handles types for you, they're actually still held in the proper variable type, it's just that you don't have to do the assigning yourself.
Sure a bad compiler/interpreter wouldn't handle this right, but then that's just bad coding, and almost certainly wouldn't get widely used anyway.
A learning experience is one of those things that say, 'You know that thing you just did? Don't do that.' - D. Adams
Ruby in IE (by itself) as an alternative to javascript would have been a decent idea, something worth copying into Firefox etc..
But instead they built it into Silverlight. Oh well.
And here I thought that most "AJAX" implementations these days were actually "AJAJ" using JSON because it's faster and lighter weight than XML. So maybe we should be looking for ARAR with some sort of "ruby object notation" format to be created...
Bottom line, developers gave up on them a long time ago and MS doesn't get it. MS is out of their depth here. Not only are they late to the game with RIA, they don't even understand how to usefully implement it. They are lost and are now taking wild arbitrary stabs in the dark to get anyone to care. I'm sure more spectacular and nonsensical claims are to follow from them. BTW - AMF solved the problem a long time ago.
Do you really want to just let some web site run some ruby code? It seems a little iffy to me.
I think what I'd really like to see is something that provided some mechanisms for packaging that kind of code and removing it from the x/html a little more. Like maybe a signed zip file or something. There is sort of 2 growing classes of javascript, one is the button jumping stuff on a page but the other are these growing javascript frameworks that more and more are relying upon. It could be nice to download dojo_ver_x.y.z have it's signature verified and maybe it could be cached across multiple websites at that point.
point 1:
/golf clap
Hopefully I'm not the only one that can see the humor in a Web 2.0 technology based on a Japanese programming language, which is called ARAX.
point 2:
Now that Microsoft is embracing, extending, and likely patenting it, we can look forward to 10 more years of broken browser compatibility.
You've got to love Microsoft. They keep us employed even if we don't use their tools.
-r
Don't kid yourself. It's the size of the regexp AND how you use it that counts.
Why not just run JavaScript on the server and save the context switch that way.
It downloads and executes all forms of data from the Internet -- scripts in all languages, images, sound files, virtual machines, even x86 executables in every known executable format. It will be the most flexible web application platform ever built -- anything will run on it whether you want it to or not.
I'm thinking about calling it "Internet Explorer".
Help stamp out iliturcy.
How about ACAX - Asynchronous COBOL and XML. If you allow one, you need to allow others. ALAX - Asynchronous Lisp and XML. Hell, why not AXAX - Asynchronous XML and XML. I'm just trying to find an acronym for ABBA now...
Table-ized A.I.
Love sees no species.
MS is acutally doing soomthing pretty cool with Silverlight 2, in the sense that any .Net language can now run in the plugin.
.Net in the sense that many different languages are compiled down to a common intermediate bytecode. Why not replace the javascript engine (spidermonkey/tamarin) with Parrot (or something similiar) that can run a script in ANY language? This is esentially what MS is trying to do with silverlight and its actually a pretty good idea.
.Net only thing. But Parrot supports lots of traditionally open source languages.
JavaScript is standard now and "good enough" for lots of things, but it would be great to be able to script ANY language to run in the brower. Parrot is sort of similiar to
Moonlight wouldn't fit this completely because it is still a
You don't want to get in the middle of "type" arguments. They go on forever and ever and nobody will agree in the end. It's like the vi versus emacs arguments. Stay Away unless your fingers need a big workout. You've been warned.
Table-ized A.I.
So far everything I've seen that was at all "special" about Ruby is available in just about every other language via helper classes (like Integer for ints in Java) and perhaps slightly less graceful structures like callbacks (just look at jQuery, for example.)
Usually the reason I've picked a language to do a job has had nothing to do about syntax. The three biggest factors have always been: what do I already know, what has the best performance, and what can be developed quickest? It's always a balance of those 3.
I'll never use Ruby until it's supported widely enough, matured enough, and provides me with some reason to bother learning its API.
Considering I'm already intimately familiar with C, Java, PHP, and SQL, I think hell freezing over is a safer bet. In my limited observation, most of the people who tout Ruby as the future have never extensively programmed in another language (except maybe a handful of people who coded in the much older languages similar to Ruby.)
I especially love it when somebody claims to write a web server in 10 lines of Ruby... and all it took was using a 10,000 line library and a however-large interpreter. I'd like to see that stand up to a slash-dotting. Puh-lease...
Move all sig!
I don't suppose I have to tell anybody on this thread that this is just a case of a man in a trench coat offering candies to children while his 1972 buick idles in the background with rope and chloroform sitting ready in the back seat.
rootsmith Inc.
Because Ruby on Rails developers will not have to switch to JavaScript in order to do AJAX like stuff.
.NET, but Silverlight in order to take over the Flash market. The funny thing is that Flash is probably peeking in popularity. The problem is one of the shear diversity of web browsing platforms that will be coming out soon. The iPhone is just the first such device, and already sites are removing flash from their webpages in order to make them iPhone compatible. Yes, Adobe is going to release flash for the iPhone, but what happens when Android comes out? Is Adobe really going to build flash for each and every version of an Android handset? They simply don't have the resources. Microsoft will find the same situation with Silverlight. They simply won't be able to support all the platforms that people want to use.
One of the problems in Web Development is using one language for the back end (whether Java, Ruby, or PHP) and then when you need some asynchronous action on the client side, you have to switch your syntax to JavaScript. It can be a bit of a pain. It's not that you may not know both JavaScript and Ruby, but that you have to keep switching between the two and that can make brain hurt.
I take it that Silverlight will be doing the "ARAX" side of things. It's actually a neat idea. You can use a single language for both the Client and Server side, but where JavaScript is built from the ground up to live inside a webpage, Ruby isn't. I guess that's why there's IronRuby which will be a bit more "JavaScript" like.
The big problem is that the Ruby interpreter will be Silverlight. Where as JavaScript is built into WebKit, an open source project, Silverlight is proprietary. If you create a new web browser, you can easily adopt WebKit and get a standardized JavaScript implementation. With ARAX, you're either going have to role your own or depend upon Microsoft to create a Silverlight interpreter.
The whole thing is to push not
In the old days, this was okay because it brought people into the Windows world. But, as people move from the desktop, Windows isn't the end all/be all platform it use to be. People like their iPhones and iPods. People will start buying Android based stuff. Symbian and RIM both are larger platforms. Windows Mobile is a distant fourth in sales this year. Measured in licenses, Windows Mobile is still more popular than the iPhone, but that doesn't include all the devices laying in some drawer gathering dust. Assuming a 2 year average product lifespan, Windows is fourth behind the iPhone which hasn't been out for a year yet. Can Microsoft (or is Microsoft even willing) to put Silverlight on all the various platforms out there? If not, developers just won't use ARAX.
All client-side scripting languages, embedded objects/plug-ins, and table-less CSS should be avoided, if at all possible.
Now, I will say that the CSS rendering engine in modern browsers is a LOT better than say, 8 years ago. However, the rest of the facts remain the same, imo.
The Web2.0 era (read: error) has yet to accept these realizations, and continues to resist the reality. I'm all for user experience and interactive dynamic content, don't get me wrong, but the manor in which these technologies overlap and compromise security, as well as performance, really should be addressed further, before branching-out and extending such problems.
the only permanence in existence, is the impermanence of existence.
Um, I think most of the comments so far are missing the big picture. It doesn't matter what languages are used on the client or the server. The big win for AJAX has been that it doesn't require any browser plugins. The language used is irrelevant. When you develop an AJAX application, it runs in the browser without any special client-side extensions. "ARAX" requires Silverlight, which means you have to download the Silverlight plugin, which isn't available on every platform, and if you're delivering to the public Internet you can't count on that plugin being installed, and you're chained to Microsoft's world, etc. etc. etc.
Microsoft doesn't understand (or does understand, but refuses to admit; or simply doesn't like the fact) that the big win for AJAX is that it runs without browser plugins. No thank you. I'll stick with AJAX.
Tired of FB/Google censorship? Visit UNCENSORED!
This space for rent.
Though Java-centric in nature, the JVM provides a secure sandboxed environment to host numerous languages including Ruby, Python, Lisp and even JavaScript. Throw in Groovy and Scala for home-grown alternatives.
Thanks to the efforts of IcedTea (principally funded by RedHat) and others, Java 6 will be fully GPL by the end of the year.
Another non-standard scripting implementation that only works with one particular browser. Didn't anyone learn from vbscript?
#DeleteChrome
If applets are so hot, then why did javascript come about? Why have SpiderMonkey and js when you could have so much more with the JVM and java? Its because they do different things. The JVM is not integrated into the browser like SpiderMonkey. The applets running under the JVM are still seperate from the browswer. The browser just hosts the applet, but doesn't seem to really interact with it. JVM/Applets seem more seperate than even Flash or Silverlight (although, from a security standpoint that might be a good thing). Also, applets have always acted a bit clunky, slow, and ugly. Ugly and slow is why flash took off and applets largely faded into non-use. Clunky and slow is why JS beats java for client side interaction.
BTW, I've never seen anything run in an applet beside Java.
I would like to see an integration on the level of JavaScript where Parrot (or something like it) is a part of the browser and interpreted along with the markup and can interact with the DOM like JS does. Applets are just too "sandboxed".
What is disgusting me in this thread is the numerous people 1) bashing Ruby who have clearly never worked with it, 2) attacking the MVC paradigm for web apps (which is not even Ruby, that's Rails) who have clearly never actually used it for a Web app, and 3) basically all you assholes who are armchair critics without having actually gotten your hands dirty. Please STFU.
I hope you don't program Ruby like you post
“Common sense is not so common.” — Voltaire
Why do you need to replace the JavaScript engine to do that? If you've got an engine like Tamarin that uses a separate JavaScript compiler and VM, you already have something like Parrot: all you have to do, like Parrot, is build the compilers for your other languages for the VM.
Its also essentially what Mozilla/Adobe are trying to do with Tamarin. Its fairly fundamental to the idea of "browser as platform": a platform that supports only one language isn't much of a platform.
Implicit type conversion is problematic, yes, but dynamic typing doesn't entail implicit conversion. Those are orthogonal design choices.
Implicit type conversion is when a language performs a type conversion in a context that would otherwise result in a type mismatch error. For example, in C, there are implicit conversions between numeric types; if you add an int to a long, the int gets implicitly converted to a long. In Java, there is an implicit conversion from objects to strings in the context of the string append operation; if you append a string to an object, using the '+' operator, the language implicitly converts your object to a string using the toString() method.
Those both are statically typed languages, so you see, this just further shows that dynamic typing isn't the problem. A dynamic language can refuse to perform implicit type conversions just as much as a statically typed one.
The problem with type conversions that you're talking about, doesn't have to do with dynamic vs. static typing; it's about execution of arbitrary code at runtime based on input values. Many implicit type conversions make it easier to exploit such programs. It's irrelevant whether the code with the malicious stuff injected is given to an interpreter or compiler, or whether the generated code's language is static or dynamic. If you allow the attacker to execute arbitrary code, the attacker takes over.
Are you adequate?
I work on the SIlverlight team (on the media side): on10.net/blogs/benwagg/
Really, that Ruby on Rails works in Silverlight is more a nice testament to the flexibility of the Dynamic Language Runtime in Silverlight than any big strategy on our part. Silverlight is an extremely flexible platform, and people can do all kinds of interesting things with it that we never thought of. I expect that the bulk of code written for Silverlight 2 and later will be in C#. But I'm always happy to see the new stuff people are coming up with inside Silverlight.
I think a lot of people start out thinking of it as "just another media player plugin" but the power of fast runtime is opening up a whole lot of neat stuff. I can't wait for 8/8/8 and NBC's Olympics coverage to start. I think it'll really raise the bar for what video on the web should be from both a quality and an interactivity perspective.
Anyway, Silverlight 2 Beta 2 and its associated SDK just launched today as well, for anyone interesting in playing around with it. https://www.microsoft.com/downloads/details.aspx?FamilyID=ba7b510d-0646-4d06-9834-cb82d669872a&displaylang=en
My video compression blog
Of course this is anectodal evidence, but almost everyone I know has installed Java while I know no one who has installed Silverlight.
Welcome to /.
This has nothing to do with Ruby or JavaScript. The business model behind .NET is to attract all developers to all use Windows (until I actually stumbles across a major site using Mono/Moonlight/RoR - they don't matter). So what if you use Ruby for Silverlight? You've just proved Silverlight is a greater platform than RoR. Once you start to program for Silverlight and .NET, why would you bother with Ruby? The divided opinions on Slashdot alone is music to MS's ears.
Every tech heavyweight tried to kill JavaScript - VBScript, JScript, ActionScript, Applet... I for one am glad there is one neutral language that not only survived but thrived on competition and grew with the Web over the decade, and isn't some 'standard' promoted from MS or Sun, nor is it simply a Cool Language du jour like Ruby. Wait til the next coo scripting language comes out and see if Ruby will outlast Tcl.
An elephant can bleed for 5 days and still does not die, and is one of nature's greatest creatures.
The problem with JavaScript has nothing to do with the language itself, the problem is that no two browser implement it quite the same way. Adding another language that's only supported in a proprietary and still not very widespread plugin isn't going to help that one bit.
Browser compatibility aside, JavaScript is actually very solid and is a great language to program in for people who actually bother to learn it (unless you are really stuck up about static typing or class based OO, in which case, sorry...) Why so many people work so hard in trying to convert Ruby or Java into JavaScript (e.g. RJS or GWT) or make JavaScript look like a language that it isn't (e.g. ASP.NET AJAX) rather than just learning the damn language I will never figure out.
This of course brings me to JavaScript's second biggest problem - it's users. Why is it that JavaScript, apparently alone among languages, can attract so many programmers that have absolutely no desire to even try to learn the language? I've heard people who programmed professionally in JavaScript for years claim that it doesn't support inheritance. In any other OO language that would be the sort of thing that a new programmer would learn in the first week. Most experienced programmers when learning a new language would sit down with a book or a quickstart guide or tutorial of some sort and learn at least the basics of the language before they tried to take on a meaningful project, but apparently with JavaScript it's OK to just jump in and learn as little as you have to as you go along.
If I don't put anything here, will anyone recognize me anymore?
ActiveX??
Great news! Now all the JavaScript developers will join the anti-Microsoft campaign. I heard they have the biggest scripting army of all!