Slashdot Mirror


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

409 comments

  1. Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 5, Insightful

    Does yours?

    1. Re:Um, my browser doesn't support Ruby by Reverend528 · · Score: 4, Funny

      Last week they embraced ruby. Now they are extending it. I can't wait to see what they'll do next!

    2. Re:Um, my browser doesn't support Ruby by stoolpigeon · · Score: 5, Insightful

      Not only that - my platform doesn't support silverlight.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    3. Re:Um, my browser doesn't support Ruby by bsDaemon · · Score: 5, Interesting

      If they extinguished it, who would notice? Seriously -- I'm not trying to troll. WTF is Ruby and what is so great about it? It just seems like Java for people who hate Java from what little research I've done on it, but it also seems to be very popular (of course, hating Java is popular, too).

      Can someone please tell me?

    4. Re:Um, my browser doesn't support Ruby by SatanicPuppy · · Score: 4, Funny

      I'm not seeing a problem.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    5. Re:Um, my browser doesn't support Ruby by hansamurai · · Score: 5, Informative

      It's a scripting language that was under the radar until Ruby on Rails came around. Rails is a well done framework for Ruby that opened up the language to the masses.

      And because you brought up Java too, there's also JRuby, a Java implementation of Ruby.

    6. Re:Um, my browser doesn't support Ruby by SatanicPuppy · · Score: 2, Interesting

      It's like java, but not as fast, secure, or scalable.

      It's syntax is "intuitive" which would mean good things if you were someone off the street, but for the rest of us who've spent decades working with languages that are basically C syntax, it's a p.i.t.a, and the syntax doesn't really add anything.

      Rails is a cool new idea, but the implementation is horrorshow; Django got a later start and is already ahead in performance.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    7. Re:Um, my browser doesn't support Ruby by catmistake · · Score: 4, Insightful

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

    8. Re:Um, my browser doesn't support Ruby by happyemoticon · · 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.

    9. Re:Um, my browser doesn't support Ruby by DragonWriter · · Score: 1

      There are at least two Ruby-on-JavaScript (HotRuby, IronMonkey) projects I know of, the former of which has a working, limited Ruby 1.9 bytecode interpreter running on JS.

      So, if your browser supports JavaScript...

    10. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      think redo of smalltalk by perl hacker that wanted it to be as beautiful as python.

      aoeu

    11. Re:Um, my browser doesn't support Ruby by nuttycom · · Score: 5, Interesting

      Its syntax isn't like C? Cry me a river. Sure, the syntax could have been made more c-like (braces instead of do/end - and you can use braces if you like anyway) but the syntax isn't where you get the benefit of ruby.

      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.

    12. Re:Um, my browser doesn't support Ruby by Doctor+Faustus · · Score: 1

      It just seems like Java for people who hate Java from what little research I've done on it, but it also seems to be very popular (of course, hating Java is popular, too).
      More like Perl for people who hate Perl. It has most of the same strengths, but isn't remotely so hideous.

    13. Re:Um, my browser doesn't support Ruby by bsDaemon · · Score: 1

      I thought PHP was Perl for People (who) Hate Perl

    14. Re:Um, my browser doesn't support Ruby by WED+Fan · · Score: 1

      Did you try to read even the summary? Don't worry about RTFA, try reading the summary before trying to get that first post.

      --
      Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
    15. Re:Um, my browser doesn't support Ruby by an.echte.trilingue · · Score: 5, Insightful

      Microsoft knows that web applications will soon threaten their client-side sales model. They also know that places like Google have enough of a head start in the AJAX world that they will never catch up (tried google apps lately? It is really getting there, especially if you do a lot of collaborative work). This is why IE's javascript standards compliancy still sucks balls even though its CSS support isn't bad: they want to make life hard for people trying to develop in AJAX.

      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.

      --
      weirdest thing I ever saw: scientology advertising on slashdot.
    16. Re:Um, my browser doesn't support Ruby by ShieldW0lf · · Score: 2, Interesting

      Rails isn't cool. It's a poor concept from the word go. They make the thing so damned weighty in their blind adherence to the flawed premise that just because MVC is a good model for desktop applications, it's a good model for everything, and that single premise is an insurmountable barrier to good performance.

      Fact of the matter is, MVC is a piss poor model for stateless client-server applications, but it's not till you've wasted your time building a solution in this fashion and watching it fail to scale that you realize that.

      --
      -1 Uncomfortable Truth
    17. Re:Um, my browser doesn't support Ruby by moderatorrater · · Score: 2, Funny

      but in the end it's mostly a question of style, politics and library support. Yeah, I see Obama as a Ruby man myself, whereas McCain is a C or C++ man. Ruby's cool, trendy, and somewhat revolutionary, but it's unproven and may have problems scaling beyond small to medium sized bases. The ideas all seem to be right, but nobody knows if they'll work in the real world.

      C and C++, on the other hand, have been around forever, they're old and stodgy, yet you know where they stand and how things are going to work out. You're not going to get anything revolutionary out of them, and you're not going to be able to get a story on Slashdot and other news sites about this awesome new thing that you couldn't do the same way in another language.
    18. Re:Um, my browser doesn't support Ruby by Ajaxamander · · Score: 0, Offtopic

      "Horrorshow" is Clockwork Orange slang for "Awesome..."

      Perhaps you meant "horrible?"

    19. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      A small correction for you -- It's not like Java; it's like Smalltalk. Its performance does tend to stink; I'm not sure about security aspects. Granted, you can't run it in a classloader jail, but who does that with their Java except for lame web applets?

      Personally I've really enjoyed working with Ruby, but I've never used it for the web...

    20. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0, Insightful

      Rails. Is. Not. About. Being. Fast. Secure. And. Scalable. It's about pretty and maintainable code, and being the shortest route from idea to finished webapp. Rails is widely considered as the best framework in the world for doing just that.

    21. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Not only that - my platform doesn't support silverlight. May I ask what your platform is?
    22. Re:Um, my browser doesn't support Ruby by sm62704 · · Score: 2, Interesting

      Rails is a well done framework for Ruby that opened up the language to the masses.

      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.

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    23. Re:Um, my browser doesn't support Ruby by Jesus_666 · · Score: 1

      If they extinguished it, who would notice?
      Japan.
      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    24. Re:Um, my browser doesn't support Ruby by Jugalator · · Score: 3, Informative

      Does yours? Who cares about that. It runs in Silverlight. It's whether your browser supports the Silverlight plugin that matters. IE does, Firefox on Windows (2, not yet 3) does, Opera does inofficially (to be official in the future), Safari on OS X does. Firefox on Linux is WIP and a Mono project.
      --
      Beware: In C++, your friends can see your privates!
    25. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Just a little nitpick, Django was originally written as a closed source application for the Lawrence Journal-World before Rails was created, however, it was only open sourced after Rails.

    26. Re:Um, my browser doesn't support Ruby by mythras · · Score: 3, Funny

      Does this mean my new ARAX sites will be as reliable as Twitter? If so, I'm gonna need to extend the minutes on my on-call cellphone plan.

    27. Re:Um, my browser doesn't support Ruby by morgan_greywolf · · Score: 1

      Django's templating engine is a bit too baroque for me, though. Of course, I don't like anyone else's templating engine either, so the fact that Django works with other templating engines really doesn't help me much.

      Maybe I should just write my own.

    28. Re:Um, my browser doesn't support Ruby by Jugalator · · Score: 1

      Which browser + OS combo do you use? Konqueror or on Linux?? ;-)

      Safari + OS X definitely support Siverlight, pretty much any large browser (IE + Firefox + Opera) does on Windows, and Linux... well, I know Novell cooperate with Microsoft on that, and they should have some software ready?

      --
      Beware: In C++, your friends can see your privates!
    29. Re:Um, my browser doesn't support Ruby by Jor-Al · · Score: 1, Troll

      So in effect, it's worthless for any real world solution beyond someone's personal homepage that gets like 50 hits a day?

    30. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      I think you need to look up 'mainstream'.

      "dependency injection is a hassle"

      Got that right. Bet you use Maven a lot too.

    31. Re:Um, my browser doesn't support Ruby by Reverend528 · · Score: 4, Funny

      Every language is for people who hate perl. Everyone hates perl. Especially perl developers.

    32. Re:Um, my browser doesn't support Ruby by maxume · · Score: 1

      He probably meant the masses of Java programmers.

      Addressing your comment though, it probably isn't a bad thing for more people to interact with computers using the highly structured interface that is a programming language. That sort of interaction doesn't need to be called programming, but much of the time, adapting a tool or composing tools is a lot better than using a gui or working to find exactly the right preprogrammed tool.

      --
      Nerd rage is the funniest rage.
    33. Re:Um, my browser doesn't support Ruby by morgan_greywolf · · Score: 1

      Free GEM, running on top of FreeDOS.

    34. Re:Um, my browser doesn't support Ruby by srussell · · Score: 2, Informative

      It's like java, but not as fast, secure, or scalable.

      It's like Java, only without hacks like "primitives". Unlike Java, it is a pure OO language, where everything is an object, and it provides a few significant OO features that are missing from Java, such as mix-ins and closures.

      --- SER

    35. Re:Um, my browser doesn't support Ruby by encoderer · · Score: 4, Interesting

      Ok, I'll bite. What makes MVC a "piss poor model" for web applications?

      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.

    36. Re:Um, my browser doesn't support Ruby by gertam · · Score: 2, Funny

      Nah, McCain is a Fortran 4 man.

    37. Re:Um, my browser doesn't support Ruby by hansamurai · · Score: 1

      Yes, when I said masses I meant programmers, but not necessarily Java. I was introduced to Ruby through Rails, though I never went very far with it.

    38. Re:Um, my browser doesn't support Ruby by osu-neko · · Score: 1

      Actually, I see McCain more as a FORTRAN man.

      --
      "Convictions are more dangerous enemies of truth than lies."
    39. Re:Um, my browser doesn't support Ruby by Kingrames · · Score: 2, Funny

      President Bush has already announced plans to liberate it.

      --
      If you can read this, I forgot to post anonymously.
    40. Re:Um, my browser doesn't support Ruby by DragonWriter · · Score: 2, Informative

      It just seems like Java for people who hate Java from what little research I've done on it


      Its nothing like Java.

      Now, if you said it sounds like "Python for people who hate Python", that would be more reasonable. Or, say, "Perl for people who can't read Perl". But those, though better than "Java for people who hate Java", still miss the point.

      Its a dynamic scripting language whose strongest initial influences were, IIRC, Smalltalk and Perl; it was more OO from the start than Python, though I think that's less of a gap now. It seems to have stronger influences from functional programming than Python, and its design follows more of Perl's "There's more than one way to do it" philosophy than Python's more "There's one way to do it" approach. It has good support for metaprogramming and internal DSLs. Its frequently criticized for the fact that the main current (1.8.x) implementation is slow, even among dynamic scripting languages, though faster implementations (the new, but less stable, 1.9 implementation, and the alternative, Java-based, 1.8-compatible JRuby implementations) exist.

    41. Re:Um, my browser doesn't support Ruby by morgan_greywolf · · Score: 3, Funny

      It's like java, but not as fast, secure, or scalable.
      No. Ruby is what would happen if you put Java, Python, Perl and Common Lisp in a blender.

    42. Re:Um, my browser doesn't support Ruby by bussdriver · · Score: 1

      You have an references to a better model or pattern?

      I'm not a MVC fanboy but I'm curious if there are any attempts to formalize the alternative models.

    43. Re:Um, my browser doesn't support Ruby by stoolpigeon · · Score: 2, Interesting

      They say Silverlight works with Firefox on Linux- I say that is an overstatement. I went to a technet event where they tried to demo silverlight with firefox on windows and it wouldn't work.
       
      Silverlight on linux, is in my opinion, broken.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    44. Re:Um, my browser doesn't support Ruby by balbeir · · Score: 0

      I agree, it's more like the second coming of smalltalk, which was a language way ahead of it's time. Most people don't realize the power of ruby's meta-programming. It's extremely powerful in the hands of a skilled developer. And ruby's "performance problems" will soon be a thing of the past looking at the stats of ruby 1.9 and jruby. Well to everyone his own poison. I did 10 years of java, switched to ruby and I'm not going back unless there would be a really, really good reason to use java for some niche component that absolutely can't be done in ruby. I'd rather write some C/C++ and glue a ruby layer on top of it if I really desperately need performance.

    45. Re:Um, my browser doesn't support Ruby by bigstrat2003 · · Score: 1

      Microsoft knows that web applications will soon threaten their client-side sales model. That'll be the day. Even well-done web applications like Gmail are still inferior to desktop applications. Web applications are useful, but they will NEVER replace traditional desktop apps.
      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    46. Re:Um, my browser doesn't support Ruby by pmontra · · Score: 1

      The Java world has plenty of MVC frameworks. Struts and Spring are the first two that come to my mind. Sun itself recommends MVC as a design pattern for J2EE applications. http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html

      So, if it's good for about everybody in Java, why should it be poor for Ruby? Granted, what's good for everybody might be a poor-but-well-marketed product, but I developed many MVC web applications and always liked it.

      What other design patterns do you use for web applications?

    47. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      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.

      public class Hello {
          public static void main(String... args) {
              System.out.println("Hello World");
          }
      }

      Hmmm... I didn't have to "make ten subclasses and an interface to write Hello World". What am I doing wrong?

    48. Re:Um, my browser doesn't support Ruby by gbjbaanb · · Score: 2, Informative

      I thought the web was a MVC model. The browser is your View and the server side is your controller (and you have model data from somewhere, DB or static files or whatever).

      I think he's referring to interactivity, ie in a thick client MVC system, you can interact with the GUI and changes are seen immediately, but the problem here isn't one of MVC being poor, its the relatively slow network that's the problem.

      I suppose you could download a lot of data to the view and only show part of it as the user selects things, but that involves moving the controller to the client. I guess some people would think that's breaking the paradigm, but that's how a MFC app works - data tends to be all in the client.

      So.. maybe he sees Rails as poor because it is always making roundtrips to the server.

      Either way, who cares. The decoupling of presentation from logic is one of the best paradigms you can use for any application.

    49. Re:Um, my browser doesn't support Ruby by Ihmhi · · Score: 0, Troll

      Something less secure than Java? Someone mod parent "-1, You've Got To be Shitting Me!" ^.~

    50. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      FAN BOY ALERT!

    51. Re:Um, my browser doesn't support Ruby by Urger · · Score: 1

      It's still more verbose then: Print "Hello world"

    52. Re:Um, my browser doesn't support Ruby by pmontra · · Score: 1

      Actually I like Perl and keep using it for small to medium size text processing scripts. I'm using Ruby and Rails for web apps since I discovered that I can create one in 4-5 times less time that in Java (and no, I don't dare writing anything big in Perl).

      I'm still concerned about RoR's performance and scalability but things are slowly getting better and my Rails apps in production are not subject to big workloads. The faster development cycle means more projects per year and more money in the pockets.

    53. Re:Um, my browser doesn't support Ruby by mybecq · · Score: 1

      stateless client-server application

      It's not much of an application if it's stateless.
    54. Re:Um, my browser doesn't support Ruby by irenaeous · · Score: 1

      President Bush, on the other hand is a logo man, a language not to be misunderestimated.

    55. Re:Um, my browser doesn't support Ruby by an.echte.trilingue · · Score: 3, Interesting

      NEVER You almost had a good argument until you used a superlative. Google Apps for domains is clearly superior to Outlook/Exchange* for small businesses, for example. SugarCRM and other web-based application customer management systems such as pyrameed are at at least as good as solutions such as SAP for up to medium sized businesses. Web based apps offer:
      • 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.
      --
      weirdest thing I ever saw: scientology advertising on slashdot.
    56. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Just out of curiosity, could you name a better model?

    57. Re:Um, my browser doesn't support Ruby by raftpeople · · Score: 1

      But look, no bugs!

    58. Re:Um, my browser doesn't support Ruby by Trails · · Score: 2, Insightful

      The masses = programmers building business software.

      The masses tend to use established languages with established frameworks, because their bosses say so.

      Their bosses say so because they(the bosses) don't want to pay for re-inventing and then maintain the proverbial wheel.

      Hence, no matter how hotshit/elegant/orgasm-inducing/LISP-ish/un-PERL-ish/whatever a language is, if doesn't have a viable persistence model and/or mvc, etc... corporate folk won't use it.

    59. Re:Um, my browser doesn't support Ruby by ShieldW0lf · · Score: 3, Informative
      --
      -1 Uncomfortable Truth
    60. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      No, but still: APAX APAX APAX! (not a typo)

    61. Re:Um, my browser doesn't support Ruby by sm62704 · · Score: 1

      Addressing your comment though, it probably isn't a bad thing for more people to interact with computers using the highly structured interface that is a programming language

      I agree with that completely, but NOT in a corporate environment. In a blog, sure.

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    62. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      It's more similar to Python in my mind.
      Well you have a point there - it is shit.
    63. Re:Um, my browser doesn't support Ruby by PietjeJantje · · Score: 2, Insightful

      Ok, I'll bite. What makes MVC a "piss poor model" for web applications? Because the web, like he said, is stateless. A request comes in, the server compiles and constructs this whole MVC structure from the scripting language, with 1 page object, 1 database object, etc. etc., generates 1 page, and then.. well then it throws everything away. Well, joy. Compare this to desktop apps where stuff is in memory and real processes take place between objects. So for the web, it degenerates both object oriented programming and MVC into mere ways to organize your code, more likely than not in a much too complex and time-consuming way.
    64. Re:Um, my browser doesn't support Ruby by Hognoxious · · Score: 1

      C++ old and stodgy? If you don't get off my lawn right now I'll introduce you to RPG3 and Cobol.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    65. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Funny. Works perfectly for me and every one else I know who uses Firefox on Windows.

      Stop making shit up. Oh wait, this is slashdot, where you get "karma" for making up delusional anti-MS statements. Carry on.

    66. Re:Um, my browser doesn't support Ruby by Hognoxious · · Score: 1

      It's been many moons since I've tinkered with javascript. Is the old question - which javascript - still relevant?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    67. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Rails is widely considered
      {{fact}}

      Rails has vocal fanboys, but it's not actually all that popular in real life. And many of the sites that leapt on the bandwagon when it first appeared have come to regret it. It's certainly good at being a short route from idea to usable webapp, but "usable" is not the same as "finished", and being "finished" damn well is about being fast, secure, and scalable.

      Having a working prototype is not much use if you then have to rewrite in PHP or Java in order to get a website that performs well, is robust, and can be maintained by anyone, not just your fellow cultists.
    68. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      > Especially perl developers.
      Funny, and true.

    69. Re:Um, my browser doesn't support Ruby by Haeleth · · Score: 1

      I thought PHP was Perl for People (who) Hate Perl
      Not really. Perl, Python, and Ruby are general-purpose programming languages. PHP is a web site templating system.
    70. Re:Um, my browser doesn't support Ruby by CastrTroy · · Score: 0, Troll

      Yeah, it's like Java, if except that everything is declared as type object. It treats every object the same, and just assumes that all the functions you try to call exist, until it runs them. I really don't see why people like dynamically typed languages. It's like working in VB6 with everything defined as "Variant". Does not having variable types help in any way? Personally, I really like static typed languages. I never did understand why dynamic typing would help. My compiler catches a large percentage of my errors. I'd hate to have to run through all the code paths, just to ensure I didn't mistype a function call. Yes I know tests should do this anyway, but it's a little bit easier to get stuff up and running if you know all the function names are correct before you run it.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    71. Re:Um, my browser doesn't support Ruby by argent · · Score: 1

      but the syntax isn't where you get the benefit of ruby.

      Of course not. It's still got a Pascal/Algol/C style procedural/algorithmic syntax, rather than one based on the object hierarchy like you have in Smalltalk. Looking at Ruby, it doesn't really look like blocks are a true first class object in the language as they are in Smalltalk or Lisp.

    72. Re:Um, my browser doesn't support Ruby by Tablizer · · Score: 1

      They make the thing so damned weighty in their blind adherence to the flawed premise that just because MVC is a good model for desktop applications, it's a good model for everything,

      Amen! They should focus on making a good web app framework, not pursuing MVC just because its a popular buzzronym.

    73. Re:Um, my browser doesn't support Ruby by jeremy_fsu · · Score: 2, Insightful
      I've been using C since 1991 and I love Ruby. Does Ruby replace C? Absolutely not. Is Ruby syntax like C? No again. Why do I like Ruby? Simple, it's very easy to write, and you can do alot with only a little code. Think of it as a domain specific language. Here's how I organize my toolbox (skillset):

      Ruby: When I need a quick script on Linux and need MySQL or RegEx or simple File I/O and don't want a hassle, performance doesn't matter, or I'm playing with Rails

      C: Performance matters, but it' not complex enough for an OO lang.

      C++: Performance matters, and it's complex enough to warrant an OO lang.

      C#: My client insists on using MS products

      Javascript: I need to do something client side like AJAX or manipulating the DOM.

      These Ruby vs C or (insert favorite lang here) are silly and a waste of time. When you take time to learn multiple languages both interpreted and compiled, you learn that each one has it's place.

      Now Ruby vs Perl vs Python debates make a little sense because they are all interpreted. So my two cents on that debate is: Ruby is very readable and looks pretty when I write it. Not so for Python and Perl. So it's a personal preference really.

      So ARAX? Sounds like a decent application of Ruby to me. But Javascript is already widely deployed so you won't see me messing with it until the majority out there have it in their browsers.

      --
      "I fly, I sail, I throw caution to the wind" -Jimmy Buffet
    74. Re:Um, my browser doesn't support Ruby by SatanicPuppy · · Score: 1

      Well, like anything else, it depends on how much hardware you want to throw at it. There are big apps out there that use Rails, though I think most of them end up regretting it.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    75. Re:Um, my browser doesn't support Ruby by encoderer · · Score: 4, Informative

      "So for the web, it degenerates both object oriented programming and MVC into mere ways to organize your code"

      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.

    76. Re:Um, my browser doesn't support Ruby by fizzup · · Score: 1

      Huh. I never read the book, but I saw the movie. I thought that they were saying a Russian word that I can't spell out on Slashdot because it doesn't support UTF-8.

    77. Re:Um, my browser doesn't support Ruby by jeremy_fsu · · Score: 1

      I should also add that I like Java too, since the parent mentions it. I like Java for a specific application too: when I want to build something cross platform but don't wish to mess with cross compliling. Testability is also very important to me. Unit tests are a breeze in Ruby and in Java, can't say I've looked into unit testing in other languages though (other than these and C#).

      --
      "I fly, I sail, I throw caution to the wind" -Jimmy Buffet
    78. Re:Um, my browser doesn't support Ruby by GeckoX · · Score: 0

      I'm sorry, but I have to call FUD on this. This is not 1999 anymore. MS has changed a lot in terms of how it approaches web technologies.

      First, IE 7's javascript engine is vastly fixed over what they offered before. (Actually, they'd made a lot of improvements in 6 and 6.5 too) There are still a couple glaring inconsistencies, but these are mostly confined to the DOM, and are very easy to quickly abstract away.

      Second, MS has been working VERY hard with each release to ASP.Net to make things work for ALL browsers, NOT just for IE. Visual Studio 2008 works extremely well for creating AJAX enabled content that works cross-browser, without rolling all your own client code. This isn't by accident. Remember...MS is about developers developers developers. Well, the developers have been screaming for years about this stuff, and MS has in fact listened. To great end in fact.

      Third, Silverlight is not an IE/Windows only platform. And if you really think they're going to try that bait and switch tactic again, you're nuts. MS is not that stupid. They actually want Silverlight to be valid and compete with Flash. And they know the ONLY way for that to happen is if it runs everywhere that Flash runs. They may have had to learn this the hard way over the years, but they won't be making the mistakes you suggest.

      But why am I arguing? I should be asking for examples of where MS is doing as you suggest they will. You're basically saying...Yeah, they're getting better in this area, and that area, and this other area, all so that they can pull the rug out from everyone in 3...2...1...

      Hmm...still waiting. Anyways, examples and proof please if you wish to carry on with this logic.

      --
      No Comment.
    79. Re:Um, my browser doesn't support Ruby by encoderer · · Score: 1

      "The decoupling of presentation from logic is one of the best paradigms you can use for any application."

      Agreed. 100%.

      And I like your take -- I suppose the web is innately MVC. But not in the sense that Rails is, and not in the sense that he meant.

      We're talking more like requests come in and a simple procedural front-controller instantiates a Controller based on whatever routing rules you've defined. It creates the data models (Usually some ORM system, be it ActiveRecord or a TableGateway) and the View is going to be a templating engine of some sort.

    80. Re:Um, my browser doesn't support Ruby by Firehed · · Score: 1

      I certainly wish that Twitter didn't use Rails as it clearly can't scale for shit (and this isn't the only example) but it sounds like Ev has no regrets of using it nor does he have plans to shift it to another platform.

      --
      How are sites slashdotted when nobody reads TFAs?
    81. Re:Um, my browser doesn't support Ruby by nuzak · · Score: 4, Insightful

      MVC in web apps has about as much to do with Smalltalk's old MVC as unix signals have to do with the physical control lines they used to correspond to (gimme a break I couldn't find a car analogy). MVC is nothing more than three-tier, with the middle tier itself adding some extra separation between processing requests (controller) and generating output (view).

      HTTP is stateless. So is UDP. Does that make every online game that uses it stateless? The web is not a protocol.

      --
      Done with slashdot, done with nerds, getting a life.
    82. Re:Um, my browser doesn't support Ruby by PietjeJantje · · Score: 1

      I agree at some point of complexity there's benefit from OOP in stateless environments. In my experience, 99 out of 100 web apps I've seen don't qualify, especially the inhouse frameworks. It's usually simple stuff like you mentioned, which is never reused outside the company, or even within, within its lifetime cycle. So if someone new comes in, he's awed by this huge, complex, slow system, which could have been done simpler and cheaper.

    83. Re:Um, my browser doesn't support Ruby by Foofoobar · · Score: 1

      You CAN do it but few do. You can store things using SESSION, use query caching, store your environment in a DB rather than XML, and other techniques. Unfortunately, when you do that all the other framework developers spit on you because it's not 'TRUE MVC'. I myself built an MVC framework for the web that uses an extendable MODEL so methods are never repeated, stores the environment in a database rather than XML and caches the users state in sessions and a few other tricks including being able to serve up XUL and PHP web apps separately.

      On a 2.6 GHZ with 1GB of RAM I can get serve 25000 requests in 9 seconds. So, it can be done but scalability and speed have to be your priorities in design.

      --
      This is my sig. There are many like it but this one is mine.
    84. Re:Um, my browser doesn't support Ruby by nuzak · · Score: 1

      > Is the old question - which javascript - still relevant?

      If you're working without a toolkit, or developing one yourself, then very much so. Most browsers JS engines have only minor differences these days, but IE is, as always, the special short-bus kid that needs more time and attention.

      If you're using a decent toolkit like Ext/Dojo/Moo/YUI/jquery then no, you don't really have to care.

      --
      Done with slashdot, done with nerds, getting a life.
    85. Re:Um, my browser doesn't support Ruby by Ortega-Starfire · · Score: 1

      So it WILL blend! Thank you for looking into that for me, I was wondering if it would.

      --
      ---- Liquid was a patriot ----
    86. Re:Um, my browser doesn't support Ruby by Gavagai80 · · Score: 1

      Presumably that was a typo, since the rest of the post was about linux. Stop pretending you don't understand what people mean just because it helps your argument not to.

      --
      This space intentionally left blank
    87. Re:Um, my browser doesn't support Ruby by mortonda · · Score: 1

      Ok, I'll bite. What makes MVC a "piss poor model" for web applications? Because the web, like he said, is stateless. A request comes in, the server compiles and constructs this whole MVC structure from the scripting language, with 1 page object, 1 database object, etc. etc., generates 1 page, and then.. well then it throws everything away. Which shows that you haven't grasped everything that Rails does. There are several layers of caching involved to avoid throwing things away when possible. Many of the resources remain in memory for reuse, also; this isn't the dark ages of CGI.

    88. Re:Um, my browser doesn't support Ruby by Ajaxamander · · Score: 1

      I think Burgess took the word you're thinking and twisted it for his in-book pseudolanguage --- the Cyrillic spelling on Wiktionary and the anglicized spelling on Urban Dictionary match based on assumptions I've made about Cyrillic from what little I know of the Greek alphabet :)

      Pretty interesting actually, that you heard the 'root' word when you saw the film. Also a pretty interesting (an appropriate) literary trick, superimposing the English word "Horror" onto such a positive adjective.

    89. Re:Um, my browser doesn't support Ruby by mortonda · · Score: 1

      He looks at Java as the ultimate golden hammer, That's the problem with Java. It *is* the golden hammer, and thus everything looks like a nail.
    90. Re:Um, my browser doesn't support Ruby by jlowery · · Score: 1

      However, the MVC architecture is triangular: the View sends updates to the Controller, the Controller updates the Model, and the View gets updated directly from the Model.

      Which is wrong. The statement is contradicted by the very link embedded in it. In truth, the view directly updates the model and the view is modified indirectly by the model. The controller processes and responds to events, typically user actions, and may invoke changes on the model.

      --
      If you post it, they will read.
    91. Re:Um, my browser doesn't support Ruby by pclminion · · Score: 0, Troll

      Its nothing like Java.

      Stunning insight. A language "for people who hate Java" is nothing like Java? Wow.

    92. Re:Um, my browser doesn't support Ruby by cerelib · · Score: 1

      stateless client-server applications While that statement may have made sense in the early 1990's, it makes no sense today. The web sites seen today have browser side cookies that typically represent server side session data. In fact, there is more "state" floating around than most privacy-minded people would like.
    93. Re:Um, my browser doesn't support Ruby by Firehed · · Score: 1

      I'm not sure that I'd call it a templating system (I'd actually say that, against all odds, ASP.NET and it's Master Pages handles that better than anything else I've worked with), but it's certainly not as general purpose as Perl, Python, or Ruby. A web-oriented C of sorts. You can make it sort of a templating system using include but it still doesn't feel too "clean" without a bit of excessive complication (which I usually employ for the sake of file management)

      --
      How are sites slashdotted when nobody reads TFAs?
    94. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      They also know that places like Google have enough of a head start in the AJAX world that they will never catch up...

      You do realise that a certain MS extension to IE is what started this whole AJAX craze in the first place, don't you? Think OWA. Google wasn't the first, by far.

    95. Re:Um, my browser doesn't support Ruby by Fallingcow · · Score: 1

      I like Smarty for PHP templating.

      I recommend looking in to XSL transforms (XSLT) if you're thinking about writing your own.

    96. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Opera does inofficially
      You're an umbecile.
    97. Re:Um, my browser doesn't support Ruby by an.echte.trilingue · · Score: 3, Insightful

      First, IE 7's javascript engine is vastly fixed over what they offered before. I am afraid I am going to have to call shill on this one. I am sure that you remember that acid3 tests ECMAScript compliance.
      • 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.

      Visual Studio 2008 works extremely well for creating AJAX enabled content that works cross-browser, without rolling all your own client code. Oh, it becomes clear. Microsoft wants to make it impossible to implement your own JS solution so that you have to buy into their development tools to build a site that works. What a surprise.

      Third, Silverlight is not an IE/Windows only platform. It is, however, a Windows only platform. Moonlight is still vaporware, last I heard.

      And if you really think they're going to try that bait and switch tactic again, you're nuts. MS is not that stupid. They actually want Silverlight to be valid and compete with Flash. What makes you say that?

      But why am I arguing? I should be asking for examples of where MS is doing as you suggest they will. I cannot give examples of events that have yet to transpire. The company's history is well known.
      --
      weirdest thing I ever saw: scientology advertising on slashdot.
    98. Re:Um, my browser doesn't support Ruby by Slime-dogg · · Score: 1

      The web is only stateless if you're implementing a web application poorly. The model is cached, and you can plan for heavy objects to be cached as well, so that the cost of construction is avoided.

      Yes, you have to generate a page for every response, but this is a marginal cost. You have to do that with any other web frontend anyway.

      --
      You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
    99. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      wow, what is this based on? Or did you just decide that you wanted to type?

      Rails is actually an amazing framework. And i've seen sites scale easily with it, at least up to 5 million hits per month or so.

      You've obviously never touched the thing

    100. Re:Um, my browser doesn't support Ruby by jefu · · Score: 1

      Mine either, but I'm sure I could write a Ruby interpreter in Javascript (maybe even a quasi-compiler that translated Ruby to Javascript then ran the Javascript). Don't know that I'd want to.

    101. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Nah, McCain is a Fortran 4 man.

      I was thinking more along the lines of punch cards and an abacus for quick calculations. If you asked him what Fortran was, he'd probably think it was the name of his old NVA jailor and get hit by a flashback.

    102. Re:Um, my browser doesn't support Ruby by GeckoX · · Score: 0

      No, IE7 didn't fare well on Acid3. However, IE7 was delivered before the Acid3 upgrade race began. Apparently MS is working very hard on making Acid3 work in IE8.

      Yes, the DOM implementation is the sore point with IE. However, you can fix ALL of these problems with a few lines of js, adding prototypes to make javascript work the same way. It would be nice if it was fixed, and hopefully it will be, but the fix is very simple and doesn't require any browser-test code forks.

      Yes, not sure why they did that with XMLHttpRequest, but again, it is dirt simple to abstract the problem away permanently.

      No, you don't need Visual Studio 2008 to build sites that work cross browser. The reason that it DOES generate good cross browser code is because so many developers WERE doing it on their own and NOT using their tools. Now that we CAN use their tools, they are nice tools to have. This isn't FrontPage. This isn't something that has been forced down any developers throats. MS has realized that the only way to get devs using their tools is if their tools do what the devs want them to do. Why is that so hard to grasp?

      Silverlight is most assuredly NOT a windows only platform. That is either stated out of complete and utter ignorance, or you are lying. Either way, it is wrong.

      But no, you're right, MS would rather Silverlight was stillborn wouldn't they?

      I'm no MS fanboy. I'm amongst the first to come down on them when they do stupid things. But they are actually getting a lot of things right these days from a development perspective. Like I said earlier, this is not 1999 anymore. Time to update your punching bag to reflect reality a bit better.

      --
      No Comment.
    103. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Cry me a river? You mean you listen to . . .nevermind. I don't want to know.

    104. Re:Um, my browser doesn't support Ruby by ShieldW0lf · · Score: 0, Troll

      However, the MVC architecture is triangular: the View sends updates to the Controller, the Controller updates the Model, and the View gets updated directly from the Model.

      Which is wrong. The statement is contradicted by the very link embedded in it. In truth, the view directly updates the model and the view is modified indirectly by the model. The controller processes and responds to events, typically user actions, and may invoke changes on the model.


      It's on Wikipedia. Fix it.

      --
      -1 Uncomfortable Truth
    105. Re:Um, my browser doesn't support Ruby by DragonWriter · · Score: 2, Insightful

      Stunning insight. A language "for people who hate Java" is nothing like Java? Wow.


      GP did not characterize it as merely a language "for people who hate Java", but as "Java for people who hate Java". Which might be a fair description of, say, C#, which is similar in role in many big-picture ways to Java, but addresses numerous points which make people who hate Java do so. It is not a useful description of Ruby, which is nothing like Java except insofar as both are Turing-complete programming languages.

    106. Re:Um, my browser doesn't support Ruby by profplump · · Score: 2, Insightful

      Actually a lot of plumbers do electrical work. And HVAC work. Haven't you ever seen a van for "AAA Heating, Plumbing and Electrical"?

    107. Re:Um, my browser doesn't support Ruby by nuttycom · · Score: 1

      Incorrect. Proc objects (which is what blocks implicitly create, and which lambda explicitly creates) are indeed first class objects. They also close over the lexical scope in which they are defined.

    108. Re:Um, my browser doesn't support Ruby by DragonWriter · · Score: 1

      Now they are trying to develop proprietary technologies to compete: Silverlight and this new ARAX bull will replace Flash and AJAX.


      Given HotRuby and Tamarin:IronMonkey, Silverlight & ARAX is going to have to fight Flash & ARAX, Flash & APAX, Flash & APyAX, and all kinds of other things, not just Flash & AJAX.
    109. Re:Um, my browser doesn't support Ruby by BigRare · · Score: 1

      My browser doesn't support Flash either. Or PDF's... Or... Java... I think I need a plug in for that or something... I guess you could translate Ruby to JavaScript and then my browser would support Ruby.

    110. Re:Um, my browser doesn't support Ruby by ultranova · · Score: 1

      Does a plumber do electrical work? No? Then why does anyone but a programmer do programming in a professional environment?

      Plumbers do, in fact, do some electric work, such as connecting pumps to a power source. This makes sense, because the task is so simple it doesn't require professional electricians skill, so he can use the time to do more difficult tasks instead. Plumbing also involves welding, despite a plumber not being a professional welder, and hauling stuff around in a car, despite not being a professional trucker.

      Manpower is a limited resource, even in a professional environment. Passing tasks from one person to another will inevitably waste time, since it takes a while to explain what you want done, even if that other person doesn't need to be physically present. Simply because someone isn't a professional programmer doesn't mean he can't program, possibly very well; it simply means that it isn't the focus of his work. And of course smaller companies don't neccessarily have a professional programmer.

      Would it make sense for a manager to call a professional typist to type a one-page memo, or to type it himself, even thought he isn't as good at typing that a typist would be ?

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    111. Re:Um, my browser doesn't support Ruby by argent · · Score: 1

      I was under the impression that things like control structures (if, while, etc) are actually defined in the language, with keywords and syntax and everything.

      So you could create new control structures in Ruby?

      I mean, in Ruby is "for" a keyword in

      for i in (1..10)
          puts i
      end

      Or is that a macro around something sane like:

      1..10 do { |i|
          puts i
      }

      By analogy with:

      1 to: 10 do: [ :i | output show: i ].

    112. Re:Um, my browser doesn't support Ruby by Viol8 · · Score: 1

      "The net is only getting faster"

      Yeah , right. You should try ADSL speeds where I live.

      "Look, no small business has its own mail server."

      Wtf are you talking about? How much does a budget PC with Linux and sendmail/postfix cost for christ sake?

      Incidentaly , how will your business function on those occasions you lose your net access, and hence access to virtually every app you use? Also ask yourself why banks keep all their data in house in secure server rooms.

      Sorry , but whoever is responsible for the IT in your company is obviously only interested in saving a few pennies and ease of admin for himself. Not the type of person I'd ever want near my systems.

    113. Re:Um, my browser doesn't support Ruby by 0xABADC0DA · · Score: 1

      Uh.. what? JavaScript has a Pascal/Algol/C style syntax (never mind that those are all Algol style). Ruby is very close to Smalltalk syntax except for a few minor points.

      Which is of course the problem with Ruby. Staring at code with a bunch of { |a,b,c| ... } all over is hardly better than looking at LISP code, and as annoying to write. And of course people use one-letter parameter names since Ruby code is so 'small' and 'elegant'. It's bs. Smalltalk and Ruby syntax both suck, and JavaScript is here to stay.

    114. Re:Um, my browser doesn't support Ruby by SuhlScroll · · Score: 1

      Probably call it R++.

    115. Re:Um, my browser doesn't support Ruby by stoolpigeon · · Score: 1

      I don't have any need to make anything up. I went to a technet event in Orlando FL that was on linq and silverlight. The guy doing the demo tried to run his silverlight stuff in Firefox to show that it was cross-browser and it tanked. He made a joke about Firefox being crap and never used it again. Find someone who was there who says otherwise. There were around 100 people. It was at the theater in the Festival bay mall.
       
      Moonlight support for Silverlight 2.0 is in alpha. That means there is no production support of silverlight on linux. I assume you are just a troll, so I guess I've been had if that's the case. But if anyone else is reading this thread they can see that Silverlight is not an acceptable solution to any problem that doesn't involve embracing windows and IE.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    116. Re:Um, my browser doesn't support Ruby by stoolpigeon · · Score: 1

      Nope - no typo. I've seen MS demos of silverlight, done by MS employees, using Firefox on Windows completely fail.
       
      As far as the linux side - which is what my original post was about - well there isn't even any debate there. It is not supported. Moonlight support of Silverlight 2.0 is in alpha according to their site.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    117. Re:Um, my browser doesn't support Ruby by encoderer · · Score: 1

      "In my experience, 99 out of 100 web apps I've seen don't qualify, especially the inhouse frameworks. It's usually simple stuff like you mentioned, which is never reused outside the company, or even within, within its lifetime cycle. So if someone new comes in, he's awed by this huge, complex, slow system, which could have been done simpler and cheaper."

      I really don't mean to be pedantic.. but I'm going to be

      If code is never reused, never shared between different applications, how would it even meet the definition of a framework?

      Wouldn't it just be part of the application?

      I work for a web retailer and we produce a large number of product-centric websites (Amazon is the web version of a "big box" store that carries everything. We're the web version of, say, Limited Brands: Separate boutique stores for each product line)

      Anyway, my point is that you seem to have an awfully myopic view of things.

      I mean, you assume the application/framework is "simple stuff" because the only thing I mentioned was simple.

      You assume an OOD application is "huge, complex, slow" perhaps because you've seen systems that are.

      You assume that writing it in procedural code would be "simpler and cheaper" without taking the long view.

      And it seems to me that you're really over-estimating he overhead that object construction brings.

      If an object hierarchy is properly designed, using lazy-loading, object caching, etc, you're not going to see dramatic differences. It's going to be minor. Perhaps 10%. I'd even give you 15%. Which means that the 1 second execution time of a procedural system might increase to 1.1 seconds.

      Again, that 1/10 second is not ever going to matter in the vast majority of applications that aren't run on an Slashdot-like scale.

      And I really believe that OOD systems are far easier (thus cheaper) to maintain and modify.

      Imagine you have a Widgets table and PHB wants a new column. In a proper OO system, you add the column to the database, you find the widgets class, you add a property of the same name, you use whatever system is in place in your app to define it as loaded-lazy or loaded-default.

      Then you update the unit test.

      And, that's it.

      The reports and forms that bind to the data model will display the new field.

      The sql that populates the objects will automatically reflect the new field.

      And, for example, in our framework, its even easier. You just add it to the data model and load the class using a bootstrap script from the command line and it will automatically update the DB and the unit test.

      Compare that to a procedural model. Data from that modified table might exist on any number of separate pages, in any number of methods. You will have to edit numerous SQL statements, reports, forms, etc. And it's very hard to be CERTAIN that you updated it everywhere that table is called.

      Anyway, it's been a nice conversation. I've enjoyed it. I've made my point clear and there's no use in repeating myself.

      Have a good weekend!

    118. Re:Um, my browser doesn't support Ruby by SuhlScroll · · Score: 1

      Very, VERY well put. ;)

    119. Re:Um, my browser doesn't support Ruby by stoolpigeon · · Score: 1

      This is convenient. Go read all the comments in the deep zoom thread about firefox crashing due to the silverlight plugin. Nice timing. Now you can make shit up about how silverlight works with firefox.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    120. Re:Um, my browser doesn't support Ruby by prestomation · · Score: 1

      That's a pretty long step 2

    121. Re:Um, my browser doesn't support Ruby by �berhund · · Score: 1

      Yeah, and Java is just C++ for people who hate C++.

      --
      -Uberhund
    122. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Last week they embraced ruby. Now they are extending it. I can't wait to see what they'll do next! Extend it passed the standard and then abandoned it
    123. Re:Um, my browser doesn't support Ruby by joto · · Score: 1

      [Ruby] just seems like Java for people who hate Java from what little research I've done on it

      Please. If you didn't do more than five seconds of "research", why spend almost five seconds to spew this nonsense out?

      About the only thing Ruby has in common with Java is being a programming language. You are free to like or dislike either of them, but *please* don't speak about things you obviously have no knowledge of!

    124. Re:Um, my browser doesn't support Ruby by argent · · Score: 1
      JavaScript has a Pascal/Algol/C style syntax

      Where exactly was I recommending Javascript?

      Ruby is very close to Smalltalk syntax except for a few minor points.

      People keep saying that, and yet when I look at Ruby I don't see it.

      Staring at code with a bunch of { |a,b,c| ... } all over is hardly better than looking at LISP code,

      Lisp code would be better than staring at a bunch of "for ... end case ... when ..."

      and as annoying to write.

      Which is annoying to write, Javascript or Ruby?

      And of course people use one-letter parameter names since Ruby code is so 'small' and 'elegant'.

      function(){
      var d=_gat.k,a=_gat.a,c=_gat.e,g=a[_gat.m]?a[_gat.m]:"",o=c.history[_gat.c],k,m,
      q=[d.appName,d.version,d.language?d.language:d.browserLanguage,d.platform,d.userAgent,d.javaEnabled()?1:0].join("");
      if(c.screen)q+=c.screen.width+"x"+c.screen.height+c.screen.colorDepth; [...]

      -- Real fragment of Javascript code with nice long meaningful variable names.

      Smalltalk and Ruby syntax both suck, and JavaScript is here to stay.

      Smalltalk syntax is a little odd in places, but I haven't found a better OO syntax in real widely-used language.

      Of course Javascript is here to stay. So is Microsoft, the RIAA, and the common cold.
    125. Re:Um, my browser doesn't support Ruby by TheSeer2 · · Score: 1

      There's nothing really great about Ruby itself. It's the Ruby on Rails framework for Ruby that people generally love. Atleast, that's how I think it goes.

    126. Re:Um, my browser doesn't support Ruby by nuttycom · · Score: 1

      Well, Ruby doesn't have Lisp-ish macros, so you can't actually add keywords or basic control structures unless you implement them as methods on objects. Since Ruby has open classes, though, you can make such methods look more or less like parts of the language so long as you've got the right implicit receiver for your calls. I'm not convinced that having infinitely flexible syntax is really that helpful anyway - it can make things really suck for maintainers if your clever domain-specific syntax has a hard-to-track bug due to the overhead of sorting the code that creates that extra syntax from the actual functionality.

      I don't think I've actually ever used Ruby's 'for' syntax in the tens of thousands of lines of code I've written. It's probably there to make people coming from other imperative languages comfortable. :)

    127. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Weak sauce. If the model controller was such a terrible thing how come the list of web frameworks is longer than your wikipedia article about three-tier computing? from .net to coldfusion?
      Thanks for playing though

      http://en.wikipedia.org/wiki/Model-view-controller#Implementations_of_MVC_as_web-based_frameworks

    128. Re:Um, my browser doesn't support Ruby by Wdomburg · · Score: 1

      "like Java"? Buh? Why, because they both have objects and can be used to write web applications?

    129. Re:Um, my browser doesn't support Ruby by an.echte.trilingue · · Score: 1

      "Wtf are you talking about? How much does a budget PC with Linux and sendmail/postfix cost for christ sake?"

      That doesn't do shared calendaring, like an exchange server or Google Apps. Besides, its not the cost of hardware, its the staff that counts. If you have your own server, you need to have people on hand who can administer it. I have a one year contract, and when I am done the company should be able to operate with little or no input from people like me.

      "Incidentaly , how will your business function on those occasions you lose your net access"

      That happened not too long ago. Our service provider got into a fight with its backbone provider and we lost the net for a week. Being on line saved our butts. If we had implemented your solution, we would have lost one of the year's best weeks in sales because both the email server and the website's interface with our customer DB would have been down. We simply forwarded the phones to our private cells and worked from home. We used google chat to cross talk. It was one of the most productive weeks we have ever had... so much so that if it was not necessary to actually meet clients in an office, and give a little supervisory oversight to the interns, we might scrap it all together.

      Otherwise, we make nightly backups of our online DB should our hosting service ever go under like our service provider did.

      --
      weirdest thing I ever saw: scientology advertising on slashdot.
    130. Re:Um, my browser doesn't support Ruby by witherstaff · · Score: 1

      Yes, a plumber does electrical work.* By law a master plumber can connect electric to a limited amount for things that fall in the plumbing field. For example pumps, water heaters, garbage disposals, etc.

      Mainly you tie in to an existing electrical service and go to your device. You aren't technically supposed to wire a new electrical outlet, or run a new service line from the service. Of course they do, to get the job done. Who's going to pay $100 an hour for a plumber to hook up say, a garbage disposal, that needs a simple new electric line and circuit breaker installed, and also $100 an hour for an electrician to snap in a new circuit breaker? The inspectors just overlook these minor breaches.

      The same in the HVAC field. If you install a new central air, the outdoor disconnect technically has to be installed by an electrician. It's done everyday by licensed mechanical contractors to get the job done.

      And one of my personal favorite calls to the family's Plumbing/HVAC shop, a lady called the office to report that 'the electric is out on my toilet, could someone be sent to hook it up'.

      Anyhow, back to your point. Everyday the plumbers/HVAC guys run into home done, or 'handyman' done work that's horribly shoddy. No different than the huge number of websites done by non-pros. I really love all the 'website design' firms that have contact addresses of @comcast or @verizon or whatever. Anything that doesn't require a license to do makes it easy for ANYONE to do it. Although I dislike any government involvement, having some sort of standard just to advertise internet development might not be so bad.

    131. Re:Um, my browser doesn't support Ruby by lordofwhee · · Score: 1

      Flash is already really widespread, and I know quite a few people who use Flash and have looked at Silverlight and said, "OK, why the hell should I use this instead?". I myself don't do anything in Flash, and I look at Silverlight and say, "OK, why should I install this and have to spend the inevitable days trying to make it work somewhat right, when 'working right' still doesn't mean 'working like it was supposed to'."

    132. Re:Um, my browser doesn't support Ruby by emilper · · Score: 1

      I have "hating Java" among my hobbies, but have to say it has one big advantage: it is easier to predict how much time you'll need to develop an application

      No matter if you have 10 CS geniuses in your team (it happens if you're in heaven, I guess), or only one genius, 4 mediocre programmers and 5 morons (if you are lucky), it will take almost the same time to develop an application, as long as it is one of the good programmers that designs it. There is no TIMTOWTDI in Java: usually there is only one way to do it, and if you need to plan a budget and set deadlines, Java is the "golden hammer". In Perl you might get lucky and finish the job in a quarter of the time and have the app run 10 times as fast. If you don't have the right people (and there are no reliable ways to find the right people), you are left with a mess and a civil war in your team.

      "style, politics and library support": true words.

    133. Re:Um, my browser doesn't support Ruby by emilper · · Score: 1

      "How much does a budget PC with Linux and sendmail/postfix cost for christ sake?"

      How much does losing a client because power failed in your neighborhood or your ISP does not think that's it is worth their time to come and fix your link ?

      How much does it cost to employ an admin ?

    134. Re:Um, my browser doesn't support Ruby by Wdomburg · · Score: 1

      I have no idea how rails works, but why on earth wouldn't you have back-end modules persist across connections so you can reuse them?

    135. Re:Um, my browser doesn't support Ruby by J'ai+Friedpork · · Score: 1

      The rational part of me wants to know how webapps are inferior to desktop apps, as I see no functional difference between Google Docs and any of the client-side word processors I've used, except that I don't have to go out of my way to keep my documents synced between my desktop and laptop.

      But mostly, I'd just like to point out that nobody will ever need more than 640 kilobytes of RAM. Ever.

      --
      Took this comment seriously, did you?
    136. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Dear God,

      Please, take Internet Explorer away ... and if you have time, make a decent command shell for MSWindows, please.

      Otherwise I'll go ask the Flying Spaghetti Monster.

    137. Re:Um, my browser doesn't support Ruby by Laaserboy · · Score: 1

      Does yours? My browser *does* support Ruby, and Python, and Perl. https://addons.mozilla.org/en-US/firefox/addon/3002
    138. Re:Um, my browser doesn't support Ruby by tyrione · · Score: 1

      MVC in web apps has about as much to do with Smalltalk's old MVC as unix signals have to do with the physical control lines they used to correspond to (gimme a break I couldn't find a car analogy). MVC is nothing more than three-tier, with the middle tier itself adding some extra separation between processing requests (controller) and generating output (view). HTTP is stateless. So is UDP. Does that make every online game that uses it stateless? The web is not a protocol. Correct. Let's not forget the complete overhaul to Apache 3.x that will only aide MVC designs.
    139. Re:Um, my browser doesn't support Ruby by endr · · Score: 1

      Not sure if this is a joke, or what. Since you can write your silverlight plugin in .net with ironruby, the ruby code will be handled by the silverlight plugin, not your browser.

    140. Re:Um, my browser doesn't support Ruby by tehmorph · · Score: 1

      OK, I'll bite. Rails scales perfectly well if you know how to write apps that scale. I know of several websites that handle millions of hits per day (try the Yellow Pages website- recently reimplemented in Rails with no issues whatsoever). Twitter's picked on because actually it's not brilliantly well-written, and wasn't managed particularly well. See the example of the cdbaby guy who gave up because he didn't know how to write Ruby and just went back to PHP which was heralded as a 'why Ruby sucks' advert.. Rails as a framework is eminently scalable. If you think otherwise, you're eminently stupid.

      --
      Could not open .sig for reading- sanity error
    141. Re:Um, my browser doesn't support Ruby by Wdomburg · · Score: 1

      Nah, it's Perl for people who like Smalltalk.

    142. Re:Um, my browser doesn't support Ruby by PietjeJantje · · Score: 0, Troll

      I really don't mean to be pedantic.. but I'm going to be.

      Anyway, my point is that you seem to have an awfully myopic view of things. *ploink*

      Anyway, it's been a nice conversation. Until you became a pedantic asshole who defends his mvc framework with a stance of superiority.. shame. Was it such a shock? Poor boy. I find many so called OOP experts never considered the statelessness of the web. Such as you. It is strange that, after it is explained to you, you dismiss it by playing the instant expert.

      P.S. How does the asshole reply feel?
      P.S.S. I've forgotten more about OOP than you have ever known. Perhaps you should consider that for a moment, if your kind is capable of that (you are not).
    143. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Sure ... well done framework ... that doesn't scale for shit.

    144. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      why do we need 50 different languages to do the same thing? I learned assembler, then c, then c++ to allow me to program efficiently. I don't need another language to allow me to write things in a script, my own libraries allow me to do that.

      all I need is someone to provide me with a set of nicely set out hooks into their programs.

      Heres a pop quiz, what language is perl/python/java/ruby/wtf..... written in?

    145. Re:Um, my browser doesn't support Ruby by argent · · Score: 1

      I'm not convinced that having infinitely flexible syntax is really that helpful anyway

      Neither am I. What I'm really getting at here is not that I want macros so I can create an "if-maybe-whatever" construct, it's that I'd rather make methods on objects do it all and eliminate "for ... end" and "if ... then ... else ... end" and replace them with "object do: block" and "object ifTrue: block ifFalse: block" or whatever Ruby's equivalents would be. I don't think these things belong in the language, period.

      I'm really not a fan of optional syntax. That way lies Perl.

    146. Re:Um, my browser doesn't support Ruby by benwaggoner · · Score: 1

      It is, however, a Windows only platform. Moonlight is still vaporware, last I heard. Silverlight is and always has been released day and date Mac/Windows. Moonlight is in development, and there's plenty of stuff there to mess around with if you like.
    147. Re:Um, my browser doesn't support Ruby by symbolic · · Score: 1

      Am I the only one who sees something bad about that?

      Not necessarily - it does impose some constraints so that the results will be reasonably good. Of course, you can take a hatchet to what they give you and create a mess out of it, but you can do that with anything.

    148. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      look around, do you think there are too few programmers out there with big education on computer theories?

    149. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      doesn't everyone these days agrees C is a PITA for mostly anything else than low level stuff?

      its syntax is not intuitive.. the language, the libs, are. the syntax is just tasteful, unlike most other languages (including Smalltalk and Python (which comes closer to Ruby every day)).

    150. Re:Um, my browser doesn't support Ruby by jhoger · · Score: 2, Informative

      Somehow I recall closures, blocks, metaprogramming commonly used and usable in Perl before I ever heard of Ruby.

      I'm sticking with Perl and CPAN, thanks.

    151. Re:Um, my browser doesn't support Ruby by jhoger · · Score: 1

      The point of AJAX is that it works with your browser as opposed to in a plugin cage on antibiotics like Silverlight or Flash apps.

    152. Re:Um, my browser doesn't support Ruby by Nicolay77 · · Score: 1

      You seem to confuse Web based apps with network aware apps.

      I prefer a desktop application over a Web based one provided that both use the network (like having real-time collaboration using a central server and stuff).

      Desktop applications traditionally don't use the network, but that's more inertia than anything else. There's not technical reason for those applications to ignore the network.

      To illustrate my point, I use Google mail, but I don't use the Web interface, I use IMAP with a nice and fast mail client, and to me that's has been proven to be much better than the slow Web interface.

      I'm also using Rainlendar (another desktop app) to see my Google calendar events.

      --
      We are Turing O-Machines. The Oracle is out there.
    153. Re:Um, my browser doesn't support Ruby by tgrigsby · · Score: 1

      "The decoupling of presentation from logic is one of the best paradigms you can use for any application."

      Agreed. 100%.


      Me too, but the web is *not* innately MVC. It's innately a scripted view, and that's it. The model and controller don't exist unless implemented, and I guarantee you that with just a little Javascript and some Java classes, I can either implement a slick MVC architecture or avoid MVC almost entirely.

      I still haven't seen an informative argument on what's wrong with Rails in this thread. I have, on the other hand, heard from several different developers that Rails tends to tie the hands of the developer, that it's not applicable to complex problem domains.

      --
      *** *** You're just jealous 'cause the voices talk to me... ***
    154. Re:Um, my browser doesn't support Ruby by tgrigsby · · Score: 1

      Because the web, like he said, is stateless.

      The web is a transport, not the application itself. Stateless is implied in the transport. The disconnect between the View and the Controller should be a stateless one; I can't imagine why you'd want it otherwise.

      As for compiling and constructing, I beg to differ. I've always done my MVC using J2EE (Struts, Hibernate, etc., running inside Tomcat) and stateful web applications are what I assume I'm going to be making. There's one compile, when I compile the Java. Construction occurs as I use classes. I can cache high-use objects in session. With today's languages, tools, and iron, performance becomes a matter of hardware so long as the software is optimized enough.

      I'm just not seeing the "piss poor" problems you're seeing.

      --
      *** *** You're just jealous 'cause the voices talk to me... ***
    155. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      By "like Java", surely you mean "nothing like Java, except that it's procedural and object oriented"?

      The syntax adds plenty, like blocks (to pass code around like any other object), open classes (so that you can actually use OO, rather than creating Util classes), and class-level evaluation (that enables metaprogamming).

      By all means, stick with Java if you don't mind being a maintenance programmer within the next five to ten years.

    156. Re:Um, my browser doesn't support Ruby by Phleg · · Score: 1

      The twitter folks are pretty smart. Given the size of the traffic they have to handle, and their complete and intentional lack of blaming Rails at every step of the way, do you really think it's Rails, or other parts of their infrastructure?

      --
      No comment.
    157. Re:Um, my browser doesn't support Ruby by debackerl · · Score: 1

      Ruby looks a lot more like Smalltalk, and Smalltalk has almost nothing to do with Java. But of course, if you have never been a Smalltalk developer it might be difficult to understand... In addition, Ruby is a scripting language, Java is not. Consequently, you get a lot more possibilities, (and more slowness too).

    158. Re:Um, my browser doesn't support Ruby by PietjeJantje · · Score: 1

      The disconnect between the View and the Controller should be a stateless one; I can't imagine why you'd want it otherwise. In your quest trying to appear smart, you appear quite stupid.
    159. Re:Um, my browser doesn't support Ruby by Hognoxious · · Score: 1

      This is not 1999 anymore. MS has changed a lot in terms of how it approaches web technologies.
      Been to the zoo recently? See any stripy leopards?
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    160. Re:Um, my browser doesn't support Ruby by setagllib · · Score: 1

      Python is way more of a functional language than Ruby, but Ruby's brilliant use of modules and its object/type system makes it pretty functional nonetheless, in that you can reuse functions like in a functional language but you call them and can override them like in an OO language.

      However, the very OO-centric approach falls flat on its face sometimes. Functional really does fit the bill better, and there, Python's more balanced approach is nice. For instance:

      genome11.mateWith(genome2) # Ruby/Java style
      vs
      mate(genome1, genome2) # Python style

      In the first case, you're implying genome1 has the correct implementation, which could have been overriden. In the second case, you're implying mating is not a function of either genome, but a function of the pair itself, which is what most accurately represents the real relationship.

      It's a pretty big difference to how your code ends up being structured. I personally prefer Python's approach.

      PS: Yes, a "real" OO architecture would have a Mater object with a mate(genome1, genome2) method. This just makes it a much more verbose and clunky version of the functional style, where the mating function *is* the object.

      --
      Sam ty sig.
    161. Re:Um, my browser doesn't support Ruby by FreqShow · · Score: 1

      For several years I've been developing more in perl than in any other language. I really like it and for the exact same reasons that many people say they hate it. If you don't like perl, you're just not perverted enough.

    162. Re:Um, my browser doesn't support Ruby by jdinkel · · Score: 1

      You can use syntax exactly like your Python example in Ruby. It's actually the most basic and easy way to define a method. Although, it's also the sloppiest. It's kinda of ironic that your Ruby/Java example usually results in cleaner and more unambiguous code. Anyway, to do your Python example in Ruby, you would just define a method like this: def mate(giver, reciever) ... mating code ... end Now, how does this fit in with the everything-is-an-object? Well, when you define an method like this, it is automatically attached to the "self" class (or something like that, too lazy to look up the details right now). So it becomes the equivalent of self.mate(genome1, genome2). However, I find that when I'm being lazy and sloppy, I write code like your Python example, but then I clean it up and write a proper class with class methods.

    163. Re:Um, my browser doesn't support Ruby by metamatic · · Score: 1

      Ruby is a language that does pretty much all the good stuff Perl does, without Perl's horrible ugly syntax and crufty semantics.

      Or to look at it another way, it's a language that does all the good stuff Python does, without the stupid syntactically significant whitespace.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    164. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      Well, I don't mean to be pedantic, but I'm going to be. You seem to have a basic lack of understanding of both procedural and object oriented programming. Which is not surprising, because you didn't know what the statelessness of the web implied in the first place. It seems you turned very defensive, because you use a MVC framework at work, so your so called opinion is in fact corrupted. It would look very bad indeed if your boss found out you guys are basically pissing against the wind. So you turned into a nonsense talking fanboy.

      I found your description of the qualities of object oriented vs procedural comical, especially considering your stance of arrogance. This is from a guy who's the maintainer of an object oriented scripting language.

    165. Re:Um, my browser doesn't support Ruby by jdinkel · · Score: 1
      Oops, sorry, I butchered the formatting. And I don't know how to edit my post.

      You can use syntax exactly like your Python example in Ruby. It's actually the most basic and easy way to define a method. Although, it's also the sloppiest. It's kinda of ironic that your Ruby/Java example usually results in cleaner and more unambiguous code.

      Anyway, to do your Python example in Ruby, you would just define a method like this:

      def mate(giver, reciever) ...
          mating code ...
      end

      Now, how does this fit in with the everything-is-an-object? Well, when you define an method like this, it is automatically attached to the "self" class (or something like that, too lazy to look up the details right now). So it becomes the equivalent of self.mate(genome1, genome2).

      However, I find that when I'm being lazy and sloppy, I write code like your Python example, but then I clean it up and write a proper class with class methods.
    166. Re:Um, my browser doesn't support Ruby by setagllib · · Score: 1

      I know very well, but in Python there's none of that "attached to the self class" nonsense. Methods can exist entirely independently, and in fact object methods are just a special case where the self parameter is curried. In Ruby it's the other way around, where being an object method is the norm and being a function is a special case.

      But this isn't about implementation details, it's about *idioms*. Where you do map(f, x) in Python, you do x.map{|a| f(a)} in Ruby. So Python is more functional and Ruby is OO.

      --
      Sam ty sig.
    167. Re:Um, my browser doesn't support Ruby by Smortex · · Score: 1

      Not only that - my platform doesn't support silverlight. But maybe it supports MoonLight, the Mono implementation of SilverLight ;-)
    168. Re:Um, my browser doesn't support Ruby by Anonymous Coward · · Score: 0

      if by "well done" you mean 'requires insane dependencies that make it unsuitable but for dedicated servers' and "to the masses' mean 'unbearably slow', then you're right

    169. Re:Um, my browser doesn't support Ruby by encoderer · · Score: 1

      Wow, looks like you had a bad week. You've taken this far too seriously. Honestly, man, this is a discussion of one paradigm vs. another.

      Why let it go to your head?

      Life is short. You should really take the time to enjoy it more.

      I'm sorry I called your view of application development "myopic." You seem to be very sensitive to polite but unequivocal criticism. Had I realized you'd be so offended, I'd have left it out.

      In my opinion it really WAS a nice conversation. Maybe we can pick it up again when you're less stressed-out.

    170. Re:Um, my browser doesn't support Ruby by encoderer · · Score: 1

      Piet, I'd take a step back and ask yourself why every reply to your post said the same thing:

      HTTP is stateless, applications that use HTTP are not. State is maintained in a variety of ways. Objects are not 'thrown away' and rebuilt for every request.

      Any OO framework worth its salt has tools to assist with object caching.

      There's really no reason to get your panties in a bunch. All I can figure is you're the programmer who hasn't learned OOP and rails against it so your lack of knowledge looks tactical rather than just lazy.

      I'm not saying I'm right, I'm just saying that's how you're coming across.

    171. Re:Um, my browser doesn't support Ruby by encoderer · · Score: 1

      PietjeJantje, you must have forgotten to log-in before posting this!

      You probably didn't even realize you were posting as AC. I wouldn't worry about it, though: It's obvious.

    172. Re:Um, my browser doesn't support Ruby by DragonWriter · · Score: 1

      However, the very OO-centric approach falls flat on its face sometimes. Functional really does fit the bill better, and there, Python's more balanced approach is nice. For instance:

      genome11.mateWith(genome2) # Ruby/Java style
      vs
      mate(genome1, genome2) # Python style

      In the first case, you're implying genome1 has the correct implementation, which could have been overriden. In the second case, you're implying mating is not a function of either genome, but a function of the pair itself, which is what most accurately represents the real relationship.


      Actually, the "mating" behavior seems to be a behavior of the type-of-thing "genomes", for which the most direct translation into Ruby-style OO is using a class method on the Genome class which takes two genome objects and returns a third, e.g., Genome.mate(genome1, genome2). Now, its true that frequently people would implement this using instance methods, but that's no less true of Python than Ruby. Using a global "mate" function, as your Python version does, is not good, because then if you want to implement, say, mating behavior for organisms, and you try to do mate(organism1, organism2) you can't, and you have to work around that. If you use class methods in Ruby, you naturally then have Organism.mate(organism1, organism2). And, even if it is less elegant than class methods, you don't have a problem if you used instance methods either, as organism1.mate(organism2) doesn't get in the way of genome1.mate(genome2).

      Of course, using Common Lisp or some other system that supports multimethods instead of Python would obviate the problems with the Python approach you suggest, since then mate could be a multimethod with genome, genome and organism, organism specializations, so there would be no collision. I think class methods have the best match to the logic of what is going on, though in practice I'd probably implement instance methods that called the class methods.
  2. Move over ARAX by Icegryphon · · Score: 0

    It is AFRAX!

    1. Re:Move over ARAX by ShieldW0lf · · Score: 4, Funny

      Hey Balmer!

      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!

      --
      -1 Uncomfortable Truth
    2. Re:Move over ARAX by guaigean · · Score: 1

      Steve, is that you?

      --
      Microsoft Sucks, F/OSS Rocks. I get mod points now right?
  3. Uhm by QUILz · · Score: 0, Redundant

    I'm pretty sure I remember a similar, if not the same article to this a while back.

  4. Somebody update NoScript. by SatanicPuppy · · Score: 1, Insightful

    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?

    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 .Net and then they decide they're going to hitch their new flashy webthingy to Ruby...

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    1. Re:Somebody update NoScript. by moderatorrater · · Score: 3, Insightful

      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.

    2. Re:Somebody update NoScript. by hostyle · · Score: 2, Interesting

      Note that Ruby scripting is being integrated into Silverlight - which is similar to Flash - not Internet Explorer. While it offers more than Flash does (you can write full applications ala XUL with Silverlight) it also does similar embedded rich apps ala Flash, but its not a browser (yet).

      --
      Caesar si viveret, ad remum dareris.
    3. Re:Somebody update NoScript. by Simon+(S2) · · Score: 5, Interesting

      Weak security because of dynamic typing? You really have to elaborate on this, because like this it just makes no sense. How is a strong typed languare more secure than a dynamic typed one?

      --
      I just don't trust anything that bleeds for five days and doesn't die.
    4. Re:Somebody update NoScript. by x_MeRLiN_x · · Score: 2, Insightful

      Why exactly would they be adding (managed) C++ support when they have already done so?

      I can see 75% of Slashdot talking out of their ass on this one.

    5. Re:Somebody update NoScript. by pizza_milkshake · · Score: 1

      Port a language with better scalability and modularity, not more of the same.
      But that's exactly the point, exactly the point. The wins for Microsoft are two-fold: keep developers busy with yet another language AND increase the need for beefier microprocessors by using a language whose implementation is known to be abysmally slow[1] (Intel likes this)
      1. The Great Computer Language Shootout
    6. Re:Somebody update NoScript. by BillGod · · Score: 1

      ARAX? Is that the Chinese version of AJAX?

      --
      MISSING - Sig file. 2 years old black and white and very funny. If found please email me.
    7. Re:Somebody update NoScript. by bob.appleyard · · 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.

      --
      How dare you be so modest!! You conceited bastard!!
    8. Re:Somebody update NoScript. by Reality+Master+201 · · Score: 1

      No, that would be ALAX.

      The problem that many Chinese speakers have is in distinguishing between phonemes [l] and [r] in English. That's because their own language doesn't contain such a phonemic distinction between those two liquid consonants, despite the fact that they might well produce sounds which sound more or less the same as those in English.

      Fascinating, no?

    9. Re:Somebody update NoScript. by Lobster+Quadrille · · Score: 4, Interesting

      http://www.google.com/search?q=%22Type+conversion+error%22+attack

      Dynamic type conversions are a pretty common way to exploit SQL injection holes and circumvent input validation.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
    10. Re:Somebody update NoScript. by Anonymous Coward · · Score: 1, Informative

      Because, for instance, the Java type system will not allow you to replace the String implementation with a custom one, whereas in duck-typed languages, the string can be completely replaced and used to capture sensitive information.

    11. Re:Somebody update NoScript. by SatanicPuppy · · Score: 1

      I could definitely see Python, with its ability to incorporate C libraries, bridging that sort of gap. Still, even there, you've got a solution without a problem...It'd be easy to remove some of the roadblocks between user and data, but when you do that, you're compromising security.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    12. Re:Somebody update NoScript. by Anonymous Coward · · Score: 0

      The security issue comes down to exploits. When your dealing with user inputted values, if you think its a number and treat it like a number, but the user enters something that isn't a number it could be designed to overflow or an SQL injection. User inputted data should be strongly typed so that it rejects any data that is not of that type.

    13. Re:Somebody update NoScript. by Blnky · · Score: 2, 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 appears to be the outlier to me. Would you please explain why you think that Ruby is more like Javascript than Java or C++? Additionally, what well known scripting languages are you referring to when you request more scalability and modularity? Or are you assuming that a compiled or non well known language would be better?
    14. Re:Somebody update NoScript. by Anonymous Coward · · Score: 0

      Ruby is not significantly different, once you get past syntax. Both have closures, "open" objects, and dynamically-checked duck typing, to name three big aspects of language semantics that neither Java nor C-alikes have.

      Sure, it's not a perfect fit but they are much, closer than the other candidates you name.

    15. Re:Somebody update NoScript. by srussell · · Score: 1

      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)

      I call bullshit.

      Javascript is a prototyping language, and is significantly in syntax and behavior from both Ruby and Java. Ruby has similar class inheritance rules and visibility syntax; Javascripts are entirely different.

      --- SER

    16. Re:Somebody update NoScript. by Osurak · · Score: 1

      Weak security because of dynamic typing? You really have to elaborate on this, because like this it just makes no sense. How is a strong typed languare more secure than a dynamic typed one? It's not more secure, it's just that the compiler/run-time performs additional tests against what types objects are when they are created and passed around. Ideally these types of errors are caught by the coder anyway during the testing phase, at which point strong typing becomes more of a burden than anything else.

      I suppose if you don't want to test your stuff, it's a big benefit to use a strongly-typed language.

      In truly secure code, you should be checking that sort of thing manually anyway, and not relying on the compiler/interpreter to do it for you. That way, you know that it is done, and done correctly, and can be verified by others on your programming team.
    17. Re:Somebody update NoScript. by mixmatch · · Score: 1

      While it offers more than Flash does... Like cross-browser and operating system compatibility? Oh yeah, its another vendor lock-in product targeted at web developers. Tell me about it when it can actually be used for the Internet.
    18. Re:Somebody update NoScript. by LeafOnTheWind · · Score: 1

      I don't know about secure... Some of these things I may have to lay on browser object models and server-side languages, but both XSS and CSRF aren't helped by Javascript. After seeing some of the possible browser SOP violations (same origin policy) using Javascript, I no longer trust any Javascript/HTML based applications.

    19. Re:Somebody update NoScript. by Simon+(S2) · · Score: 1

      but the user enters something that isn't a number it could be designed to overflow or an SQL injection. User inputted data should be strongly typed so that it rejects any data that is not of that type. We are talking about a client side language here, running in the browser. If currently you write SQL queries in javascript, and deal with SQL injection issues in javascript, I think you have way more serious problems in your code :)
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    20. Re:Somebody update NoScript. by srussell · · Score: 1

      Weak security because of dynamic typing? You really have to elaborate on this, because like this it just makes no sense. How is a strong typed languare more secure than a dynamic typed one?

      Yeah, security isn't the issue with typing, unless runtime type errors can cause your application to be insecure.

      In any case, he was claiming that Java is strongly typed, which it isn't, or at least wasn't (in practice) until 1.5 and generics came along. Generics made it much better, but I've always found the type system to be pretty weak.

      --- SER

    21. Re:Somebody update NoScript. by Simon+(S2) · · Score: 1

      http://www.google.com/search?q=%22Type+conversion+error%22+attack

      Dynamic type conversions are a pretty common way to exploit SQL injection holes and circumvent input validation. We are talking about a client side language here, running in the browser instead of javascript. If currently you write SQL queries in javascript, and deal with SQL injection issues in javascript, I think you have way more serious problems in your code :)
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    22. Re:Somebody update NoScript. by Mctittles · · Score: 3, Interesting

      While it offers more than Flash does I don't know where people keep getting their ideas on "more" than flash does, but I'm suspecting it is from some dirty marketing campain from microsoft. You know if you search for silverlight you will find at the top of a google search are blogs about silverlight vs flash, but after reading a couple paragraphs you realize that it is no more than a commercial for silverlight...they even sound like a scripted commercial...and they compare flash from 15 years ago to silverlight instead of flash from today. Then after more digging I've found the comments for sites that write about silverlight are scripted half the time too. I've even found comment sections on articles written by microsoft staff in defense on their product so you know they are spending many hours searching the net to try and make sure anything within the first few pages of a search is biased.....it's annoying because it seems to be working, although very little people have actually used both silverlight and flash extensively, hearing a random person say "it is better" leads them to believe it. (END RANT)
    23. Re:Somebody update NoScript. by osu-neko · · Score: 1

      My Japanese teacher told me, if you want to torture someone from the Japan, when you introduce yourself, tell them your name is "Laurel". The true genius of this is, people are less concerned if you mispronounce some random word than if you mispronounce their name. Talk about pressure... hehe.

      --
      "Convictions are more dangerous enemies of truth than lies."
    24. Re:Somebody update NoScript. by Anonymous Coward · · Score: 1, Insightful
      > using a language whose implementation is known to be abysmally slow

      ...except the whole point here is that Microsoft is not using said implementation, you know.

    25. Re:Somebody update NoScript. by chromatic · · Score: 1

      That's more to Java being stupidly typed rather than securely typed. The standard library and JCP are overfull of "The last API you will ever need, and so you can't change it!"

    26. Re:Somebody update NoScript. by Lobster+Quadrille · · Score: 1

      The question had nothing to do with the implementation. The GP asked how typing affects security.

      The point still stands- you can use type conversion errors to circumvent some input validation techniques.

      --
      "The cup is in turn designed for holding hot or cold liquids, and has an open rim and closed base." --US Patent #5425497
    27. Re:Somebody update NoScript. by lazyl · · Score: 1

      I don't know anything about ruby but Javascript has both closures and direct object inheritance. And 'encapsulation' just means the ability to separate an interface from an implementation and you can do that easily in Javascript as well. And saying Javascript doesn't have 'explicit class declaration' doesn't make any sense because Javascript doesn't have classes.

      --
      Aw crap, ninjas!
    28. Re:Somebody update NoScript. by raftpeople · · Score: 1

      Can you expand on why you think Java is not strongly typed? It seems to me I get an error if I try to assign an incorrect value to a var (declare as var of class X, assign to object of class Y, get runtime error)

    29. Re:Somebody update NoScript. by nuzak · · Score: 1

      The GP's logic is that Java containers (other than Array) are not strongly typed, because they only take Object. Everything is Object in Java, so everything can go into a container, even if it's illogical. Generics mitigate this somewhat, but given that they're erased, they're not hard to fool.

      In the runtime, it's still quite strongly typed -- the downcast will fail when you retrieve an inappropriate object. From the perspective of static typing, it's completely untyped, which is as weak as typing gets.

      --
      Done with slashdot, done with nerds, getting a life.
    30. Re:Somebody update NoScript. by krmt · · Score: 1

      Your characterization of javascript is rather bizarre. It has encapsulation via closure and inheritance via prototypes. Closures in javascript are critical to actually using the language in a nice way if you listen to Doug Crockford, whereas rubyists tend to ignore them and just pass lambdas that don't depend on closure around. That said, no other language in that list relies on lambdas in the same way. Python has them, but they're notoriously limited. So I agree with the grandparent that Javascript and Ruby are relatively close languages, when compared to the others on that list. About the only thing I can imagine that's closer to Javascript is Scheme or Lisp.

      --

      "I may not have morals, but I have standards."

    31. Re:Somebody update NoScript. by recoiledsnake · · Score: 1

      Sliverlight offers more for the developer, not exactly for the end user. Since it enables developers to do more, easily, the benefits will pass on the users. Atleast that is the idea. Silverlight will open up Flash-like development to regular web developers who develop in Python, Ruby and C#, not just specialist Flash developers. And before you accuse me with your paranoid mindset, I am not a Microsoft employee.

      --
      This space for rent.
    32. Re:Somebody update NoScript. by Just+Some+Guy · · Score: 1

      When your dealing with user inputted values, if you think its a number and treat it like a number, but the user enters something that isn't a number it could be designed to overflow or an SQL injection.

      No it couldn't, because your database library won't allow attackers to spew random stuff into you parameterized queries.*

      *Anyone dumb enough to hand-built queries from user-submitted data deserves whatever happens do them.

      --
      Dewey, what part of this looks like authorities should be involved?
    33. Re:Somebody update NoScript. by Mctittles · · Score: 1

      Heh...thanks for pointing out my paranoia. This is actually the first time I have been this paranoid, but I think I have good reason. Here is the first link on a good search for "flash vs silverlight" http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx Maybe the guy writing this is all up in arms over silverlight and clueless about flash, but it just seems too damn fake. And like most comparison's he is comparing earlier (actually the first beta!) versions of flash with silverlight. Anyway, regardless of my paranoia, to say silverlight offers "more" or is "better" is not a fair comparison. There is sooo much you can do with AS3 that is different from silverlight that you can't say one is more or better than the other. I'm sure it is nice to be able to program in your language of choice. However, just like ASP that allows you to choose a language, I find most people us VB just to have some kind of consistency between users. With flash you are forced to program in AS3 (or use Flex with drag and drop components), however you are not limited to backend languages to connect to. Adobe didn't get a slashdot article for every backend language it supports, because it supports pretty much ALL of them. Not ONLY windows platform specific built in. And if you want integration INTO the platform, then you can use flash remoting or Flex. Now it's not asp.Net + Silverlight, the integrated development for those is coldfusion + flash...same diff really though. Just Adobe is not the owner of .Net. And of course with either of those you can go straight into code if you want and connect to any script you want. There are very few AS3 programmers out there as I look on flash forms and see people still asking AS2 questions so I think that is where most of the comparison against silverlight is coming from. But if you are going to have to learn something new anyway, it might as well be AS3 with years of experience to fine tune their program language. Did you know you can animate everything within an XML file instead of coding in AS3? You can also use dynamic XML to change anything you want...you are not shoehorned into anything in the newest flash and that's what I think the beauty is. ok ok...etc etc. I've wrote too much. Next comment.

    34. Re:Somebody update NoScript. by Anonymous Coward · · Score: 0

      Bah, Java has no real scalability. Try Erlang and other functional languages for true scalability.

    35. Re:Somebody update NoScript. by bob.appleyard · · Score: 1

      I agree that data coming from an untrusted source should be vetted as a matter of course. You can do a lot to help that using methods specific to the domain (e.g. using prepared SQL statements rather than concatenating strings, avoiding null terminated strings like the plague), but I am of the opinion that making user input conform to a type system is tangential to the issue of security.

      After all, you're just pulling bytes from a pipe of some kind. Bytes from a pipe are not subject to compiler magic, and are pretty much by definition unsafe.

      If you can give an example where type theory trumps domain specific sanity checks, I'm all ears.

      --
      How dare you be so modest!! You conceited bastard!!
    36. Re:Somebody update NoScript. by benwaggoner · · Score: 1

      Note that Ruby scripting is being integrated into Silverlight More accurately, the dynamic language runtime is capable of handling Ruby among other languages. I'm sure all kinds of unusual languages could be implemented in it.
    37. Re:Somebody update NoScript. by Anonymous Coward · · Score: 0

      Only idiot PHP monkeys still write code susceptible to SQL injection.

    38. Re:Somebody update NoScript. by Jack9 · · Score: 1

      //big Erlang fanboy here. I will continue the Erlang criticism as long as it continues to fall short of being usable.

      Scalability by writing all your hardware drivers/software communication, yourself, in C, doesn't really equate to scalability as much as writing your own implementation of a an Erlang-like language. Java seems to do just fine for geo-location and other high availability, high traffic services. Heck, Java has effectively POPULARIZED service-based servers in the last few years.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    39. Re:Somebody update NoScript. by Anonymous Coward · · Score: 0

      I don't think they hitched their flashy web thingy to Ruby. .Net can run any language which can be compiled to MSIL. Of course whether or not they are wasting their time even supporting Ruby is a different question. Personally I haven't used Ruby and I am biased towards the strongly typed languages such as Java and C#, but when speaking at a conference for Ruby users I would laugh pretty hard if they walked in and said "Look at silverlight! It will run your C# great!"

      As for the security thing, there are definately security risks with virtually anything non-trivial you do in the browser but everything that runs on silverlight is ultimately MSIL and must be verified for type safety before it can execute. You can get around some of the static typing constraints by typing everything as object but then you have just swapped out static checks for runtime type checks. Of course if there was a bug in the enforcement of the security model then yeah, you could be hosed. But the same security rules are being enforced on C# as are being enforced on Ruby because by the time the security system is looking at it, it doesn't really even know which language you started with.

  5. Look at ol' MS by flanksteak · · Score: 3, Interesting

    Doing a little something for developer mindshare. But then this is really just a way to push .NET.

    Questions:

    1. Anybody see Firefox adding support for other scripting languages as a result of this?
    2. Does this bode well for things like Moonlight and Mono?
    1. Re:Look at ol' MS by Bryansix · · Score: 3, Informative

      But AJAX works great in .NET already and it does everything you want it to do and you don't need to know javascript to make it work. All you need to do is set the right attributes in the controls you call and presto you have AJAX. The server takes care of generating all the javascript for it to work. Why they would move to this is totally beyond me besides malicious intentions.

    2. Re:Look at ol' MS by flanksteak · · Score: 2, 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 least expect.

    3. Re:Look at ol' MS by orasio · · Score: 2, Interesting

      But AJAX works great in .NET already and it does everything you want it to do and you don't need to know javascript to make it work. I code .NET for a living, and that is just not true.

      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.
    4. Re:Look at ol' MS by DragonWriter · · Score: 1

      Anybody see Firefox adding support for other scripting languages as a result of this?


      Mozilla is already working with Adobe on a project called "Tamarin" which is an bytecode compiled Javascript engine that will be used in Mozilla products and Adobe products, one side project of which ("IronMonkey") is aimed at providing Ruby and Python (and maybe PHP) support, apparently through simply taking IronRuby and IronPython (and maybe IronPHP) and doing a mapping from the CIL to Tamarin's bytecode. So I don't see Mozilla adding more scripting language support in response to Microsoft's recent announcements, since Mozilla's already working on that support.

      There are also another Ruby on JavaScript project (HotRuby) that has produced a working (but somewhat limited, so far) Ruby 1.9 bytecode interpreter that runs on JavaScript. So support for additional scripting languages in browsers seems to be coming from multiple different directions.
    5. Re:Look at ol' MS by mls · · Score: 1

      1) because of this specifically, probably not, but they are adding Python for XUL scripting
      2) IronPython and IronRuby provide the ability to run Python and Ruby code with a CLR environment (e.g. .NET Framework, Silverlight, Mono and Moonlight). Right now, your Python/Ruby code is running in an interpreter directly in the OS using code written in something like C or C++. IronPython and IronRuby are this interpreter, but they are instead written in C#, and run on the CLR which itself runs within the OS. SilverLight/MoonLight are just plugins, similar to how Flash is a plugin.

      If someone wanted to invest the effort, you could similarly create IronPerl, IronVBA, IronVBScript, IronJavaScript, IronTCL... Though, I've got to say that IF I were to target Silverlight, I would just skip all that overhead and write directly in C#.
      --
      -mls
    6. Re:Look at ol' MS by MobyDisk · · Score: 1

      Maybe I'm using the wrong tools, but I've never been able to make an AJAX application without writing Javascript. I suspect that is a pipe dream much like the idea of making a UI solely by dragging and dropping controls onto a form. It looks great in documentation and demos, but never in the real world.

    7. Re:Look at ol' MS by Bryansix · · Score: 1

      Oh ya, I can never drag and drop controls to make a page but I have a friend who can. He just taught himself how and that's how he builds things. He starts graphically putting things in the property boxes as he goes and switches to code view only when he really has to.

    8. Re:Look at ol' MS by flanksteak · · Score: 1

      If someone wanted to invest the effort, you could similarly create IronPerl, IronVBA, IronVBScript, IronJavaScript, IronTCL... IronTCL? I like that. What's the worst IronX you can think of? IronCOBOL, IronLOGO? Whatever it is, you know someone will try it just so they can say they did.
    9. Re:Look at ol' MS by mls · · Score: 1

      I almost said IronCOBOL, but there is already a compiler for COBOL to MSIL (Fujitsu NetCOBOL) that has been around for a few years now. No need to interpret COBOL when you can compile to directly to MSIL.

      --
      -mls
    10. Re:Look at ol' MS by Gavagai80 · · Score: 1

      It's malicious because it prevents people from using platforms which silverlight isn't well-supported on -- anything but Windows and OS X right now, and if things worked out they'd eventually make things less functional on OS X.

      --
      This space intentionally left blank
    11. Re:Look at ol' MS by nuzak · · Score: 1

      IronBrainFuck. IronUnlambda. IronBefunge.

      --
      Done with slashdot, done with nerds, getting a life.
    12. Re:Look at ol' MS by flanksteak · · Score: 1

      It's malicious because it prevents people from using platforms which silverlight isn't well-supported on -- anything but Windows and OS X right now, and if things worked out they'd eventually make things less functional on OS X.

      Not supporting every possible platform in an early release is malicious? If MS expects Silverlight to supplant Flash, they'll have to release a Linux version or help Moonlight as much as possible. Especially with AIR on the way. Not doing so is dumb, but not malicious.

      I missed the part about how this will make things less functional on OS X. Why is that exactly?

    13. Re:Look at ol' MS by flanksteak · · Score: 1

      Cool entry, but the linked bug is old and none of this seems to be in any upcoming FF release.

    14. Re:Look at ol' MS by flanksteak · · Score: 1

      Just wait for IronAssembler and then the circle will be complete.

    15. Re:Look at ol' MS by jdinkel · · Score: 1

      It might not kill Ruby, but they could take control of Ruby. This is especially a concern since Ruby is so young and it lacks an official specification (MRI is considered the de facto specification). And the idea is not to kill Ruby, but to kill Javascript and flash and replace with something they control. And if they can control Ruby (ie. get to the point where IronRuby is so widespread that IT is the de facto standard), they could cripple it so it doesn't run as well on Linux as on Windows.

    16. Re:Look at ol' MS by flanksteak · · Score: 1

      Ruby is actually older than Java.

      MS might be able to steer Ruby, but that's not really what they're after. They'd be happier with more IronX languages so that they can take mindshare away from Java. I'm not sure how much Sun makes from Java (it seems that so much of what you can do with Java is given away), but I don't think it's anywhere near as much as MS could make from .NET.

      I mentioned before that Silverlight will always be 2nd banana as long as it remains Windows only. Flash works well enough on Linux, and Adobe AIR is coming to Linux, too, so what does Silverlight offer besides slightly fewer deployable platforms? Right now only a choice of languages. That might be enough for the Ruby hackers out there whose day jobs require hacking for Windows-only browsers to consider Silverlight. MS isn't going to be able convert OSS hackers en masse, but a little here and there might make a difference.

      It will be interesting to see how far the Iron family of languages can work their way into the OSS world. Gates never would've allowed something like this, but he's out of the picture and Ballmer is too obsessed with advertising to pay much attention to Ruby on .NET.

  6. Not only... by ncannasse · · Score: 3, Informative

    There's already Java (with GWT) and haXe

  7. learn..... by Anonymous Coward · · Score: 0

    Or they could learn javascript.... it really isn't that complex, JS2 is a mess, but Crockford is right and JS is decent enough.

  8. So what makes ruby developers so special by ncttrnl · · Score: 0, Troll

    that they can't use more than one language like the rest of us?

  9. Do we really need this? by _bug_ · · Score: 2, Insightful

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

    1. Re:Do we really need this? by Dan667 · · Score: 1

      Client side languages always blow. You cannot possibly cover every type of OS and browser so you are always going to have a half-assed solution.

    2. Re:Do we really need this? by moderatorrater · · Score: 1

      You're right, we should make our computers secure and unplug everyone from the internet!

      But seriously, the security holes won't come from the ruby language itself, but from the silverlight platform. Build silverlight securely and the rest will follow. Build the OS securely, and the rest will follow. That's the point: layer security, then when you put a new layer on you don't have to worry so much about whether or not that layer is going to have a few holes.

      What we don't want to do is stifle new developments because of unfounded fears of security holes. If you don't want this insecure platform on your desktop, that's fine. For me, I'll run it as another user in a sandboxed instance so that it won't fuck up my machine badly if it does break.

    3. Re:Do we really need this? by urcreepyneighbor · · Score: 4, Funny

      Silverlight is going to allow .NET code, not just Ruby. Sweet jesus. It's ActiveX 2.
      --
      "The fight for freedom has only just begun." - Geert Wilders
    4. Re:Do we really need this? by The+End+Of+Days · · Score: 1

      First off, what the hell is a client side language?

      Second, the languages themselves are fine. Your complaint seems more to be about APIs. Even this isn't really much of a problem in most well defined platforms, although there are always corner cases. Since the alternative is a separate source tree for each environment, I'd say I'm pretty happy with the current state of things, as well as the direction they're heading.

    5. Re:Do we really need this? by Gat0r30y · · Score: 1
      You make an excellent point. What exactly is the problem developers are having that this solves:

      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
      I'm not a Ruby developer and frankly don't know squat about it (web.py myself - its pretty darn bad ass) Is this really a problem for Ruby developers? With IronRuby - Django and the litany of tools available to developers a guess I'm just failing to see what this does for anyone? Any Ruby developers out there care to fill me in? Do you really need to run client side code? Does RJS not work for you?
      --
      Prediction: The real iPhone killer is going to be sex robots from Japan. Think about it.
    6. Re:Do we really need this? by Jesus_666 · · Score: 2, Insightful

      Even worse, it's VBScript 2.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    7. Re:Do we really need this? by Dan667 · · Score: 1

      A client side language is where the browser executes code that the web server sends it. The software parser resides on the client. These are languages like javascript, flash, client side java. My complaint is not with the API, it is that you cannot know and test every ones computer that might use your website. If you have never been to a website with a broken applet (works half-assed), etc consider yourself lucky.

    8. Re:Do we really need this? by benwaggoner · · Score: 1

      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. There certainly have been some serious Flash vulnerabilities over the years, but have there been many with Silverlight and .NET before it? Bear in mind that Silverlight is a subset of .NET, which has had security as a strong focus for years. And Silverlight provides no way to access native code from the plugin at all; it only runs in its sandbox.

      Also, in the end the number of languages that can compile into .NET bytecode and run in the CLR/DLR doesn't really change the threat matrix. It's really the runtime we have to sweat, and the bytecode that could be used to attack it. What that bytecode gets compiled from is pretty irrelevant, since one should assume malicious attacker would be able to hand-code bytecode if that's what it took.
    9. Re:Do we really need this? by Anonymous Coward · · Score: 0

      Can someone tell me SIMPLY if there is any app which can not be made in JS but in ARAX.

      By app I mean for the users of the world rather than a demo to show off some aspect of the language.

      If there is no such app, then we can safely ignore this development until someone comes up with such an app which impresses us right ?

      Thanks.

  10. This time by Simon+(S2) · · Score: 0, Troll

    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.
    1. Re:This time by Anonymous Coward · · Score: 0

      I didn't read the article but the abstract just implies that they "will" do it. I may care when it is done. I certainly don't care about it in the interim.

    2. Re:This time by drinkypoo · · Score: 5, Insightful

      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.

      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

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:This time by poetmatt · · Score: 3, Insightful

      Why?

      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?

    4. Re:This time by poetmatt · · Score: 1

      He is a troll/schmuck. Go look at his other user comments and the shit he says.

      examples: look at his open source comments, etc.

    5. Re:This time by JasterBobaMereel · · Score: 2, Insightful

      Microsoft did something not cool and not useful

      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 ... and Silverlight was allegedly cross-platform ... this cuts it down to .... windows only again ...

      --
      Puteulanus fenestra mortis
    6. Re:This time by Simon+(S2) · · Score: 1

      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.

      No, I am not trolling. I am very serious and I mean what I write. Just because there is nothing wrong with Javascript does not mean there should be nothing else beside it that is better. There was nothing wrong with Cobol as well, but something better came up one day. Was that the only argument you had?

      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

      Calling me a troll seems to be the only thing you are able to do. Just elaborate on what you think instead of calling names like 3yr old.
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    7. Re:This time by Simon+(S2) · · Score: 1

      What's wrong with my open source comments? Maybe you should go and reply with some arguments instead of just writing nonsense.

      --
      I just don't trust anything that bleeds for five days and doesn't die.
    8. Re:This time by Simon+(S2) · · Score: 1, Insightful

      Microsoft did something not cool and not useful Well, if you don't like it, don't use it. We all have different tastes.

      Not cool as in hijack something cool and do something that ties it to their latest thing... How exactly is this going to tie ruby to silverlight? This will use ruby in IE instead/together with javascript. This will in no way affect MRI that will continue to exist just fine as it did until now.

      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 ... The article and the summary are very clear that this will be a client side implementation of ruby. No IIS involved. And yes, it will work only in IE if nobody else implements it. What's wrong with that? It's the same with XUL: nobody else can use that.

      So this is another way to break all the other systems ... and Silverlight was allegedly cross-platform ... this cuts it down to .... windows only again ... Ruby is cross platform. If Silverlight will ever be, we'll see (I am not holding my breath).
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    9. Re:This time by Anonymous Coward · · Score: 0

      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 It turns out you were wrong, at least half the posts here have been bashing Ruby.
    10. Re:This time by Foofoobar · · Score: 2, Insightful

      Microsoft has built alot of great tools and products but I fail to see how hitching their failing Silverlight product to an overly hyped language whose golden days are now over is such a great idea. Al the CEO's and developers who jumped on the Ruby bandwagon are quickly abandoning it and Silverlight has gailed to even make a dent in Flash's market share. How are either of these going to help each other? Why would the consumer want to be forced to download both of these things?

      --
      This is my sig. There are many like it but this one is mine.
    11. Re:This time by asc99c · · Score: 4, Insightful

      Probably shouldn't feed the troll, but ...

      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

      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.

    12. Re:This time by sm62704 · · Score: 1

      Microsoft did somethin cool and useful.

      What's cool about it, and how is it useful seeing's how Internet Explorer's the only browser that supports it, or seemingly will in the future?

      To all of you who saw Field of Dreams: It was fiction. They will NOT come just because you build it! They will come only if it is not only useful, but more useful than the established alternatives.

      "Cool" is a valid reason to do something in your garage or in the bar (A good friend will bail you out of jail. A great friend will be sitting there with you saying "wow, that was fun!").

      "Cool" is NOT a valid reason to do something in business unless "cool" is what makes money for you.

      --
      mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
    13. Re:This time by Simon+(S2) · · Score: 1

      His argument was against your assertion that 'everybody thinks javascript just doesn't cut it for current web apps'. Well, javascript as a language has nothing wrong by itself, but it was never meant to do things like AJAX, drag & drop items, move a map or a lot of other things that it currently (with a lot of hacks) does. Just look at the drag&drop source of script.aculo.us. It's huge. With something that is not javascript (or with a "better" javascript) this could all be done a lot more easier (and maybe without third party libraries!).
      If ruby is the answer to the problem I don't know, and I am not sure MS is the right entity to make such a choice, but they try. I'll look forward at what comes out from this.
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    14. Re:This time by Anonymous Coward · · Score: 0

      Microsoft Bob was probably the last sincere product out of Redmond

    15. Re:This time by osu-neko · · Score: 1

      Statements of the form "Everybody thinks X" are obvious nonsense. Alas, anyone who doesn't think X feels the need to object, producing a bunch of indignant replies. Thus, it's a common tactic for trolls to use. Of course, that doesn't mean someone who says something like that is an intentional troll, sometimes they're just stupid, or sometimes they're otherwise intelligent people displaying a momentary lapse in judgment.

      In any case, it is true that you were writing nonsense, and it's a reasonable (if not necessarily correct) supposition that you were trolling.

      --
      "Convictions are more dangerous enemies of truth than lies."
    16. Re:This time by Anonymous Coward · · Score: 0

      Javascript is a functional language wrapped in procedural clothing.

      If javascript "doesn't cur it", then I assure you it's the programmer not the language causing the problem.

      Sure it's almost ruined by the crappy environments it's always used in.

      Of course ruby has it's own set of functional features anyway, but seriously as a language javascript is way above average.

    17. Re:This time by Tweenk · · Score: 3, Interesting

      Under 1000 lines for drag & drop support? This looks like a moderate amount of code, taking into account that you only get raw mouse coordinates from the browser in JS, and that it supports IE.

      People dislike Javascript, but in fact it's very powerful. Its Achilles' heel seems to be that no one cares to really learn Javascript like a regular programming language. Rather, people doing Web development look at it as a hacky tool to add bling to their website. They learn small bits of it whenever they want some new effect they saw on the other guy's site, but never stop to learn how to use the vast array of built-in functions effectively, how to create objects, how closures and functional primitives work. Javascript is very much a "real" programming language, but its niche causes most to overlook its powerful and one-of-a-kind features and instead view it through the multitude of browser quirks one has to deal with when using Javascript in Ajax.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    18. Re:This time by Haeleth · · Score: 1

      Just look at the drag&drop source of script.aculo.us. It's huge.
      Is it? Are we supposed to take your word for that? Drag-and-drop sounds complicated to me -- how do I know that file isn't big simply because it does a lot?

      Size is meaningless as a metric unless you tell us what scale you're using and how it's calibrated.
    19. Re:This time by Tweenk · · Score: 1

      it will work only in IE if nobody else implements it. What's wrong with that? It's the same with XUL: nobody else can use that. XUL is predominantly used to write cross-platform browser plugins and the browser GUI itself. There's no website that needs XUL - there are only browser plugins that need XUL. This is very different from client-side scripting, which is sometimes vital to deliver the functionality of your website.

      This new "feature", if it gets adopted to any significant extent at all, will only increase the burden on browser developers, as opposed to enabling something that couldn't be done before. Adding a second scripting language to the browser looks a lot like the OOXML bonanza to me.
      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    20. Re:This time by Simon+(S2) · · Score: 0, Troll

      Under 1000 lines for drag & drop support? This looks like a moderate amount of code, taking into account that you only get raw mouse coordinates from the browser in JS, and that it supports IE. That's my point. 1000 lines of code to implement Drag&Drop is not a moderate amount of code for a feature that should be part of the language specification itself. If an html element had drag_start, drag_within and drag_stop events, just like Desktop GUI Widgets, all that code would be obsolete, and everything would be a lot cleaner.
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    21. Re:This time by Simon+(S2) · · Score: 1

      Is it? Yes.

      Are we supposed to take your word for that? No. Just look at every other programming language that implements Drag&Drop.

      Drag-and-drop sounds complicated to me It's not. It's easy in Qt, it's easy in GTK, it's easy in WinForms, it's easy in SWING. Even in VB it is easy. There is no reason it has to be hard in javascript or a client side Web programming language.

      how do I know that file isn't big simply because it does a lot? You could look at it?
      --
      I just don't trust anything that bleeds for five days and doesn't die.
    22. Re:This time by krmt · · Score: 1

      Javascript is actually quite a compact language if you use it well. Looking at the scriptaculous code, it looks well written to me. The code in question implements a lot of features though, including drag and drop, sortable trees, and a whole lot of events to deal with the realities of the DOM, which is totally independent from javascript.

      --

      "I may not have morals, but I have standards."

    23. Re:This time by NorthDude · · Score: 1

      No language that I know of have drag 'n drop as a part of it's specification. Drag 'n drop support is normally part of libraries for a given GUI toolkit.

      By the way, your sig is sexist as hell.

      --


      I'd rather be sailing...
    24. Re:This time by bledri · · Score: 1

      Drag-and-drop sounds complicated to me ...

      It's not. It's easy in Qt, it's easy in GTK, it's easy in WinForms, it's easy in SWING. Even in VB it is easy.

      Methinks you are confusing languages, libraries, Frameworks and IDEs.

      --
      Some privacy policy Slashdot.
    25. Re:This time by Anonymous Coward · · Score: 0

      Microsoft did somethin cool and useful. ... javascript doesn't cut it ... Switch to something else ... Hopfully others will follow. Hey, yeah, I'd like to help correct the problem that Microsoft doesn't own the Web! What else can I do? Put all my data behind a wall they can "manage"? Sure!

    26. Re:This time by Anonymous Coward · · Score: 0

      > There's nothing seriously wrong with Javascript as a language

      I beg to differ. Javascript have a few very wrong parts.

      1) The scripting part: mistype a name, and bang, you've got a new variable
      2) Failed object notation: this.bla, this.foo, this.callMethod(). This is a joke
      3) No inheritance. Javascript is not object oriented. And using dojo.declare is no joy.
      4) Failed arrays and type system. Play with a[1], a["1"] and other variations, loop over them and get different results. Joy and hapinness
      5) Failed libraries: new Date( 2000, 1, 1 ): what date is that ?
      6) Failed runtime: where are the threads?
      7) Failed syntax: compare { x:42, y:35 } with { x=42; y=35; }. I thought the comma-as-a-separator was a thing of the past.

      That being said, it is a very powerful language. But the OP is right saying it doesn't cut it for real web apps (think of apps in the 100K loc scale). It is just the best tool we have, but is in no mean perfect.

    27. Re:This time by asc99c · · Score: 1

      I'm not sure it should be part of the language specification, but I do agree it would be nice to see a standard library for Javascript that dealt with stuff like this.

      I spent one day this week working with drag and drop in Javascript. I used the tool-man libraries for the basic code. I found it surprisingly easy to use. Any element can be made draggable with a single function call passing its ID, and you can register dragstart and dragend events. When I looked at the tool-man code I realised just how much I don't know about Javascript. As the GP talks about, I'm one of the guys who use it as a hacky tool to add bling. I've never learnt the language properly - I'd never seen proper classes and factories in Javascript before.

      Within a day I had a functional drag-and-drop diary screen that supported moving, creating and deleting appointments. But I spent an hour looking for a free library. It would have been brilliant to just look through something like the Java API docs or MSDN for the standard library function to do it.

    28. Re:This time by Jack9 · · Score: 1

      1) The scripting part: mistype a name, and bang, you've got a new variable

      Same as PHP AND Ruby, among others.

      2) Failed object notation: this.bla, this.foo, this.callMethod(). This is a joke

      Why? Because you think object notation is a sacred thing. You should learn more languages. A lot of your criticisms are as if you only know one.

      3) No inheritance. Javascript is not object oriented. And using dojo.declare is no joy.

      Orly? How hard is it to type "javascript inheritance" into google, really? You don't know Javascript, remove it from your resume.

      4) Failed arrays and type system. Play with a[1], a["1"] and other variations, loop over them and get different results. Joy and hapinness

      See 1)... Do you even understand how the 2 cases are the same?

      5) Failed libraries: new Date( 2000, 1, 1 ): what date is that ?

      Yes, only YOU know how a Date() object should be parameterized, right? Go back to school. http://www.w3schools.com/JS/js_obj_date.asp

      6) Failed runtime: where are the threads?

      Some languages don't have threads. But since you clearly don't know basic Javascript - window.setTimeout(referenceToFunction,timeInMilliseconds); Oh you want a C-like thread implementation handed to you? 3rd Party libraries by people much more familiar with Javascript than you or I exist. Google knows where they are.

      7) Failed syntax: compare { x:42, y:35 } with { x=42; y=35; }. I thought the comma-as-a-separator was a thing of the past.

      Again with the syntax criticism like it matters. Since it's such a hot issue, go bitch on the Erlang forums about using "." as an "end".

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    29. Re:This time by Archibald+Buttle · · Score: 1
      Ah, yet another troll...

      I can't help but feed them sometimes. :)

      1) The scripting part: mistype a name, and bang, you've got a new variable Welcome to programming.

      2) Failed object notation: this.bla, this.foo, this.callMethod(). This is a joke Javascript is not the only language with this notation... I don't consider it to be a joke myself.

      3) No inheritance. Javascript is not object oriented. And using dojo.declare is no joy. Now on this you're wrong. Javascript has an inheritance model, and is object oriented. Just because the object model isn't class-based doesn't mean that it isn't there. Javascript uses prototype-based inheritance.

      4) Failed arrays and type system. Play with a[1], a["1"] and other variations, loop over them and get different results. Joy and hapinness Well, there's a difference between an array and an "associative array". The first syntax you've used there is array access, second associative array...

      5) Failed libraries: new Date( 2000, 1, 1 ): what date is that ? 2000-1-1. Year, Month, Day. Pretty standard way round that. Tis how one expresses dates unambiguously in a world where 1/12/2000 can mean either 1st December 2000 or 12th January 2000.

      6) Failed runtime: where are the threads? True...

      7) Failed syntax: compare { x:42, y:35 } with { x=42; y=35; }. I thought the comma-as-a-separator was a thing of the past. This is a matter of taste. Personally I'm very familiar with the former syntax, and the latter feels deeply unnatural to me.

      I'm not really a Javascript programmer tho - most of the code I write is in other languages.

      That being said, it is a very powerful language. But the OP is right saying it doesn't cut it for real web apps (think of apps in the 100K loc scale). It is just the best tool we have, but is in no mean perfect. Well, as I see it the one deficiency you've identified is a lack of threads. A quick google search leads me to believe thread-like behaviour can be simulated...

      It seems to me that you just don't like the syntax of Javascript, and are not familiar with it's OO model.
    30. Re:This time by Anonymous Coward · · Score: 0

      Silverlight does include a new JavaScript, allegedly it's quite nice. That's a good way to get a strong JS implementation into IE browsers.

      The problem is still that we can't assume Silverlight is installed. What do you do about all the lame people who still have the original (sometimes unpatched, with garbage collection hell) IE6?

      The place where my brother works has IE6 on all its computers. It's mandated. It's shops like that that keep IE6's installed base so amazingly and irritatingly high.

    31. Re:This time by jdinkel · · Score: 1

      Hmm, what about Mongrel (written in Ruby) which somewhat replaced webrick and fastcgi (written in C) for Rails apps anyway, or erubis (written in Ruby) replacing eruby (written in C), or Twitter whose head guy (whatever his name is) says their scaling problems have come from early design decisions and nothing to do with Ruby or Rails, or yellowpages.com (I've used this for years and it's Ruby On Rails rewrite is a huge improvement), or of course all the 37signals web apps.

      There are lots and lots of CEOs and developers who use Ruby and love it.

    32. Re:This time by Foofoobar · · Score: 1

      Twitter is in a hold pattern as to whether they are going to replace Ruby altogether. Not a raving endorsement. Yellowpages uses other technologies besides Ruby so again, not an endorsement. And 37signals has the same issues that Twitter has but with half the traffic (according to the developers).

      But the question wasn't 'why are people just not excited about Ruby?', the question was 'why would a consumer want to download both of these to get something to work?' The average consumer has never heard of either and while Microsoft can prebundle Silverlight in a download as an optional install and HOPE people install it, they have yet to state that they are going to start installing Ruby through their network. So it hardly is a replacement for Java in any sense; scalability, speed or consumer availability.

      I think the people at 37signals said it best when they said 'http://gettingreal.37signals.com/ch04_Scale_Later.php>Worry about scaling later when you need to'... which explains so much of why Ruby is having the problems it now has.

      --
      This is my sig. There are many like it but this one is mine.
    33. Re:This time by Foofoobar · · Score: 1

      I should also point out what 37signals is running on.

      --
      This is my sig. There are many like it but this one is mine.
  11. Simply the most snore worthy post of the day. by Torinaga-Sama · · Score: 1

    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
    1. Re:Simply the most snore worthy post of the day. by Anonymous Coward · · Score: 0

      Too slow :P

      http://common-lisp.net/project/parenscript/

    2. Re:Simply the most snore worthy post of the day. by NewbieProgrammerMan · · Score: 1

      First you need to write a domain-specific language on top of Lisp, and perhaps name it "Extraneous Xtension of Lisp," and *then* port it to Silverlight.

      Then you can become the first Microsoft-Certified provider of AEXLAX web apps.

      --
      [b.belong('us') for b in bases if b.owner() == 'you']
    3. Re:Simply the most snore worthy post of the day. by Jesus_666 · · Score: 2, Funny

      Who needs Lisp? PROLOG! APAX is the wave of the future!

      Or we define the web as a meta-processor and write wasm (web assembler) to interpret assembly code for this processor. Then we can have AAAX!

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    4. Re:Simply the most snore worthy post of the day. by Anonymous Coward · · Score: 0

      EXtended Lisp And XML, anyone ?

    5. Re:Simply the most snore worthy post of the day. by vidarh · · Score: 1

      You're Too late (sort of - just an interpreter)

    6. Re:Simply the most snore worthy post of the day. by Torinaga-Sama · · Score: 1

      Fine, I will have to go for Brainfuck then.

      ABAX!

      --
      (/local/home/curiosity)-#who -u|grep thecat|cut -c 44-49|xargs kill -9
  12. look more closely at TFA... by Fallen+Andy · · Score: 4, Informative
    It's IronRuby in other words Ruby compiled to MSIL. So in principle it should inherit all the (in)security of that environment (winks).

    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

    1. Re:look more closely at TFA... by recoiledsnake · · Score: 4, Insightful

      What's so insecure about the MSIL(by which I presume you mean .NET) compared to any other environment(Java, Rails, PHP, etc)? I am really curious to know. I know this is Slashdot but please try not to reply with 'Everyone knows it is'.

      --
      This space for rent.
  13. Agree, this is gart by Anonymous Coward · · Score: 0

    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

  14. Ummm What? by ProfessionalCookie · · Score: 1

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

  15. ARAX via AJAX? by kiehlster · · Score: 1

    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?

  16. Why is this news? by Anonymous Coward · · Score: 1, Informative

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

    1. Re:Why is this news? by morgan_greywolf · · Score: 1

      Are we seriously going to have another news item for IronPython ("APAX"), J# ("AJ#AX"), F# ("AFAX") or IronLisp ("ALAX")?
      The implementation of APAX on Konqueror -- KAPAX.

  17. Hmmm... by Mr+Z · · Score: 4, 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.

    --Joe
    1. Re:Hmmm... by Jesus_666 · · Score: 1

      Small talk? Of course!

      What's everyone's favourite Smalltalk-influenced language? Right, Objective-C! We need AOAC - Asynchronous Objective-C and Cocoa! Genius!

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  18. another mess by Tim4444 · · Score: 1

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

    1. Re:another mess by The+End+Of+Days · · Score: 1

      Since Microsoft invented the AJAX technique, I'd say they had the biggest possible role.

  19. Yet another browser plug-in... by Nathanbp · · Score: 1

    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?

    1. Re:Yet another browser plug-in... by Anonymous Coward · · Score: 0

      Next step: a browser written in "ARAX". It'll be a client side equivalent of writing a web server in PHP.

  20. rails in javascript by sugarmotor · · Score: 1

    Rewriting Rails in javascript would accomplish the same.
    Stephan

    --
    http://stephan.sugarmotor.org
    1. Re:rails in javascript by Kozz · · Score: 1

      Hmm... Jails?

      --
      I only post comments when someone on the internet is wrong.
    2. Re:rails in javascript by gwniobombux · · Score: 1

      It's already being done by Steve Yegge. For reference John Lam and this link .

  21. Yay by Anonymous Coward · · Score: 0

    Another language, another client-side plugin, another opportunity to have the same old security leaks once again.

  22. Not really running in thr browser by Anonymous Coward · · Score: 0

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

  23. Uh... by SatanicPuppy · · Score: 1, Informative

    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.
    1. Re:Uh... by ThatDamnMurphyGuy · · Score: 2, Insightful

      Security has nothing to do with strong/weak typing. Strong typing is simply the first stage of testing code and validating input.

      http://mindview.net/WebLog/log-0025

    2. Re:Uh... by osu-neko · · Score: 1

      Security has nothing to do with strong/weak typing. Strong typing is simply the first stage of testing code and validating input.

      Um, so think both testing code and validating input have nothing to do with security? o.O

      --
      "Convictions are more dangerous enemies of truth than lies."
    3. Re:Uh... by Anonymous Coward · · Score: 1, Informative

      Wrong, pal. Ruby is strongly typed. Or can you provide examples of it being weakly typed?

    4. Re:Uh... by Anonymous Coward · · Score: 0

      That is not true.

      Things like ensuring that strings are properly escaped before passing them to SQL, say, can be trivially done statically and by the compiler by creating two types of strings (escaped and not-yet-escaped strings), having the function which constructs SQL statements only accept escaped strings, and providing exactly one way to convert a not-yet-escaped string to a escaped string: an escaping function which, apart from escaping, changes the type of the result. With that setup, it becomes a compile-time error to pass a string which you have not escaped properly to an SQ statement.

      With a sophisticated type system like Haskell's, for example, you can do much, much, much more.

    5. Re:Uh... by FooBarWidget · · Score: 1

      By your definition, Ruby is most definitely *not* weakly typed:

      a = 1      # an Integer object
      b = "2"    # a String object
      a + b      # *boom*, *crash*, can't add a string to an integer

      JavaScript on the other hand is weakly typed:

      a = 1
      b = "2"
      a + b     // 3

    6. Re:Uh... by WWWWolf · · Score: 1

      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.

      BZZZZT-ish. You're on the right track, but the logical conclusion isn't exactly thrill-worthy.

      Yes, in dynamic system, you can stuff an arbitrary value in an arbitrary variable, but that value has to come from somewhere. Surprise surprise, return values of methods that process user input can be alarmingly well understood.

      For example, the spec says gets method in Kernel will return a String (or a nil in case of EOF), and it will most definitely not return an automagically parsed number or, say, a Date object... or EvilHackerSystemExploderObject! (Unless your platform is 0wned - but if an attacker can run arbitrary code, you have bigger problems than type safety...)

      No matter what the language we're dealing with, the programmer has to understand exactly what the functions return. I've seen plenty of uncaught NullPointerExceptions in perfectly ordinary Java programs to be convinced that static typing won't save you from knowing thy damne API. =)

    7. Re:Uh... by JAlexoi · · Score: 1

      FYI:
      Ruby is STRONGLY typed. You cant append a number to a string unless you convert that number to a string.
      Languages like PHP or Perl allow you to treat anything like anything, thus are weakly typed.

      Check differences between strong/weak typing vs static/dynamic typing.

  24. Scalability? by weston · · Score: 2, Insightful

    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!

    1. Re:Scalability? by Jesus_666 · · Score: 1

      Look, we're in the age of the web application. Of course the browser would be run server-side as well, with users connecting to the server to access it. That would also make communication between the browser and other web apps on the same server much faster.

      So obviously a browser would have to be massively scalable.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    2. Re:Scalability? by CannonballHead · · Score: 1

      But the server is never going to be a browser. The browser is always connecting to a server, so it still holds that the browser is not going to be receiving a ton of requests...

    3. Re:Scalability? by Jesus_666 · · Score: 1

      You just use another browser to access the server to run your browser to access the server to run a web application. That othat browser could be a web application, as well.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    4. Re:Scalability? by ultranova · · Score: 1

      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!

      For the times when you want to have multiple tabs/browser windows open at once, and each one absolutely must run their own multiple scripts, not to mention all the extensions adding their own.

      Having thousands of scripts running at once is a prefectly plausible scenario. Not being able to handle it gracefully should disqualify a scripting engine from being used in a browser.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  25. Sh@tload of buzzwords stuffed into a paragraph by unity100 · · Score: 1
    just check it out :

    "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."'" sh@tload of stuff pumped into the net, as if previous buzzwords they are capitalizing on has gained any noticeable audience apart from some big boys.

    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.
    1. Re:Sh@tload of buzzwords stuffed into a paragraph by Jesus_666 · · Score: 2, Interesting

      Actually, AJAX is good for very large (have the manpower to deal with its complexitied) and very small (won't encounter its complexities) projects.

      I occasionally use it in a very rudimentary way - I use the AJ part and forget about the AX. What I mean with that is that I simply reload part of a page, whatever it may contain. It's a simple GET, no bells and whistles. The XMLHttpRequest part and the connection handling are abstracted away in a drop-in function that handles everything for me. It's not very flexible but usually it's enough.

      Of course it does get more complex once you want to do anything that goes past putting the reply to a GET into a <div>, especially if you use JSON to pass around tuples and don't trust the server to send clean code...

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    2. Re:Sh@tload of buzzwords stuffed into a paragraph by Anonymous Coward · · Score: 0

      I wish there was a "-1 Unreadable" mod option.

    3. Re:Sh@tload of buzzwords stuffed into a paragraph by unity100 · · Score: 1

      Actually, AJAX is good for very large (have the manpower to deal with its complexitied) and very small (won't encounter its complexities) projects. exactly that. and the majority of the web stays in between those very large and very small.

      as for content updating, it think it is a major bugger too, in that web page is being told to continually update itself even if the visitor does not want it. unnecessary requests coming in from every browser on that page, adding up to the load on the box.
  26. RJS by boldi · · Score: 2, Funny

    And when Microsoft sues You...
    Ruby in Jails ?

  27. Uruk-Hai by Anonymous Coward · · Score: 2, Funny

    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.

  28. One argument... by weston · · Score: 1

    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.

  29. A bogus feature for a bogus browser by mlwmohawk · · Score: 1

    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.

  30. Use arax, raggy! by 192939495969798999 · · Score: 5, Funny

    ruby ruby roo!

    --
    stuff |
    1. Re:Use arax, raggy! by hanshotfirst · · Score: 3, Funny

      Fred: So let's see whose really behind the phantom's plot to drive everyone off the Internet...

      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!

      --
      Why, oh why, didn't I take the Blue Pill?
  31. Ruby is just the rebirth of Perl by ChronoFish · · Score: 1

    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

  32. In other news by Anonymous Coward · · Score: 0

    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"

  33. And ARAX isn't as good as AJAX by einhverfr · · Score: 5, Funny

    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
    1. Re:And ARAX isn't as good as AJAX by Anonymous Coward · · Score: 0

      Who was this Arax fellow? What wars did he fight in?

      I think Arax fought in the Gulf War.

    2. Re:And ARAX isn't as good as AJAX by alexj33 · · Score: 0

      He fought with Arby's.

      Rax

    3. Re:And ARAX isn't as good as AJAX by Anonymous Coward · · Score: 0

      I beleive that Arax fought in the Armenian Dance wars of the early 80s (if you don't believe me look it up)


      But seriously, i would like someone to explain to me in simple terms why i should bother to learn this new language, what are the pro's and cons. and what the browser support issue? or does that even matter. I am a novice and have only invested a few years into learning javascript so for me changing languages would not be as difficult as some (because i have less to unlearn)


      Another question, is how does it stack up to JQuery (another language i was looking at)
    4. Re:And ARAX isn't as good as AJAX by vjoel · · Score: 1

      ACHILLES: Asynchronous Client Hypertext In Lisp Leveraged Enterprise Services

      --
      What part of `yes no` don't you understand?
    5. Re:And ARAX isn't as good as AJAX by Lars512 · · Score: 1

      Before there was AJAX, there was Asynchronous New Thing Holding Ransom All Xml (ANTHRAX). That had all sorts of people worried about the sustainability of their business models.

  34. Embedded Python on the web? by ZephyrXero · · Score: 2, Interesting

    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."
    1. Re:Embedded Python on the web? by Anonymous Coward · · Score: 1, Informative

      Actually, all of Internet Explorer's scripting support comes via the Windows Script architecture, which is supported by various script language developers. ActivePython is one of them, so it's possible to use Python in IE right now if you want.

      The two major problems are lack of sandboxing (at the language feature and library levels), which makes it a security risk for anything from untrusted sources, and lack of widespread use to enable it on the web at large.

      One thing Silverlight brings to the table is a security architecture, so things running on top of it -- like the DLR Ruby implementation -- are already sandboxed.

    2. Re:Embedded Python on the web? by ZephyrXero · · Score: 1

      Still...if IE's the only browser with support it's worthless. If it doesn't work in at the very least the top 3 browsers (IE, Mozilla, Webkit) and more than 1 operating system then there's no point in bothering with it.

      --
      "A truly wise man realizes he knows nothing."
    3. Re:Embedded Python on the web? by Anonymous Coward · · Score: 0

      Aye. I've often wondered why there are no equivalents to Windows Script in the open source world.

      What excites me about it in general is its usefulness for desktop applications. For example, the Klient IRC client uses it to support 6 separate languages with very little effort. If you want to do something similar for non-Windows platforms, you're pretty much stuck implementing a separate engine/interface for every single language yourself.

      Once you have a basic architecture like that in place, you can add security controls to it (like PHP's deprecated "safe mode", or a pervasive version of Perl's taint system), and end up with something useful in the browser. Even non-web apps have uses for this sort of thing; PostgreSQL has similar needs and has ended up with "trusted" and "untrusted" language plugins.

      Now Microsoft is working on the same thing for .NET, which is what the DLR is for. Their approach of using verifiable code in a VM sandbox is sound, and provides some much needed security. However, between Microsoft hate and NIH syndrome, I suspect the open source world will ignore the idea of DLR (even with Moonlight around), and we'll be yet again left without a decent common framework for scripting languages.

      Which means getting such a thing in even the top 3 browsers will be impossible. Sigh.

  35. Why only people like us come here by sm62704 · · Score: 4, Funny

    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
    1. Re:Why only people like us come here by parabyte · · Score: 1

      just great. I'd mod you up if had points.
      p.

      --
      Without order, nothing can exist. Without chaos, nothing can be created.
  36. This is great ! by Anonymous Coward · · Score: 0

    I don't get the negative vibe here, I guess it is the "I hate .NET" thingy.

    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 .NET libraries (lots of crossplatform compatibility thanks to Mono so also on Linux) that makes life easy.

    And yes, I am a fan of C#, don't like microsoft that much, and my pc's all run Linux. Mono ftw.

    1. Re:This is great ! by argent · · Score: 1

      Silverlight and it's linux version Moonlight provide clientside support for Ruby, Python, C# etc.

      "Phishers, start your compilers"

  37. ARAX? by Microsift · · Score: 3, Funny

    Ruh Roh!

    --
    My other sig is extremely clever...
  38. Touché! by Anonymous Coward · · Score: 0

    I made a fan website for pics of Orcs and Goblins bone'n .. in Ruby!

    Touché!

  39. Where is he? WHERE THE F*CK IS HE? by Qbertino · · Score: 1, Informative

    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
    1. Re:Where is he? WHERE THE F*CK IS HE? by jdinkel · · Score: 1

      I'm gonna shoot the guy who modded this +1 Informative. No, honestly, this is no joke, man, I'm gonna kill him.

  40. The Java Virtual Machine kicks Silverlight's butt by ivar · · Score: 1

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

  41. No, no, no... by Anonymous Coward · · Score: 0

    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.

  42. ECMAScript 4 by QuoteMstr · · Score: 1

    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?

    1. Re:ECMAScript 4 by DragonWriter · · Score: 1

      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.


      No, you won't, except in the sense that all Turing-complete languages are equivalent. You don't have Smalltalk-style message passing, as in Ruby. You don't have universally-open classes as in Ruby (you can create classes as "dynamic" with an explicit declaration where they are defined, but even then it seems you can't redefine their methods.) You don't have a Scheme-style numeric tower. You'll probably be missing all kinds of features near and dear to the heart of Python fans that I'm not immediately thinking of.

      Also, instead of trying to compile languages to MSIL, why not just write a source-to-source translator to Javascript?


      Sure, you can compile to a language designed as a "source" language rather than to machine code, VM bytecode, or something like MSIL designed as an intermediary language. And it may sometimes be good for portability when you've got a target language for which there are source-compatible implementations on different platforms without anything lower-level that is compatible. But if you've got something lower-level that is compatible, compiling to that is often going to be better for performance.
  43. Something else for MS to Balls Up by mcnazar · · Score: 1

    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.

    1. Re:Something else for MS to Balls Up by DragonWriter · · Score: 1

      Well, JRuby's better than MRI, performance wise, unlike IronRuby, which is worse, so if we wanted to ARAX, it would be better to embed a JVM in the browser than a .NET system like Silverlight.

      Hey. Java in the browser. That's a new idea...

  44. Implicit integration tests by tepples · · Score: 1

    How is a strong typed languare more secure than a dynamic typed one? Because it helps the tools verify contracts. The compiler of a statically typed language automatically writes and performs a few tests to make sure that all functions are getting the right types of arguments. In a dynamically typed language, the programmer has to write such tests by hand, taking time away from other correctness tests.
  45. how? by thermian · · Score: 1

    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
    1. Re:how? by SatanicPuppy · · Score: 1

      Actually, no. "Weak" typing means that if you feed an int into a variable, and then do a string operation on it, the interpreter will run with that, and try to convert your int to string. The opposite of "weak" typing is "strong" typing; in strong typing, once the variable type is set it cannot be changed (without implicit casting) and if you mix types you will have problems.

      Dynamic typing means that the interpreter handles types for you; if you put a string into a variable, it casts that variable as string. The opposite of dynamic is "static"; in static typing you declare the variable type when you declare the variable.

      You can have weak static languages (C), you can have strong static languages (Java), you can have strong dynamic languages (Python), and you can have weak dynamic languages (Ruby).

      While it is true that quality programming can overcome this stuff, the stark reality in the industry is that the vast majority of programming isn't high quality. It's like C; sure you can make sure you don't have overflows and null pointer problems, but we see them all the time anyway!

      Far better, especially in the context of the web, to trust a language that is unable to be spoofed in that manner.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    2. Re:how? by Nicolay77 · · Score: 1

      Another way to say the same:

      Weak vs strong typing has to do with the type of values.

      Dynamic vs static typing has to do with the type of variables (as in names or symbols that can point to values).

      --
      We are Turing O-Machines. The Oracle is out there.
    3. Re:how? by jdinkel · · Score: 1

      You can't perform string functions on an int in Ruby, or vice versa. You can convert a string to an int with the to_i method, or a number to a string with the to_s method, and THEN use a method on the converted object.

      So wouldn't that make Ruby a strong dynamic language?

  46. Wow, they almost did something right. by dynamo · · Score: 1

    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.

    1. Re:Wow, they almost did something right. by jdinkel · · Score: 1

      I sorta of think the same thing. But, really, so much development, real-world testing, and added features have gone into javascript that I think it's a waste of time to reinvent the wheel on this one.

      Another option is just going to be yet another plugin we have to install and the wasted development effort is just going to dilute the quality of the whole field.

      Personally, I like the Rails way of using wrapper classes around scriptalicious and prototype. As long as the features are in those two libraries, then you can use javascript features by only writing Ruby code. I would rather see development going into features like this rather than copying what we already have.

  47. Who uses XML anymore? What about JSON? by Anonymous Coward · · Score: 0

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

  48. As if we needed more proof by h4nk · · Score: 1

    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.

  49. I hate javascript and I'd love to see it replaced by AxelTorvalds · · Score: 1
    But is Ruby's restricted execution stuff that well tested?

    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.

  50. Oh the irony by rgviza · · Score: 1

    point 1:
    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. /golf clap

    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.
  51. Context Switching Argument by Anonymous Coward · · Score: 0

    If you're a Ruby programmer and you like Ruby as a language, context-switching into JavaScript is just something you have to do," Lam said.


    Why not just run JavaScript on the server and save the context switch that way.
  52. Sandboxen by tepples · · Score: 1

    Sweet jesus. It's ActiveX 2. Except I'd guess that the .NET framework has a more robust sandbox than the raw Win32 that ActiveX controls use, much like the security model that the Java platform applies to applets.
  53. I'm working on a browser plugin by symbolset · · Score: 1

    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.
  54. More Languages, More Cowbell! by Tablizer · · Score: 1

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

    1. Re:More Languages, More Cowbell! by DragonWriter · · Score: 1

      ALAX - Asynchronous Lisp and XML.


      But, ALAS, Lispers don't use XML, as they prefer S-expressions.
  55. Learn JavaScript? by KermodeBear · · Score: 3, Interesting

    [...] 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.
    They never DID have to go through something like RJS. They could just, you know, learn JavaScript. It isn't very difficult.
    --
    Love sees no species.
  56. Open Source should "Parrot" Silverlight/Moonlight by HighOrbit · · Score: 1

    MS is acutally doing soomthing pretty cool with Silverlight 2, in the sense that any .Net language can now run in the plugin.

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

    Moonlight wouldn't fit this completely because it is still a .Net only thing. But Parrot supports lots of traditionally open source languages.

  57. The Great Dynamic-Typing Fight by Tablizer · · Score: 1

    Weak security because of dynamic typing? You really have to elaborate on this, because like this it just makes no sense. How is a strong typed languare more secure than a dynamic typed one?

    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.

  58. Puh-lease... Ruby Is Redundant.(tm) by AnomaliesAndrew · · Score: 3, Interesting

    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!
    1. Re:Puh-lease... Ruby Is Redundant.(tm) by KDan · · Score: 0, Troll

      I wouldn't normally bother replying to someone like you, and I realise that I'll very likely get downmodded as flamebait or something, but after an irrepressible impulse of the kind well illustrated by http://xkcd.com/386/ , I must tell you.

      You are wrong, and you are a narrow-minded cretin.

      Daniel

      --
      Carpe Diem
    2. Re:Puh-lease... Ruby Is Redundant.(tm) by DragonWriter · · Score: 1

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


      Since your examples are all Java, what is the Java equivalent (even with a "slightly less graceful" structure) of #method_missing in Ruby that lets you capture and respond to arbitrary methods calls on an object, with access to the name of the method called and the parameter list? This one feature is a major center of the support for internal DSLs and metaprogramming in Ruby, and Java doesn't, AFAIK, support anything much like it.

    3. Re:Puh-lease... Ruby Is Redundant.(tm) by Anonymous Coward · · Score: 0

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

      Where by "slightly less graceful," we mean something like "requires 10x as much code, most of it boilerplate, stuff goes really wrong if you get the boilerplate wrong, and you have to change the boilerplate every time you change the 10 lines that aren't boilerplate."

      Your problem, sir, is that you're a mediocre code monkey that turns out nothing but boilerplate.

    4. Re:Puh-lease... Ruby Is Redundant.(tm) by Phleg · · Score: 1

      Actually, the use of method_missing is discouraged because it's slow and difficult to extend when multiple features end up needing it. Much better is to dynamically do define_method / alias_method / etc.

      --
      No comment.
    5. Re:Puh-lease... Ruby Is Redundant.(tm) by AnomaliesAndrew · · Score: 1

      C has callbacks, just take a look at (void *).
      In C#, it's actually implemented in an interesting way using the delegate keyword, which is actually like an array of callbacks that can be invoked with one call.
      In Java you can implement a callback as a method in an object that you pass around.
      In PHP, you can just do $f = "somefunc";, pass $f somewhere and then inside that function call $f();.

      As for detecting the presence of a method, catching an undefined function, or importing/creating code, that's pretty standard too...
      In C that's statically linked, it's usually managed at compile-time using pre-processor commands; however, if you're doing something like dynamic-linking, you can usually use API functions in the same category used to load the library, to check the library manifest for a list of entry points.
      In Java, you can use Reflection to inspect anything in the interpreter's context, a try{}catch(){} if you wish to have it as a safety net for undefined elements, and the Runtime/Compiler classes (IIRC) to load (or even CREATE) classes dynamically.
      In PHP5 there are helper methods that you can define that will load classes if they do not exist already in the interpreter context.

      And to be perfectly honest with you, in my lifetime of programming, if I've had to use much of that stuff, I probably needed to rethink my design, with the exception of fringe things like plugin architectures.

      Also for the record (I know I'm splitting hairs, but it is a valid correction), my jQuery reference was an example of JavaScript, which is definitely not Java. That would be like saying Bash is C.

      I just looked up Ruby DSL for the first time a minute ago, and it seems like a Perl coder's wet dream... I personally am not so sure it's worth the trouble... but maybe I haven't seen any good examples. I could probably do all of that stuff in clearer standard code in all of my choice languages.

      As for metaprogramming... I also just had to look this up, and it seems like all the examples I found could be done just as easily with hash tables, and other libaries/design patterns. Most of the time a class or structure exists rigidly to serve as a standard interface. Having dynamic classes can get ugly, I would imagine.

      I guess it's "neat" to see this stuff built so deeply into a programming language, but I still just don't see any reason to bother learning the language.

      I may hold some misconceptions about it, though, and maybe I'm oldschool and like getting my hands dirty (and controlling the CPU fairly well with those same hands.) And Ruby just doesn't feel like a real player in the programming world: I don't know of any websites really that do any kind of high volume that use Ruby for the back end, I don't know of any real software that exists only in Ruby that I've ever needed, and I don't know any Ruby programmers in real life. It's kinda like a white rhino.

      This is just my opinion. All these programming languages are just a means to an end, so if it works for you, use it!

      Cheers and best of luck in Rubyland.

      --
      Move all sig!
    6. Re:Puh-lease... Ruby Is Redundant.(tm) by AnomaliesAndrew · · Score: 1

      Haha, cute... but I'll maintain that anything you can do in Ruby, I can do in pretty much any other modern language, and probably better by most metrics if you're not strictly concerned about how many lines the code is (because knowing Ruby programmers, you won't count all of the code in the libraries or the interpreter.)

      I disagree about your personal attack on me. I happen to know many programming languages (which I started learning when I was just a child), I work full time as a system architect, I run a consulting business on the side, and I am passionate about all of it. I never stop learning... Ruby's no exception. I just don't use the damn language!

      The narrow-minded people are the ones who would defend Ruby to their last dying breath as the only solution. Any niche that Ruby could fill is already dominated by other languages that are better at it; otherwise, it would outrank PHP, Java, C, etc, and that was my whole point in speaking about it being redundant.

      --
      Move all sig!
    7. Re:Puh-lease... Ruby Is Redundant.(tm) by DragonWriter · · Score: 1

      Actually, the use of method_missing is discouraged because it's slow and difficult to extend when multiple features end up needing it.


      Discouraged by whom? If you use modules for library components and call super to chain them, its not hard to extend. It is hard to extend if you just monkeypatch it directly into classes, but that's true of anything you do that with, not just method_missing.

      Much better is to dynamically do define_method / alias_method / etc.


      Supposing that what you are trying to do is something that makes sense to do that way, that can be better. Not everything you'd want to use method_missing for works as naturally with that approach though. Sure, there are better approaches than using method_missing for many uses, but if everything in Ruby, as claimed, has an equivalent in most other languages, and as implied by the examples, specifically in Java, I'd still like to know the equivalent of method_missing in Java.
  59. beware of the shiny bobbles by hawkeesk8 · · Score: 1

    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.

  60. Why Ruby? by qazwart · · Score: 4, Interesting

    Because Ruby on Rails developers will not have to switch to JavaScript in order to do AJAX like stuff.

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

    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.

  61. Lesson #1 from the Web1.0 era... by v3xt0r · · Score: 1

    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.
  62. Missing the fatal flaw here by IGnatius+T+Foobar · · Score: 1

    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!
    1. Re:Missing the fatal flaw here by DragonWriter · · Score: 1

      When you develop an AJAX application, it runs in the browser without any special client-side extensions. "ARAX" requires Silverlight


      ARAX doesn't require Silverlight--HotRuby is a Ruby-on-JavaScript engine that runs Ruby 1.9 bytecode. Microsoft would probably like people interested in Ruby-in-the-browser to get locked into Silverlight before they are aware of any of the other efforts in that direction, since they (HotRuby, Tamarin:IronMonkey) tend to be JavaScript-centered and Flash- and Mozilla-friendly, and thus don't contribute to Microsoft's efforts to have their browser and OS have the first and best implementations of the technology so that anyone using it will have a reason to stick with Microsoft platforms.
  63. Wrong. by recoiledsnake · · Score: 1

    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. Only the DLR(Dynamic Language Runtime) runs in the browser plugin. IronRuby, IronPython, C#, VB.NET, whatever else will just be complied to the DLR. No Ruby code will be ever sent to the browser like you claim. I'm all for this because, seriously, who enjoys coding in JavaScript? It's a hack of a language invented at Netscape at the height of the 'anyything goes' internet boom.
    --
    This space for rent.
  64. 1995 called, they want their article back! by ChunderDownunder · · Score: 2, Insightful
    Sun Microsystems launched this idea around 13 years ago... Java applets.

    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.

  65. oh boy... by 93+Escort+Wagon · · Score: 2, Insightful

    Another non-standard scripting implementation that only works with one particular browser. Didn't anyone learn from vbscript?

    --
    #DeleteChrome
  66. Applets failed by HighOrbit · · Score: 1

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

    1. Re:Applets failed by ChunderDownunder · · Score: 1
      Whoa, Java applets are largely dead. But the idea you're proposing is very similar. You're talking about replacing a specialist interpreter for javascript (spidermonkey/tamarin), with a managed execution environment (parrot) for languages compiled down to a common intermediate bytecode. That's exactly what .Net does (CLR) and what Java has done (JVM), as I said, for 13 years.

      Ultimately applets never really caught on for a several of reasons, including

      1. machines back in the 90s weren't powerful enough to run an interpreted execution layer with ease. Try running any modern environment like Java, .Net or parrot within a web browser with less than a 1ghz machine with 1/2 a gig of RAM - it won't be pretty.
      2. Microsoft sabotaged Java. Sun successfully sued them for releasing an incompatible version.
      3. Sun's implementation required a ~ 10MB download and then took several seconds to load each time.
      As for applets being ugly, that's largely due to the developer! Flash has had specialist media APIs which Sun are belatedly trying to address with JavaFX.

      As far as accessing the browser DOM, Java applets can via LiveConnect.

      As for speed and size, Sun have been addressing this in their consumer JRE. Further, the LiveConnect Javascript bridge has been rewritten for FireFox 3.

      BTW, I've never seen anything run in an applet beside Java.

      How would you know? It's all compiled down and distributed as the same bytecode - the source language code be java, python, groovy or ruby. Just as would be supplied to parrot - the difference being that javascript is generally distributed in source form rather than bytecode. And by the way, the UI toolkit (AWT/Swing) != Java the platform. It supplements HTML with a cross-platform toolkit, something parrot won't support[1]. But no one's forcing developers to use it; as I've mentioned, Java can directly manipulate the DOM.

      [1] Ok, there's XUL but that will only work in firefox and related browsers.

  67. Please do not reply to this thread unless... by 5n3ak3rp1mp · · Score: 1

    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.

  68. ramble much? by OrangeTide · · Score: 2, Funny

    I hope you don't program Ruby like you post

    --
    “Common sense is not so common.” — Voltaire
  69. Re:Open Source should "Parrot" Silverlight/Moonlig by DragonWriter · · Score: 1

    Why not replace the javascript engine (spidermonkey/tamarin) with Parrot (or something similiar) that can run a script in ANY language?


    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.

    This is esentially what MS is trying to do with silverlight and its actually a pretty good idea.


    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.
  70. Confusion over terms. by Estanislao+Mart�nez · · Score: 1

    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.

  71. Speaking as a member of the Silverlight team... by benwaggoner · · Score: 1

    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

    1. Re:Speaking as a member of the Silverlight team... by Anonymous Coward · · Score: 0

      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 You know, I might switch from Linux to Windows if you guys would make nicer URLs for your downloads. Something REST-ish and Google-able... really, I might, I'm not just saying that as a round-about way of complaining about how crappy aspx sites are... and how the paragon of the software industry can't make a decent web site that's easy to navigate.

      Just saying. Every time I visit the Microsoft site and try and find anything it just re-affirms why I switched. I was considering switching back Windows to do video game development as a hobby. It would be nice to write a program that ran on any one of the three game consoles. Turns out XBox is the most friendly to hobby developers.

      And while we're at it. If you guys would come out with a light, fast, clean version of XP I'd actually buy that with real cash money.

      That all said. It sure is great to see you Microsoft guys out at the Open Source conferences and such. Thanks for stopping by and spreading the good word of Microsoft. I'm sure you guys are going to hand Google and YouTube their lunch.

      By the way, where is there a version of Sliverlight for Linux?
    2. Re:Speaking as a member of the Silverlight team... by rtechie · · Score: 1

      And while we're at it. If you guys would come out with a light, fast, clean version of XP I'd actually buy that with real cash money. Here's what you're looking for, and it's free. nLite.

  72. JVM is more common than you think by Anonymous Coward · · Score: 0

    Of course this is anectodal evidence, but almost everyone I know has installed Java while I know no one who has installed Silverlight.

  73. You must be new here. by Anonymous Coward · · Score: 0

    Welcome to /.

  74. Why Care? by deanston · · Score: 1

    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.

  75. Sorry, not impressed... by drew · · Score: 2, Interesting

    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?
  76. Doesn't this sould like... by Anonymous Coward · · Score: 0

    ActiveX??

  77. Anonymous Coward by Anonymous Coward · · Score: 0

    Great news! Now all the JavaScript developers will join the anti-Microsoft campaign. I heard they have the biggest scripting army of all!