Slashdot Log In
Move Over AJAX, Make Room for ARAX
Posted by
ScuttleMonkey
on Fri Jun 06, 2008 12:48 PM
from the not-a-typo dept.
from the not-a-typo dept.
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."'"
Related Stories
[+]
Developers: Little Demand Yet For Silverlight Developers 314 comments
ericatcw writes "At its Mix08 Web development conference, Microsoft said that its Silverlight rich Internet application platform is downloaded and installed an average of 1.5 million times every day; Microsoft has a goal of 200 million installs by midyear. But Silverlight is at the beginning of a long slog towards gaining traction. Computerworld did a quick analysis of job listings at nine popular career sites and found that an average of 41 times more ads mentioned Adobe's Flash than mentioned Silverlight. As expected only 6 months after Silverlight's introduction, the number of programming books carried on Amazon.com was also heavily skewed in favor of Flash."
[+]
Microsoft Prefers Flash To Silverlight 306 comments
An anonymous reader writes "Microsoft still has not adopted Silverlight, and uses Flash all over its websites. 'Despite all the controversy over Microsoft using Silverlight to take over the rich internet market from Adobe Flash, the software giant seems to be not even trying. In fact, even most Microsoft web sites are using Flash instead of Silverlight.'"
[+]
Brendan Eich Discusses the Future of JavaScript 164 comments
snydeq writes "JavaScript creator Brendan Eich talks at length about the future of JavaScript, ARAX, disputes with Microsoft, and the Screaming Monkey scripting engine for IE in an interview with InfoWorld's Paul Krill. JavaScript 2, which Mozilla's Eich expects to be available in some form by the end of the year, will 'address programming in the large.' To do that, Eich hopes to improve the integrity of the language without sacrificing flexibility and making JavaScript 'painfully static in a fixed way like Java does.' Eich does not expect Firefox support for JavaScript 2 until at least Version 3.1 of the browser. As for Internet Explorer, Eich explains how Screaming Monkey will help bring JavaScript 2 to IE should Microsoft drag its heels on providing meaningful support."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Um, my browser doesn't support Ruby (Score:5, Insightful)
Re:Um, my browser doesn't support Ruby (Score:5, Funny)
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Interesting)
Can someone please tell me?
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Informative)
And because you brought up Java too, there's also JRuby, a Java implementation of Ruby.
Parent
Re: (Score:3, Interesting)
Am I the only one who sees something bad about that?
Does a plumber do electrical work? No? Then why does anyone but a programmer do programming in a professional environment?
It must be this nasty cold I've contracted, I can't seem to understand anything today.
Re:Um, my browser doesn't support Ruby (Score:4, Insightful)
Ajax (Asynchronous Javascript and XMLhttpRequest) was given a name because it was a growing trend; many decided to use it independently, and naming it something made sense. ARAX, or whatever, is just an idea a few people have. I see no trend.
Parent
And ARAX isn't as good as AJAX (Score:5, Funny)
Who was this Arax fellow? What wars did he fight in?
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Insightful)
It's more similar to Python in my mind. It's a post-Perl interpreted language that attempts to have better object-orientation while not being overly restrictive. It inherits a lot more from Perl than Python does, so you can accomplish most tasks in a variety of ways. Neither is anywhere near as rigid as Java - you don't have to catch or throw every exception, you don't have to make ten subclasses and an interface to write Hello World, etc.
I get into these kinds of discussions with my boss all the time. He looks at Java as the ultimate golden hammer, and I tend to use a variety of languages. There are a bunch of little syntactic things I love about Ruby, but in the end it's mostly a question of style, politics and library support.
Parent
Why only people like us come here (Score:5, Funny)
rails [railway-technology.com]
Ruby on rails [wordpress.com]
Soap [alleco.com.au]
Ajax [mediacrumb.com]
Ajax soap [orgill.com]
Python [animal-world.com]
Perl [unc.edu]
Java [blogs.com]
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)
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Insightful)
Now they are trying to develop proprietary technologies to compete: Silverlight and this new ARAX bull will replace Flash and AJAX. They will release some shit-hot developer tools that make it really easy to build shiny websites on the Silverlight/ARAX stack so that before long half the web is written in it. Then, ARAX and Silverlight will get proprietary extensions (new functionality! woot!) and break on non-IE browsers (got to assure that OS monopoly). They will also add some undocumented APIs so that the (subscription-based) Microsoft Apps runs faster than anything anybody else comes ups with, and boom!
Profit.
Parent
Re:Um, my browser doesn't support Ruby (Score:4, Interesting)
- easier administration for both systems as a whole and the client machines
- world wide access
- real-time collaboration
Our business runs entirely on web-based applications except for MS word, and like I said, google docs is getting there. The net is only getting faster and I can't image a single advantage of client-side software for business administration. Applications like photoshop and autocad will probably remain local for years to come, but that is a pretty small niche in the overall scheme of things.*: somebody always counters this with "but you don't control the server!!!1!" Look, no small business has its own mail server. Google's is just as secure as Joe Blows ISP.
Parent
Re:Um, my browser doesn't support Ruby (Score:4, Insightful)
- Trident (ie7): 13
- Trident (ie6): 6
- Gecko: 75
Opera and Safari are of course, disqualified as they hacked together 100 scores.I tinker with JS a bit, and things like attaching event listeners, getting first children, getting attributes, getting values, getting the URL, basically everything DOM related has to be treated differently in IE.
Worse, XMLHttpRequest, the very core of AJAX, is broken in IE7, but not IE6.
I am sorry, but you are wrong on that count. I guess if you call horrible to slightly less horrible an improvement, this is a good thing.
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Interesting)
The most important thing that Ruby has done, in my mind, is to make blocks, closures, and runtime metaprogramming mainstream. So while the syntax may not add much, the language features add a hell of a lot. After writing code in C and Java for a number of years, switching over to Ruby took me all of a week.
That being said, the supposed productivity gains are mostly hype, because you end up spending the time you gained in writing the code to begin with having to write a lot more integration tests to ensure correctness for things that the compiler deals with in a typesafe language.
Rails has been pretty important insofar as it's given a kick in the ass to a bunch of other languages. I agree though that the implementation is a bit of a nightmare, and the lack of built-in dependency injection is a hassle.
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Interesting)
The only thing you mentioned was scalability.
Personally, I find the MVC pattern applies to web apps wonderfully. Being able to "plug and play" views is far more helpful in the web universe than it is in rich client programming.
I can create a default view, lately that's been a standard XHTML interface with Ajax, usually leveraging the ext.js library.
And I also create a simplified HTML-only view for graceful degredation on clients that are not using JavaScript.
And a view for mobile interfaces.
On "data grid pages" I can plug-in a view that outputs the data in XML or Excel format.
For reporting I can create a view for an on-screen HTML based report, or I can plug in a view that displays it as a PDF or, again, XML or Excel.
Meanwhile, I only create the data models and controllers once.
This is FAR easier and faster to create and maintain.
And in todays world, unless you're a top-1% web destination it's a FAR wiser move to optimize for development time and cost than it is to optimize for the machine.
Adding a server is much cheaper than adding a developer.
Believe it or not, I'm not a fan of Rails. I'm especially not a fan of ActiveRecord. In ruby, DataMapper is a much better Db layer than is ActiveRecord.
But to denounce Rails because it's MVC? I'd love to hear why you feel that way.
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Informative)
That's nonsense.
If for no other reason than the fact that displaying a page often involves some real work. Some real heavy-lifting. Often far more than just a couple database queries being fed into a grid or report.
OOP brings order, structure, reuse and quality control to large, complex systems (and website/webapps can certainly be very large and very complex) That's true no matter what context it's being used in, web, rich client, whatever.
Yes, there is overhead involved in creating objects. But even in your worst-case scenario where there is no shared state, the overhead is hardly a deal breaker: It's far better to optimize for the developer than it is to optimize for the machine. Unless you're working on a website in the 99th percentile of traffic, you probably don't have a lot to worry about.
Further, your scenario IS worst-case.
For example, we have an in-house framework. It's not all that different than the ones you've seen. Take, for example, a simple web form:
You instantiate the data model (need to pre-populate the form), you instantiate a webform object, which is view-tier and is just a widget that binds to a data model and presents an HTML form.
When that form is rendered in HTML, the webform object and the data model it binds to are serialized and stored in the session.
When the user submits the form the front-controller will look at the formkey submitted with the form and unserialize the form and model objects. It pulls the values from the HTTP Post into the data model and they're validated and saved.
This is nothing revolutionary. It's not even complicated. And it's just one of a dozen ways to overcome the no-shared-state problem.
The idea that OOD is "degenerated" in a web environment is ludicrous. Procedural development is a thing of the past. The idea of 1 page : 1 script that runs from line 1 to line n is just not adequate for MOST modern web apps.
Todays systems are not your mothers web applications. We're doing far too much on the web. Applications the size of the web applications that are written today would collapse under their own weight if done procedurally.
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Insightful)
HTTP is stateless. So is UDP. Does that make every online game that uses it stateless? The web is not a protocol.
Parent
Re:Um, my browser doesn't support Ruby (Score:4, Informative)
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Funny)
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Insightful)
Parent
Re:Um, my browser doesn't support Ruby (Score:5, Funny)
Parent
Re:Um, my browser doesn't support Ruby (Score:4, Informative)
Parent
Re: (Score:3, Funny)
Look at ol' MS (Score:4, Interesting)
Doing a little something for developer mindshare. But then this is really just a way to push .NET.
Questions:
Re:Look at ol' MS (Score:4, Informative)
Parent
Re: (Score:3, Interesting)
What's malicious about it? They're not going to be able to kill Ruby by adding it to Silverlight.
I have no doubt that AJAX works just fine in .NET, but nothing gets developers more excited than a surplus of options. Even if the options don't add anything other than choice.
It will be interesting to see how much traction IronPython and IronRuby are able to get with non-MS devs. I have no experience with Ruby and only a little with .Net and Python, but I keep hearing about these integrations in places I le
Re: (Score:3, Interesting)
Ajaxcontroltoolkit is nice, but far from complete.
Lots of things I have to do with JScript/JavaScript
There are other frameworks that help with Ajax, but at the end of the day, you need to work with JS.
Not only... (Score:3, Informative)
Hmmm... (Score:5, Funny)
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.
--JoeUse arax, raggy! (Score:5, Funny)
Re:Use arax, raggy! (Score:4, Funny)
Daphne: It's old man Gates from the haunted software company!
Velma: We figured it out after unraveling the clue - Mr. Ballmer was responsible for the ghostly floating chairs!
Bill: And we'd've gotten away with it too! If it weren't for you meddling script kiddies!
Parent
ARAX? (Score:4, Funny)
Learn JavaScript? (Score:4, Interesting)
Why Ruby? (Score:5, Interesting)
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.
Re:Somebody update NoScript. (Score:4, Insightful)
Parent
Re: (Score:3, Insightful)
I can see 75% of Slashdot talking out of their ass on this one.
Scalability? (Score:3, Insightful)
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!
Re: (Score:3, Interesting)
Not only that, but they're not adding a language that's significantly different. They're not adding Java (which Google might appreciate) or C/C++, they're adding Ruby, which is a language very similar to javascript (certainly more similar than JS or Ruby are to Java and their ilk). Port a language with better scalability and modularity, not more of the same.
Unlike Javascript, C++, Java, and Ruby all support encapsulation, built in inheritance, and explicit class declaration. Unlike Javascript, Java and Ruby are strongly typed. Even though Ruby supports duck typing, it still uses the explicate conversion similar to what is required in Java whereas Javascript uses implicit conversion. The closure in Ruby is one of its major strengths. Javascript can at most use anonymous functions. Having extensively used all of the languages you mention, Javascript really appe
Re:Somebody update NoScript. (Score:5, Interesting)
Parent
Re:Somebody update NoScript. (Score:5, Informative)
Strong and weak are often confused with dynamic and static. They're orthogonal concepts.
An example of a weakly statically typed language would be C. You have to declare the all the types, so you know what type you're dealing with compile time, but a boolean can be treated like an integer or a pointer. An example of a strongly dynamically typed language would be Lisp. You don't have type declarations (well in Common Lisp they're optional), and you don't know the type of a variable at compile time, but a list cannot be treated like a number.
You do get dynamically weakly typed languages, like PHP. You also get statically strongly typed languages, like Haskell. Assuming that strong and static are the same thing, or that weak and dynamic is the same thing, is a big mistake.
Parent
Re:Somebody update NoScript. (Score:5, Interesting)
Dynamic type conversions are a pretty common way to exploit SQL injection holes and circumvent input validation.
Parent
Re: (Score:3, Insightful)
http://mindview.net/WebLog/log-0025 [mindview.net]
look more closely at TFA... (Score:5, Informative)
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
Parent
Re:look more closely at TFA... (Score:5, Insightful)
Parent
Re:Move over ARAX (Score:4, Funny)
I've put together a language and framework.
I call them Diamond and Diamond-On-Wings.
They're not very good... rather cumbersome and don't scale very well, but they give you something flashy with only 3 lines of code, and I've got a ton of amateur developers who haven't learned well enough not to use it yet on board.
Can I have a blowjob too?
Come on... Developers, Developers, Developers!!! and all that jazz...
On your knees, fat man!
Parent
Re:This time (Score:5, Insightful)
Are you a troll (perhaps even a shill) or just a schmuck? There's nothing seriously wrong with Javascript as a language, only with specific implementations, some of which are actually quite good these days.
I'm guessing you are just a troll, but I don't want anyone to think you're right or anything and I have a little time on my hands :P
Parent
Re:This time (Score:5, Insightful)
His argument was against your assertion that 'everybody thinks javascript just doesn't cut it for current web apps'.
This plainly isn't true as lots of people are actually very impressed by the javascript language, and just a bit frustrated that IE6 / IE7 / IE on Safari work so differently to everything else. For internal work I just ignore IE, and target Firefox only.
Even Joel has praise for javascript - take a look at his 'Can Your Programming Language Do This?' article at
http://www.joelonsoftware.com/items/2006/08/01.html [joelonsoftware.com]
A better option than Javascript would be great, but Ruby hardly looks like the best option. A much better use of time for Microsoft would be making their Javscript engine for IE more standards compliant.
Parent
Re:This time (Score:4, Insightful)
Why is this good to run Silverlight?
Running silverlight on anything non-windows is like shoving legal issues up someone's ass and waiting for them to cough out the settlement.
Ruby on rails also seemed to work just fine without siverlight...and as comments show, more languages in the mix is not a good thing.
So yes, people are trashing MS because there is something wrong with this. If MS did anything right, we wouldnt' trash MS, we'd praise them. In this case, as usual, they haven't done anything right. I'd be glad to praise MS if they actually did something that wasn't underhanded, but when was the last time you can recall them doing that?
Parent
Re: (Score:3, Insightful)
Not cool as in hijack something cool and do something that ties it to their latest thing...
Not useful as in only works in the next version of their system, if you have their modified version of Ruby and IIS and use Internet Explorer
So this is another way to break all the other systems
Re: (Score:3, Insightful)
Re:Do we really need this? (Score:5, Funny)
Parent