Slashdot Mirror


Interview with the Creator of Ruby

Lisa writes: "Yukihiro "Matz" Matsumoto talks about Ruby's history, the influence of Perl and Python on Ruby, and his new book, Ruby in a Nutshell. In the article he explains: "When I started the language project, I was joking with a friend that the project must be code-named after a gemstone's name (àla Perl). So my friend came up with "ruby". It's a short name for a beautiful and highly valued stone. So I picked up that name, and it eventually became the official name of the language. Later, I found out that pearl is the birthstone for June, and ruby is the birthstone for July. I believe Ruby is an appropriate name for the next language after Perl.""

183 comments

  1. next birthstone after perl? by jrs+1 · · Score: 2, Funny

    that's treason - "off with his head!" ;)

    1. Re:next birthstone after perl? by Anonymous Coward · · Score: 0
      And since when are pearls stones?

      I always though they were just overpriced oyster-hairballs or something.

  2. Shoga wa? by Anonymous Coward · · Score: 0

    Princess Masako will soon give birth to the Japanese prince soon.

    On Monday, a real inventor will debut his newest creation. It's been said that it will be quite the paradigm-shift.

    Ruby's a rehash of OO Lisp and Perl. Nice, but hardly news.

    1. Re:Shoga wa? by Anonymous Coward · · Score: 0

      "Shoga wa?" What do you mean, "What about the ginger?"

    2. Re:Shoga wa? by JamesOfTheDesert · · Score: 4, Funny
      Yeah, and god knows, OO languages that combine the power of Lisp with the ease of Perl are all over the place.

      Like Java(tm). Oh, wait, that's the power of COBOL with the ease of, well, COBOL.

      Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. All rights reserved. The Java name and Java logo may not be used without express permission from Sun Microsystems, Inc. Sun Microsystems reserves the right to pretend interest in "open source" development yet maintian dictatorial control over ever last freaking aspect of the Java bloated programming language because Sun Microsystems were the first and only people to think of "write once, run anywhere." Oh, and that phrase is trademarked, too, so don't even think of applying it to anything else, even if it's true (which it isn't for Java, but we have the marketing and the laywers, so there).

      --

      Java is the blue pill
      Choose the red pill
    3. Re:Shoga wa? by Anonymous Coward · · Score: 0

      Heretic! Just to say the word COBOL is an act not to be taken lightly, but the sin of comparing it to a halfway reasonable language such as Java is simply untenable. If you come quietly, we may lessen your punishment...

    4. Re:Shoga wa? by Anonymous Coward · · Score: 0

      Yes, that's exactly what I meant. Think "Dean Kamen".

    5. Re:Shoga wa? by jonathan_ingram · · Score: 1

      No no: Java combines the speed of Visual Basic with the elegance and simplicity of C++.

    6. Re:Shoga wa? by Anonymous Coward · · Score: 0

      The original was something like "Java: the blazing speed of Smalltalk, the simple elegance of C++". You see, it's funnier that way; no one has ever called Visual Basic elegant.

    7. Re:Shoga wa? by jonathan_ingram · · Score: 2

      I stand corrected.

  3. Also check out this link by krs-one · · Score: 4, Insightful

    One might want to check out this link as well.

    -Vic

    1. Re:Also check out this link by Anonymous Coward · · Score: 0

      Do the moderators not read the articles? You just posted a link dirctely from the article and got +4...

    2. Re:Also check out this link by talesout · · Score: 2, Informative
      Any link that isn't goatsex is modded up blindly.

      I remember the article on apple a while back where a guy just went through apple's web site and posted links to a whole shitload of apple products. He had +5 Informative so fast it made your head spin. Fucking moderators.

      --


      Bite my yammer.
  4. mmmm by Anonymous Coward · · Score: 2, Troll

    If you haven't looked at Ruby yet it's @ www.ruby-lang.org it's a beautifully done object oriented scripting language which IMHO is exactly what the computer industry needs. Other scripting languages have really hit a wall in development because of the objectless syntax, but ruby, is a piece of work.

    1. Re:mmmm by smallpaul · · Score: 4, Interesting

      Other scripting languages have really hit a wall in development because of the objectless syntax, but ruby, is a piece of work.

      Yeah, I can see your point. The other languages have a totally objectless syntax!

      Too bad they have all hit a wall.

  5. Anyone got a link? by Juggle · · Score: 1

    To the development site or somewhere else I can get more info and maybe even an interperter to finally get off the fence and try playing with this language?

    I checked the linked articles but couldn't find anything.

    --
    --- Juggle juggle@hitesman.com
    1. Re:Anyone got a link? by Phantasiere · · Score: 2, Informative

      Try the Ruby homepage here for downloads of the interperter.

      Another good resource is for information about the language is Ruby Central, which includes the online version of the book, 'Programming Ruby - The Pragmatic Programmer's Guide' which is very use for those learing the language and as a general language reference.

    2. Re:Anyone got a link? by Anonymous Coward · · Score: 0

      Is it really that hard to go to Google and type in Ruby? Its the first damn entry.

  6. urls by jrs+1 · · Score: 5, Informative

    there the ruby language home page and you can download the latest version.

  7. Slashdot isn't trying to pedal some language... by gatesh8r · · Score: 1, Troll

    ...are they? Honestly, I swear over the last 6-8 months there have been at -least- 1 article/month on *Ruby*. So what's the big deal? Another scripting language; how many of those do we got now? C'mon!

    --
    Karma whorin' since 1999
    1. Re:Slashdot isn't trying to pedal some language... by dimator · · Score: 2

      over the last 6-8 months there have been at -least- 1 article/month on *Ruby*

      Well, if you look at this you'd see that if they *were* trying to pedal a certain language, it would probaly be perl, since perl stories average >1 a month.

      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    2. Re:Slashdot isn't trying to pedal some language... by Anonymous Coward · · Score: 0

      Weez got lots of dem, and dey alls are sucks.

      Eckspeshully purl. It be so dam ukly lukin.

    3. Re:Slashdot isn't trying to pedal some language... by gatesh8r · · Score: 2, Insightful

      Yes, perl is a great language for many thing... even slashdot uses it. But in all seriousness, how many languages is enough? What I've noticed is that there are too many languages, and people only use a handful because of a few things: One, the popularity; Two, the ability a language has to market yourself in the job market (C/C++, Java, Perl, Python, SQL, and in some cases, assembler for embedded work are the most popular.); Three, for the above mentioned people are willing to put up with it caevets. These programming languages fill the vast void of what everyone ever wanted or needed -- they are general enough to be swiss army knives, they are targeted enough to have a desire to learn them, and they are expandable enough to allow for everyone to add libraries to it. The more popular the language, the more libs there are -- btw, smalltalk's a good language; see anyone program in that? Not many. Same goes for lisp, COBOL, Ada (which is total crap), etc. I'm afraid Ruby will be doomed on that path due to the fact that there really is no need to have it.

      --
      Karma whorin' since 1999
    4. Re:Slashdot isn't trying to pedal some language... by Anonymous Coward · · Score: 0
      But in all seriousness, how many languages is enough

      There's no such thing as enough. Don't be daft. That's like asking, "How many books do we need to suit everyone's needs and wishes for our entire future?" There will always be new languages and there can never be enough. That you think, somehow, there's a logical limit to needs, wishes, and progresses is, sadly, unremarkable in an age--ironically, the Information Age--dominated by people with absolutely no sense to their credit.

  8. Oh Great ! by Anonymous Coward · · Score: 0

    We need another language like we need another bloody three letter acronym. The number of available languages indicates people are always willing to think the grass is greener somewhere else.

  9. Why another language by RavenDuck · · Score: 4, Insightful
    Lots of people probably wont read the linked interview, so I think it's worth quoting this beautiful little paragraph as to why the world might need Yet Another Scripting Language.
    Why should you switch to Ruby? If you are happy with Perl or Python, you don't have to. But if you do feel there must be a better language, Ruby may be your language of choice. Learning a new language is harmless. It gives you new ideas and insights. You don't have to switch, just learn and try it. You may find yourself comfortable enough with Ruby to decide to switch to it.
    1. Re:Why another language by sg_oneill · · Score: 3

      I must agree that learning new languages is a good thing, even if you never end up using it. Take Python; Having avoided Perl because of the gaga looking syntax I picked up Python as a good alternative. I never really would of realised just how usefull for representation Tuple/list/dictionary type combinations really can be. You don't actually *need* variants of the windoze variety with this. (Ergo Soap works charmingly).

      I rarely end up using python professionaly other than for supernifty one off hacks (in heroic time!) but it's sure filled my head with nifty new ways of going about things in my 'mainstream' programming life.

      I'm sure Ruby has it's little charms too. Must investigate.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  10. After Perl? by Anonymous Coward · · Score: 0

    That seems to suggest that Perl is going to be gone soon, and that I should stop using it. Which I won't.

  11. Nice, but developer mindshare already too diluted by Ars-Fartsica · · Score: 4, Insightful
    I've been following Ruby for a couple of years now - in general its a polished design that synthesizes the best of many competing languages, but ultimately there is little motivation for Perl and Python programmers to invest time in becoming Ruby gurus.

    The language biosystem is overpopulated, and mindshare starvation can be fatal to a new tool.

  12. What Ruby got that Python don't got? by Linux_ho · · Score: 4, Insightful

    I love Perl, wrote many a fine script in it, and a couple mostly unreadable messes. I started using Python, and am using it for most of my scripts now. I poked around Ruby's web page a while back and tried to find out what all the hoopla was about, but couldn't find anything really revolutionary. Bruce Eckel (of Thinking in C++/Java fame) doesn't seem to think much of Ruby.

    Sure, maybe there's some cool new syntactic sugar. Sure, it's sexy to be able to say you're developing in/developing libraries for/developing a brand new computer language. But unless there's some significant additional benefit to this new design, why re-invent the wheel with Yet Another Language?

    So, SOMEONE must be able to tell me what's so *great* about Ruby that we should start calling Python obsolete. Either that, or acknowledge that Ruby is just a fun, impractical project that truly is re-inventing the wheel.

    --
    include $sig;
    1;
    1. Re:What Ruby got that Python don't got? by Waffle+Iron · · Score: 4, Insightful

      So, SOMEONE must be able to tell me what's so *great* about Ruby that we should start calling Python obsolete.


      Ruby's iterators. IMHO, this simple construct provides 80% of the what's truly useful in a functional language without the ivory tower weirdness.


      Having said that, Python 2.2 is soon adding it's own iterators and generators. They looks slightly less elegant, but I havent' tried them yet, so I can't be totally sure; they might be better.

    2. Re:What Ruby got that Python don't got? by huberj · · Score: 2, Informative

      It's hard to reply to this -- how could this (obvious) flame get moderated so high? I don't understand why you think that for Ruby to be useful it has to obsolete Python?

      I don't know Python, but I suspect the features of both Ruby and Python are similar. The syntax for Ruby is very nice.

      What happened to you (switching from Perl to Python) is basically what happened to me, except it was Perl -> Ruby.

      Can't you accept that it's possible for someone to actually like one language more than the other? (you obviously do, and are so closed minded to not give Ruby more than a quick look over)

      I recommend reading some of the Pickaxe Book, which is available online.

    3. Re:What Ruby got that Python don't got? by Anonymous Coward · · Score: 0

      Yes, ruby's iterators are nice. Yes, Python's
      iterators (generators, sorry) feel like an Icon
      bolt-on in comparison.

      But are ruby's iterators really that nice? When you get is a whole other syntax for creating anonymous procedures and naming their arguments. And it's different from how you create named procedures in arbitrary and confusing ways
      (i.e. the difference between def f(x) ... end and
      {|x| ... } not to mention all the do ... end and
      Proc.new weirdness). And ruby's iterators never seemed nearly as understandable as sather's iterators. Likewise, ruby's sather-ish mixins-vs-inheritance never made nearly as much sense as sather's subtyping-inheritance vs. code inclusion. include, require, inherit from, extend_module, blah blah... how many slightly different confusing ways do we need to do basically the same thing?
      It's really too bad that sather has rigor mortis right now.

      I tried ruby when I first heard of it (and the docs were only half-translated), and wanted to like it, but it's just mind bendingly complicated and overgrown. Such as two kinds of exceptions (do ... rescue vs throw catch) which have subtly different semantics, a jillion different kinds of variables with different semantics (@instance_attrs, $global, Constant, method_names (not first class, something weird going on with capitalization there too), some of which throw NameErrors when unitialized, some of which evaluate to nil, etc. etc.). It feels like a haphazard overgrown mess.

      Matz is a really nice guy and ruby does a lot right that python got wrong (it could learn from python's historical mistakes, like type vs. class and ref counting gc). But to me, ruby is a step backwards from python.

    4. Re:What Ruby got that Python don't got? by elflord · · Score: 1

      Eckel is happy with Python, and hence isn't that interested in using the languages that are pythons "competitors" (eg perl which he doesn't think much of either, and, ruby). Python doesn't have to be obsolete for Ruby to be useful. Competition is not a bad thing -- or are you one of those people that believe one of KDE and GNOME should roll over and die so Linux can have one "standard" desktop ?

    5. Re:What Ruby got that Python don't got? by 21mhz · · Score: 1

      it could learn from python's historical mistakes, like type vs. class and ref counting gc

      On the side note, Python learns from them itself.

      --
      My exception safety is -fno-exceptions.
    6. Re:What Ruby got that Python don't got? by FatherBusa · · Score: 1

      I was really dissappointed reading Bruce Eckell's article. I'm a big fan of his books, but in this case I really think he's talking out of his ass about something he really hasn't bothered to look into very carefully.

      Python uses functions that can also masquerade as methods. Ruby uses methods that can also masquerade as functions. This has enormous ramifications for the way OO feels in Ruby. For one thing, there's none of this nonsense about "well, some things are called object.foo() and others are foo(object). Read some of Guido's powerpoint presentations on Python. He really thinks the entire OO paradigm is a form of syntactic sugar for doing stateful programming. No serious fan of OO agrees. For my part, I thought Python was just the greatest thing since sliced bread until I tried to create serious object-oriented software with it.

      Besides that, there's blocks, iterators, closures, true encapsulation, and access control.

      No one who's serious about programming would say, Hey, why do we need Java. It's the same thing as C++! Least of all Eckell. I can't imagine why this would be considered a legitimate thing to say about Ruby and Python either.

    7. Re:What Ruby got that Python don't got? by smallpaul · · Score: 2

      "Yes, Python's iterators (generators, sorry) feel like an Icon bolt-on in comparison."

      I really don't see anything bolted-on about Python's iterators or generators.

      def inorder(t):
      if t:
      for x in inorder(t.left):
      yield x
      yield t.label
      for x in inorder(t.right):
      yield x

      for node in inorder(t):
      print node

    8. Re:What Ruby got that Python don't got? by dozer · · Score: 1
      Bruce Eckel (of Thinking in C++/Java fame) doesn't seem to think much of Ruby.


      Bruce Eckel shows a lot of religious intolerance in that answer. Very strange for a normally pretty with it guy.


      Bruce: So far I keep coming to the conlusion that Ruby is just a bad ripoff of Python, just like C# is a bad ripoff of C++.


      Um, I wonder what books Bruce has been reading lately read... If anythong, Ruby is a ripoff of Perl, not Python. Just like C# is more a ripoff of Java than C++.

    9. Re:What Ruby got that Python don't got? by Linux_ho · · Score: 2

      I'm not saying it couldn't be useful. Reinventing the wheel still gives you a very nice wheel that rolls around just fine. I'm just saying that creating it was a frivolous waste of time. It wasn't necessary. It doesn't fill a need. The effort would have been better spent improving python.

      --
      include $sig;
      1;
  13. Re:O'Reilly buys ad space on Slashdot by Anonymous Coward · · Score: 0

    Troll, but true.

    Slashdot's been busy pushing O'Reilly books over on the Developer page for about a week. Lisa's got 2 submissions already.

  14. Ruby and Parrot by matthewg · · Score: 2, Interesting

    Are there any plans to have Ruby use Parrot, the future shared backend for Perl and Python?

    1. Re:Ruby and Parrot by Colonel+Panic · · Score: 1

      There's been a lot of talk about it in
      comp.lang.ruby

      It would be cool if Ruby could play with Parrot too...

    2. Re:Ruby and Parrot by the+gnat · · Score: 2

      Ack. This was an April fool's joke, remember? Perl6 development is partly based around a VM called "parrot" because it should be reusable for other languages, e.g. Python. I don't see any indication on the python home page that they're planning on using it, though. It's a neat idea, but it's a long way from being a "shared backend" for python as well as perl, and the Parrot home page makes it quite clear that its principle use is for Perl6.

  15. As Long as You're Happy In ______ .... by namespan · · Score: 5, Insightful

    From the article:

    As long as some people feel happy using Ruby, that's enough of a reason for another language for me.

    A-men.

    It works for a lot of other things, too. Pick
    a language, or political party, or religion, or
    operating system, or city of residence, or
    economic system, or mathematical notation, etc...

    Seriously, folks, adopt this attitude, and the
    world will sleep MUCH easier at night.

    --
    Libertarianism is rich wolves and poor sheep playing gambler's ruin for dinner.
  16. It ain't bad... by linuxjack55 · · Score: 3, Insightful

    Compared to Perl and Python, the syntax is cleaner and easier to understand. Scripts can be roughed out in functional terms, and then moved over to objects in no time at all. And, since every component of the core language is an object, OOP is as simple as it gets. The thing that's killing Ruby for me is the lack of documentation. The material that's available requires a lot of (read too much) effort to assimilate. It desperately needs a Camel book...

    --
    The trouble with practical jokes is that very often they get elected. -- Will Rogers
    1. Re:It ain't bad... by Anonymous Coward · · Score: 0

      > Compared to Perl and Python, the syntax is cleaner and easier to understand.

      It'd say that Python's syntax is cleaner than Ruby's, but hey, that's completely subjective. I agree with you that Perl has a messy syntax compared to either Python or Ruby (but then again, who doesn't?).

      >Scripts can be roughed out in functional terms, and then moved over to objects in no time at all.

      Pretty much the same thing in Python.

      > And, since every component of the core language is an object, OOP is as simple as it gets.

      Types are now objects as of Python 2.2. Before, ALMOST everything was an object, except for things like integers.

      >The thing that's killing Ruby for me is the lack of documentation. The material that's available requires a lot of (read too much) effort to assimilate. It desperately needs a Camel book...

      I think this is pretty much what makes Python shine over Ruby.

    2. Re:It ain't bad... by JamesOfTheDesert · · Score: 4, Informative
      It desperately needs a Camel book...


      Perhaps one of these (some out know, some to be published Real Soon Now) would help.


      Programming Ruby: A Pragmatic Programmer's Guide, by David Thomas, Andrew Hunt
      Paperback - 608 pages 1st edition (December 15, 2000)
      Addison-Wesley Pub Co; ISBN: 0201710897

      Ruby Developer's Guide, by Michael Neumann
      Paperback - 520 pages 1st edition (November 2001)
      Publishers Group West; ISBN: 1928994644

      Ruby In A Nutshell, by Yukihiro Matsumoto
      Paperback - 230 pages 1st edition (November 2001)
      O'Reilly & Associates; ISBN: 0596002149

      The Ruby Programming Language (With CD-ROM), by Yukio Matsumoto
      Paperback - 496 pages Bk&Cd-Rom edition (July 5, 2002)
      Addison Wesley Professional; ISBN: 020171096X

      The Ruby Way, by Hal Fulton Guy Hurst
      Paperback, 400pp. ISBN: 0672320835
      Publisher: Sams, Pub. Date: November 2001

      Sams Teach Yourself Ruby in 21 Days, by Mark Slagell
      Paperback, 1st ed., 600pp. ISBN: 0672322528
      Publisher: Sams Pub. Date: December 2001

      Programmieren mit Ruby, by Armin Röhrl, Stefan Schmiedl, Clemens Wyss, etc.
      dpunkt.de; ISBN 3898641511 (February, 2002)
      --

      Java is the blue pill
      Choose the red pill
    3. Re:It ain't bad... by mlsemon2 · · Score: 1

      Agreed. "Programming Ruby" is fine, but I wish it had the odd humor and compelling programming examples (not OO jukeboxes) that are in the Camel. I also wish it had the Camel's very strong chapter on regular expressions. Hopefully, Matz's book will point out the Ruby pitfalls that are not mentioned in "Programming Ruby."

      As this turned to be the "let's bash Ruby" topic on Slashdot, I'll mention that I like Ruby a lot. I just wish that Perl wasn't so automatic to me at this point, else migration would be lots more fun.

  17. How About Jade??? by Schwarzchild · · Score: 1

    for a new programming language name. Why not? Then after that let's make Sapphire and perhaps Obsidian....blah blah.

    --

    "sweet dreams are made of this..."

  18. Why the odd block structure? by Nindalf · · Score: 3

    I love Ruby, especially for the arbitrary-sized integers by default (this might seem like a minor feature, but I deal with exact numbers over a few billion so often that I hate to fumble with extensions and libraries for it), but one thing that confuses me is the block structure. Why "end"?

    Why are static conditional and loop blocks, and function and class definitions, so different from the brace type of general blocks, and so different-looking from Perl? And why is the option of "do || ... end" or "{||...}" not more general?

    For example (and please correct me if my assumption is wrong), why can you choose between "for do || ... end" and "for {|| ... }", but not between "def func(n) ... end" and "def func {|n| ... }" ?

    1. Re:Why the odd block structure? by leifw · · Score: 1

      I would guess that Ruby doesn't allow the
      def function
      #stuff
      }
      syntax because it's not a matching pair (i.e., {...}) like it is with using {...} with blocks. I realize that x...end isn't necessarily a matching pair either, but...
      This is pure speculation.

  19. Need to see it in job ads before it's "official" by Wee · · Score: 4, Insightful
    I've had a habit of reading want ads (mostly job postings lately, but the "Farm Equipment" and "Misc Real Estate 4 Sale" sections are always good) since I was a kid. I know, that's weird. But back then it was always fascinating to me that you could find out just want people want if you read enoguh ads. I thought that if I could read all the want ads then I'd know exactly what my city needed. I imagined that you could make graphs and see what was in demand and such -- kinda like SimCity's zoning bar graphs (which was my immediate thought when SimCity came out).

    I'm not officially OT. See, I still read wants ads. And I look at what's in demand for clues to what I should be learning, trends, etc. Databases are a good example from a couple years ago. I noticed that lots of the 1996 job ads had web->DB stuff in them, and so starting brushing up on databases in my off hours. It turned out to be useful later on. I know that one could take this line of reasoning to mean that everyone should start learning VB and IIS stuff, but it isn't an absolute. You kinda have to read all the ads and then stand back and squint to see the trendfs in your area. If you're a Unix geek, you'll see what ost people want, which might lead to learning something new.

    My (long winded) point is: Ruby won't be on my radar until people can reasonably be expected to pay me for using it. I know I just got modded down in the minds of a lot of poeple by saying that, but it's how I think. When I see Ruby listed in want ads, then I start noticing it (especially if its mention grows over time). I figure that I need to kill two birds with one stone: know enough to get my job done by knowing a diverse enough range of stuff so that I can still get paid. If I spent all my time learning every other thing that came out, I'd never get any work done. And I'd only know a little bit about everything. I need to know a certain subset of things really well, and just the right amount about a lot of other stuff in order to stay competitive. It's setting that threshold of other stuff where the want ads come in handy. If everyone wants wireless all of the sudden, something's up. So I devote a little time to learning it.

    I guess as I get older, I'm starting to value my unplugged time. I can't burn 36 straight hours engrossed in new (and mostly arcane) stuff like I did 15, 20, or even 10 years ago. I have to choose my projects and apply my time wisely. So whern I start seeing Ruby in the wants ads, I'll take a look. I'll be behind the curve, but that's fine.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  20. Re:Nothing ?! by Anonymous Coward · · Score: 1, Insightful

    I've looked at python and ruby syntax and they are not that different actually.

    IMHO ruby is cleaner, well refactored, and consistent than python. You can almost guess how a class will work and it just work.

    And cleanner syntax matters! That is why people switch from perl to python and many avoid lisp.

  21. just have to wait. by RestiffBard · · Score: 1

    I'm only now on chapter two of learning python. gonna have to wait till i can do more than just

    print "Hello, World"

    before i try to learn something else.

    --
    - /* dead coders leave no comments */
    1. Re:just have to wait. by Waffle+Iron · · Score: 4, Funny

      I'm only now on chapter two of learning python. gonna have to wait till i can do more than just

      print "Hello, World"

      before i try to learn something else.


      You're in luck. That code is valid for both Python and Ruby. If you stay on this track, you'll master both languages in no time.

    2. Re:just have to wait. by sg_oneill · · Score: 2

      If you can do any programming at all, I implore you just to do the little tutorial in the help files. It's a freaking winner! *EVERYONE* Who I know who learned it this way pretty much had mastery over Python in under the week. It is *beautifull* like that.

      Must check out Ruby tho..

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    3. Re:just have to wait. by elflord · · Score: 1
      If you can do any programming at all, I implore you just to do the little tutorial in the help files.

      ... or if you've got "learning python", just skip the first few chapters of text and jump right into the exercises. I got through the first three chapters of exercises without reading the book.

      BTW, the python documentation is a godsend. Haven't seen the tutorial, but the reference, C API and embedded guide are very nice.

  22. I'm going to come out with a scripting language by badfish2 · · Score: 1, Offtopic

    I'm going to call it ASS, which will stand for Active Scripting Somethingrather. People will use it because theirs won't stink, but everyone else's will. Of course, they will know that everyone else's stinks because of the power of Open Source - everyone will want to packet-sniff everyone else's ASS to see how theirs is configured, which one is pretty, and which one stinks.

    I long for the day when I will have an o'reilly interview where I get to sit and talk about ASS.

    --
    "On the Internet, nobody knows you're a dog!" - a dog
    1. Re:I'm going to come out with a scripting language by shr3k · · Score: 1

      Or better yet... one day, you'll have to work the media circuit to promote your new language. Hmmm... wait... that means you'd be going everywhere plugging ASS.

      And I'm sure people would be interested to see you do that. :)

    2. Re:I'm going to come out with a scripting language by scrytch · · Score: 1, Offtopic

      Yeah, but no one will want to maintain code written in it, because it looks like ASS :)

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  23. Ruby for Artificial Intelligence by Mentifex · · Score: 1

    There is a Mind-to-Ruby liaison page for coodinating the implementation of an Open Source AI Theory of Mind in Ruby.

    A previous instance of porting the AI to Visual Basic was Mind.VB of 3.Apr.2000.

    A more recent port from JavaScript into Java is at Mind.JAVA of June 2001.

    The Ruby programming language leads to a technology transfer of American AI to advanced Japanese robots: the Technological Singularity.

    1. Re:Ruby for Artificial Intelligence by the+gnat · · Score: 2

      Oh god, you again? Jesus, some people just don't know when to put the bong down. I'm sick of hearing about your artificial minds. If your artificial mind can write my history paper by monday at 9:30, then I'll start caring.

      Moderators, you know what to do. Check this weirdo's previous posts out.

  24. Uhh.... by Anonymous Coward · · Score: 0

    Why would we want to use ruby? Python solved the problems in Perl over ten years ago. Ruby seems to try to reverse the clock and add a Perl-esque syntax. ****shrudder****

  25. What about scheme? by Anonymous Coward · · Score: 0

    Anyone use scheme? Scheme is very nice, IMHO. Any thoughts? Why not make scripting langauges more like scheme?

  26. Re:Nothing ?! by vscjoe · · Score: 2
    And cleanner syntax matters! That is why people switch from perl to python and many avoid lisp.

    It's hard to get syntax that is "cleaner" than Lisp syntax: Lisp syntax is very easy to parse, very easy to write, and completely unambiguous.

  27. it's not named after a jewel, by Anonymous Coward · · Score: 0

    but REBOL deserves every bit as much attention on Slashdot as Ruby, Python, Perl, etc.

    It's a very elegant and tight language, (which I'm still learning), with oodles of potential...

    *get's off podium and lowers head*

    You may now mod this blatant plug down...it's tough to be righteous...

  28. Ignorance is Strength by Anonymous Coward · · Score: 4, Insightful

    > Sure, maybe there's some cool new syntactic sugar.

    [sigh.] All non-1stGLs are, boiled down, syntactic and semantic sugar. *That's the whole point.* You try and map the necessary, needs-of-the-machine language up to something closer to How People Think (tm).

    > Sure, it's sexy to be able to say you're
    > developing in/developing libraries for/developing
    > a brand new computer language.

    Yeah, I like to read the same book over and over, too. It's not like I can learn any new ideas from anything other than _Atlas_Shrugged_.

    > But unless there's some significant additional
    > benefit to this new design, why re-invent the
    > wheel with Yet Another Language?

    If nothing more, than to grind one's teeth on the *art* of language design. Am I reading you wrong, or are you actually convinced that Python and Perl are the highest glory of formal systems?

    > So, SOMEONE must be able to tell me what's so
    > *great* about Ruby that we should start calling
    > Python obsolete. Either that, or acknowledge that
    > Ruby is just a fun, impractical project that truly
    > is re-inventing the wheel.

    You should become a project manager, as you have the proper terror for new ideas. I'll be here at work over the weekend, grinding out shit in Visual C++ that could have been done in no fucking time with Common Lisp. But hey, those LISPs are just fun and impractical.

    "And the people bowed and prayed to the neon god they made"
    --_The_Sounds_of_Silence_

    1. Re:Ignorance is Strength by huberj · · Score: 1

      Hear hear! (LOL)

    2. Re:Ignorance is Strength by sg_oneill · · Score: 2

      If nothing more, than to grind one's teeth on the *art* of language design. Am I reading you wrong, or are you actually convinced that Python and Perl are the highest glory of formal systems?

      ...No that's SmallTalk ;). One day I might even figure out how to do something usefull with it ;)

      Of course there are some langs that do exist pretty much for the art of it. Think Prolog (Oh ok.. PostScript uses). Doesn't mean we are not richer for them.

      (Hope I didn't start a holy war here!).*grin*

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    3. Re:Ignorance is Strength by Anonymous Coward · · Score: 0

      Think Prolog (Oh ok.. PostScript uses).

      I think you're mixing Prolog and Forth.

    4. Re:Ignorance is Strength by Linux_ho · · Score: 2
      If nothing more, than to grind one's teeth on the *art* of language design. Am I reading you wrong, or are you actually convinced that Python and Perl are the highest glory of formal systems?
      Yes, you're reading me wrong - I'm not saying any of them are the holy grail, and you know it. If Ruby had made a single step past Python in the direction of "formal system glory", if Ruby actually offered anything I thought was new and interesting to the art of language design, I would be behind it 100%. Instead, I get the impression of random bits of Python and Perl cobbled together with bubble-gum and duct tape. If I choose to grind my own teeth on the art of language design at some point, I won't be choosing Ruby to grind them on.
      You should become a project manager, as you have the proper terror for new ideas. I'll be here at work over the weekend, grinding out shit in Visual C++ that could have been done in no fucking time with Common Lisp. But hey, those LISPs are just fun and impractical.
      Yow, my hair is smoking. Have you actually used this language you're defending so vigorously? Just because I don't like Ruby doesn't mean I don't like LISP, though you seem to have somehow made that connection. Perhaps you're projecting a little frustration at having to work over the weekend?

      --
      include $sig;
      1;
  29. Matz should clean up the syntaz while he still can by djarum72 · · Score: 1
    Matz: [From perl I borrwed] A lot. Ruby's class library is an object-oriented reorganization of Perl functionality--plus some Smalltalk and Lisp stuff. I used too much I guess. I shouldn't have inherited $_, $&, and the other, ugly style variables.
    Ruby is young enough that he could redesign his syntax, with an enthusiastic enough community that he could pull it off.

    I think he should stick with one of the {} or do...end styles; eliminate the @ from @member (maybe .member?); generally don't be afraid to make it a MORE beautiful language.

  30. One good thing... by HavingToLoginSucks · · Score: 1

    A few months ago, I was a chemist sitting in my lab pondering crystalization of aluminum oxide, with no more programming experience other than the required pascal & fortran from school. A few websearches later, and thanks to ruby, I finally hit that moment of enlightenment of understanding OO. Any language that helps me grow is good. I'm still in a lab, but this one doesn't have fume hoods ;).

  31. Re:Need to see it in job ads before it's "official by Anonymous Coward · · Score: 0

    Or Maybe they're just the jobs that nobody wants, so they only get filled through the newspaper instead of by word of mouth like most jobs. If a job were availalbe programming using ruby, python, etc, so many programmers would want to try it, it would be filled before the ad got to print.

  32. What color is the sky in your world??? by DAldredge · · Score: 1

    The post you are refering to is not a flame. The poster was asking a valid question. Just because you do not agree with the questions does not make it a flame.

    It seams a little closed minded to call a post you don't agree with a flame...

    1. Re:What color is the sky in your world??? by huberj · · Score: 1

      I disagree, comments like:


      So, SOMEONE must be able to tell me what's so *great* about Ruby that we should start calling Python obsolete. Either that, or acknowledge that Ruby is just a fun, impractical project that truly is re-inventing the wheel.


      Are just intended to be inflammatory, don't you think? I guess not.

      What I'm saying is that just because a language doesn't severly improve on the features of another is not a good reason to dismiss it.

      I have no problem with Python -- the problem I have is with people who are too closed minded enough to try new things. I know many people who use C all the time, and always spout the standard, "but you can do anything in C -- it's the best language, even for OO programming!" They say this because that's all they use, and assume nothing could possibly be better, becuase that's all they're familiar with.

      I've said enough already :)

  33. Maybe some people will just prefer Ruby by Anonymous Coward · · Score: 1, Interesting

    Sure, Perl and Python have their strong points. Ruby seems to have done a good job of combining the strong points of both. A lot of folks want a language that is easier to develop object oriented code in than Perl (which, as someone who has done OO Perl, I have to say it's downright ugly), and many people don't like Python's style (forced indentation - need I say more?).

    It's a matter of which language fits you, the programmer, best instead of the other way around. A lot of folks find that programming in Ruby is just more natural to them than programming in either Perl or Python.

    The message here is: give it a try. If it works for you and you decide that you really like it, then you've gained. If you try it out for a couple of days and decide that you don't like it, then you don't have to continue. Try it, you might like it.

  34. Re:Need to see it in job ads before it's "official by Anonymous Coward · · Score: 1, Interesting

    It's a valid point you make, I suppose.

    But what if you were to learn it because it's fun?

    "Fun?" Yeah, fun.

    Another point: By the time something hits the help wanted ads in large numbers it's already gotten a some percentage way through it's active life. Look at Java - a lot of people started learning it because it looked like an important technology to them at the time, there weren't many Java jobs at first. Now everybody and his brother has learned Java, so you're competing with everybody and their brother.

    BTW: I did see a Ruby ad at:
    http://www.postget.com/get/ad.php?id=591

    So maybe it's just starting and has a lot of life ahead of it - one can only hope.

  35. better alternative for product development by Lepruhkawn · · Score: 4, Interesting

    If someone INSISTS on using a scripting language to build thousands of line of code that I then have to try and maintain and enhance as a product, I'd welcome any alternative scripting language that doesn't encourage obfuscated code as much as Perl does.

    I don't know if Ruby fits that bill, but it would be a reason to switch if it does.

    Of course, I know that code in any language can be well documented and written so that's easy to understand. It just seems like code written in Perl is much more likely to be difficult to read than in other languages more appropriate for applications.

    I'm part of a group that has had Perl code (using the OO facilities) handed off to it to maintain and fix. It contains many Packages and probaby several thousand lines of code. Not sure. I've successfully kept my name off the responsibility list for that code. It's been pure hell for the engineers that have been asked to fix it--and all it's supposed to be is a simple parser and data access interface.

    I use Perl myself for my own scripting but it can be cruel and unusual punishment to be given someone else's Perl to maintain.

    It's enough to make you take your clothes off and run around the office screaming "I CAN'T CODE NAKED!!! AHAHAHAHAAHAH!!!" until they put you on a different project.

    --
    Jesus saves....And takes 1/2 damage.
    1. Re:better alternative for product development by Fnkmaster · · Score: 2, Informative

      I find Python to fit this bill quite well, though I'm sure Ruby has the same general style to it and can be just as readable. In particular I love the fixed indenting for code organization. The variants and often times complete failure of many projects to format source code and adhere to a coding standard in anything resembling a readable format always annoys me. Some people find this feature of Python even more annoying though - whatever floats your boat (I've often sat around wondering why we don't just force Java to have a common indenting syntax so everyone can use the editor of their choice and they will play nice out of the box).

  36. Ruby just clicks with a lot of people by Anonymous Coward · · Score: 1, Interesting

    I've heard it described many times as: Ruby allows me to go from thought to code with the least friction of any language I've tried. I find it to be true as well.
    Sure some people will still prefer Perl and other Python, but a lot of people seem to be finding that Ruby just clicks for them.

    Maybe it's Matz's design philosophy "The principal of least surprise"

  37. disagree!=flamebait or offtopic... by 3am · · Score: 2

    ...which is how most moderators seem to use it. which is sad. tyranny of the majority is boring in spirited discussions...

    --

    A: None. The Universe spins the bulb, and the Zen master merely stays out of the way.
    1. Re:disagree!=flamebait or offtopic... by mandolin · · Score: 1

      Agree with your general sentiment, but I also object to using +1 bonus to post offtopic rants like you just did, so I guess it balances out.

    2. Re:disagree!=flamebait or offtopic... by 3am · · Score: 1

      touche.

      --

      A: None. The Universe spins the bulb, and the Zen master merely stays out of the way.
  38. Comment removed by account_deleted · · Score: 3, Interesting

    Comment removed based on user account deletion

  39. I really hope Ruby gains ground by Colonel+Panic · · Score: 3, Informative

    It's a joy to program in...

    * There's iterators & blocks
    *A unified class/type system (meaning you can extend built-in types like String,Array,Hash,Kernel, etc)
    * fully OO - 42.times { |i| puts i }
    but it doesn't get in the way when you don't want OO, like it seems to with Java.
    * Design patterns - Observable,Delagator,Singleton,...
    * dRuby - Ruby's very easy to use distributed object system.

    For now it's great fun, hopefully someday it'll pay the bills too. ;-)

    1. Re:I really hope Ruby gains ground by Anonymous Coward · · Score: 0

      Well, I never find OO "gets in the way" with Java - one can use "static { }" blocks as snippets of C-style procedural code...

  40. Re:Nothing ?! by Trepidity · · Score: 1

    Whoever moderated this off-topic must not have ever written any Lisp code...

  41. Re:Need to see it in job ads before it's "official by Samrobb · · Score: 1
    Somehow young people with alot of energy are always seen in this light - like we are wasting are time or being frivalous because we don't value our time.

    I don't think he was daying that young people don't value thir time; I think he was saying that, since he no longer has the energy of youth, he has less time to do all the things he might want to do, so he needs to be careful about how he spends his time in order to get to do all the stuff he wants.

    Speaking as someone who, three years ago, couldn't even begin to dream how much a toddler could eat up your personal time, I understand (in some sense) exactly what he's saying :-)

    --
    "Great men are not always wise: neither do the aged understand judgement." Job 32:9
  42. Re:Nothing ?! by Fnkmaster · · Score: 2

    Easy to parse? Are you insane? The primary reason for LISPs lack of success in the real world, IMHO, and the ultimate success of least common denominator languages like Java lies in their parseability to somebody with only general knowledge of the specifics of the applications (i.e. lead time on bringing new developers into a project). This is the one of the most significant strengths of Java over C++ (well, not the only one, and there are plenty of weaknesses, but this strength wins out with much "enterprise" or "business" server-side software). I also find Python generally quite pleasant to parse and read. LISP, on the other hand, is easily parseable only for those with strange brain defects that make them love spending their days counting parens with bleary eyes.

  43. ehh.. I'll stick to Pike by Anonymous Coward · · Score: 0

    I'll stick to Pike - one of the best languages I've ever used..

  44. Yet another poorly communicated language... by Futurepower(tm) · · Score: 1, Flamebait


    I looked at Ruby. It is certainly a heartfelt attempt. However, it seems to me that yet another poor communicator has written yet another language.

    Not only that, but the Ruby creator has created his own syntax. A new language has one big advantage for the creator: The creator finds the syntax very familiar. Everyone else must struggle.

    Links:

    The Ruby Home Page

    Ruby Language Reference Manual

    The Ruby Language FAQ

    Programming in the Ruby language by Joshua D. Drake, who is a good communicator.

    A Slashdot story and comments: Programming in the Ruby Language

    Positive comments about Ruby:

    Introducing the latest open source gem from Japan

    Thirty-seven Reasons I Love Ruby by Hal Fulton.

    Negative comments about Ruby:

    As mentioned above, Bruce Eckel does not like Ruby:

    "IMO, the Ruby syntax is ... often annoying... Ruby requires more typing for no particular reason, and has an uninspired choice of syntax ..."

    Eckel again: "... Python has 10 years behind it and a big, very smart, very active community, a nice number of good books and more on the way, a large set of libraries and a whole process and team in place for developing the language. Recent improvements to the language have outstripped whatever Ruby could offer, I think, and there's currently lots of very good work going on to further improve Python."

    For those who would like to quickly see for themselves, there is a section of the The Ruby Language FAQ called Show me some Ruby code

    Quotes from Ruby's creator, a Japanese man with an incomplete command of English:

    What is the history of Ruby?

    "Well, Ruby was born on February 24 1993. I was talking with my colleague about the possibility of an object-oriented scripting language. I knew Perl (Perl4, not Perl5), but I didn't like it really, because it had smell of toy language (it still has). The object-oriented scripting language seemed very promising.

    "I knew Python then. But I didn't like it, because I didn't think it was a true object-oriented language -- OO features appeared to be add-on to the language. As a language manic and OO fan for 15 years, I really wanted a genuine object-oriented, easy-to-use scripting language. I looked for, but couldn't find one.

    "So, I decided to make it. It took several months to make the interpreter run. I put it the features I love to have in my language, such as iterators, exception handling, garbage collection.

    "Then, I reorganized the features of Perl into a class library, and implemented them. I posted Ruby 0.95 to the Japanese domestic newsgroups in Dec. 1995.

    "Since then, highly active mailing lists have been established and web pages formed."

    --
    Links to respected news sources show how U.S. government policy contributed to terrorism: What should be the Response to Violence?

    --
    Bush's education improvements were
    1. Re:Yet another poorly communicated language... by Anonymous Coward · · Score: 0

      So, basically, you're saying that the creator of Ruby is a poor communicator because his primary language is not English?

      Hehe, let me guess, you're American?

  45. Re:He die of a massive stroke like Michael Jackson by Anonymous Coward · · Score: 0

    Actually it was lung cancer. He was 58, which is prime-time for this disease.

    *Reaches for cigarettes*

  46. Maybe Slashdot should do an "Ask Bjarne" by puppetluva · · Score: 5, Insightful

    I did. In 1995 I had a conversation with Bjarne Stroustrup (inventor of C++) and asked him the obvious layup "Which language should programmers seek out and learn?"

    Instead of automatically plugging C++ he suggested something like this:
    1. Learn (or read) at least one every year or two so you don't get pigeonholed into the limitations of the language you use every day. Different languages promote different approaches - and different approaches/designs are the toolchest of this industry.
    2. At least try out one functional language (Lisp/Scheme), one OOP language(C++/Java), one procedural language. None is better than the other, they have different takes on the world and shine at solving different types of problems.
    3. Sticking with one language (at the total exclusion of others)limits your output and stunts your learning curve. Looking at more than one also reminds you what languages are for -- expressing more succinctly and clearly the instructions you want the computer to heed.

    This being said, I look at lots of languages and I've learned a lot from using Ruby (and I use it a lot now). The best ideas from Perl, Smalltalk, Python and C/C++ are all there. The downsides are not (Perl - clumsy OO, Smalltalk - high-priced/low acceptance, Python whitespace-significance/non-OO primitives, C/C++ - compilation, etc.). The user community is probably the most helpful and thoughtful I've been a part of as well.

    As far as Ruby's success at translating your thoughts to working programs? I read posts where people claimed they wrote less code, got more functionality, and fewer bugs right away. At the same time, they claimed they generally produced cleaner solutions at a faster rate than they ever had before with Perl or Python. Skeptical at first, I tried it out. . . I was shocked to find it was true for me within 2 days - I was sold.(note - I really am baffled by Bruce Eckel's comments on Ruby. . .I respect him as a writer, but I couldn't disagree with him more)

    Final note: If you are interested in becoming a better programmer, you should get the book "The Pragmatic Programmer" and read it(It was previously and glowingly reviewed by Slashdot - and no, I'm not the author). Its full of great advice on how to approach new languages and the general art of programming. The authors also wrote the book "Programming Ruby" (The "pickaxe" book) and they are big fans of Ruby as well.

    1. Re:Maybe Slashdot should do an "Ask Bjarne" by kubalaa · · Score: 1

      White space: I'm tired of people referring to this as something Python "got wrong". You may not agree with it, but it's intentional and some people find it superior. I've never met anyone who disliked it after having actually tried it.

      --

      "If you look 'round the table and can't tell who the sucker is, it's you." -- Quiz Show

    2. Re:Maybe Slashdot should do an "Ask Bjarne" by dmelomed · · Score: 1

      You could try Erlang as the functional language, industrial strength stuff that's fun. www.erlang.org.

    3. Re:Maybe Slashdot should do an "Ask Bjarne" by joeytsai · · Score: 1

      Actaully, Slashdot did do an interview with Bjarne Stroustrup. The link is here.

      --
      http://www.talknerdy.org
  47. Gem names? Explains COALbol by Tablizer · · Score: 0

    Gem names? Explains COALbol

    (Hey, they also misspailled "perl")

  48. Let Me Brace Myself (for a flame war) by Anonymous Coward · · Score: 0
    I think he should stick with one of the {} or do...end styles
    I vote for {}. I know this will inspire a Jihad from the if..fi case..esac crowd, but I don't care. The brace convention is one of the Good Things adopted from C - it uses characters that don't appear in normal words to do blocking. Makes it easer to parse with compilers, interpreters, and wetware. You're looking for a single character outside of a quote or comment context, not a whole string that looks just like your variable and subroutine names.
  49. Re:Nothing ?! by Anonymous Coward · · Score: 0

    ask randomly 10 people about which one is more readable portuguese or japanese and, unless they are japanese, they will probably tell you its portuguese.

    you should look at whatever language and *read* it like a letter. If you can then its clear

  50. A framework for web apps by metlin · · Score: 3, Informative

    Rappsrv is an interesting framework for web applications written entirely in Ruby.

    You can check out the site, the code and the thing at work.

    Pretty neat! There are also some nice Ruby resources at the same site.

  51. Re:Need to see it in job ads before it's "official by jimm · · Score: 2, Informative
    Here is a Ruby job. The description starts:

    "Client is a small advertising agency in Manhattan.

    "Job consists of production work on heavily dHTML website. In order to minimize production pain, html pages are generated using Ruby (a wonderful language)."

    Yay, Ruby!

    --
    Transcript show: self sigs atRandom.
  52. Hitting the wall with syntax. by Kaz+Kylheku · · Score: 1

    Object orientation is the semantics. Semantics
    is tied to syntax, but not to any particular syntax; there is no ``object oriented syntax''. Syntax allows you to group some expressions together to express some semantic relationship.

    Languages hit the wall when they have a hard-wired syntax, with hard-wired semantics.

    Ruby is no exception. It's a whole lot of syntactic sugar for a bunch of non-programmable semantics. It was obsolete before it was conceived. Moreover, the author has a very limited view of what object oriented programming is, and suffers from a fundamental confusion that OO is somehow syntactically determined. This if from one of his slides:

    //OOP
    fi = File::new("sample.dat", "r")
    fi.binmode = true
    line = fi.readline()
    fi.close

    // Non-OOP
    fi = fopen("sample.dat", "r")
    fbinmode(fi, true)
    line = freadline(fi)
    fclose(fi)

    So, in other words, something is object oriented if it uses the notation object.method(arg), but not object oriented if it uses the notation method(object, arg). Is this guy for real?

    It takes a certain level of experience to see through the facade of curly braces, vertical bars, squiggles, splats, hashes, cokebottles and whatnot. Such devices, despite looking impressively cryptic and terse, do not imply any special power; they are designed to dazzle and seduce the undergraduate mind.

    The real power arises when the same expression, whether it uses lots of syntactic sugar or not, can mean absolutely anything that the programmer wants, not only what the language designer wants it to mean.

    1. Re:Hitting the wall with syntax. by sjmurdoch · · Score: 1

      Your complaint about Ruby seem to apply to many other languages. I am curious to know what languages, in your opinion, do not have the weaknesses you describe. I would also be very interested to know why you believe these lanuages to be better.

      I'm not trying to belittle your complaint, I'm genuinly interested in having a look at better programming languages.

      --
      Steven Murdoch.
      web: http://www.cl.cam.ac.uk/users/sjm217/
    2. Re:Hitting the wall with syntax. by Anonymous Coward · · Score: 0
      The usual argument for "OO syntax" is that the non-OO syntax for what is in reality an object (the file fi) "pollutes the name space" (creates lots of names of things at the global level).


      Gnome uses C to do objects, and it suffers from this supposed problem. Dunno, I have written stuff the C and the C++ way, and I haven't been afflicted with name space problems.

    3. Re:Hitting the wall with syntax. by Kaz+Kylheku · · Score: 2
      Anonymous Coward writes:

      The usual argument for "OO syntax" is that the non-OO syntax for what is in reality an object (the file fi) "pollutes the name space" (creates lots of names of things at the global level).

      That is really just a lexical problem of symbol management. Global symbol clashes are avoided by the use of packages. Lexical scoping has little or nothing to do with object orientation. Using C to emulate object oriented programming suffers from that problem because C has no namespaces or packages; programmers resort to conventions like adding a common prefix to related identifiers.

    4. Re:Hitting the wall with syntax. by JamesOfTheDesert · · Score: 2
      The real power arises when the same expression, whether it uses lots of syntactic sugar or not, can mean absolutely anything that the programmer wants, not only what the language designer wants it to mean.

      Gee, does the compilier or interpreter have any say in this, or would that also be too restricting?

      Can you point to any language that meets your criteria?

      --

      Java is the blue pill
      Choose the red pill
    5. Re:Hitting the wall with syntax. by Anonymous Coward · · Score: 0

      Yes, packages solve the namespace pollution problem. However, inheritance, and polymorphism based on object type, can be tricky if not supported by the language. Possible, but tricky. For example, extending a C gtk class is somewhat more difficult than extends a C++ gtk-- class. (And the difficulty is due to more than just the lack of packages in C.)

    6. Re:Hitting the wall with syntax. by Goldhammer · · Score: 1
      [JamesOfTheDesert] "Can you point to any language that meets your criteria?"

      Common Lisp.

    7. Re:Hitting the wall with syntax. by JamesOfTheDesert · · Score: 1
      Thank you; I shall check this out.

      (makes note to add 25th hour to day)

      --

      Java is the blue pill
      Choose the red pill
  53. Jeez by Anonymous Coward · · Score: 0

    It's peddle.
    When you submit something, do you look at what you've written?

  54. Too late by Anonymous Coward · · Score: 0

    http://www.jade.co.nz/

  55. better C interface by vscjoe · · Score: 2
    I like the Python programming language, but I don't particularly like its C implementation and interface. Reference counting in Python is a particular problem, frequently leading to obscure bugs in complex Python extension libraries. Don't even get me started on the Perl C implementation and interface.

    Ruby looks a lot better in this regard, and that alone might be a reason to use it, even if otherwise it is roughly equivalent to Python.

    Still, overall, it is disappointing to me that there is no Perl/Python/Ruby-like scripting language implemented in C++: using C++, the native code interface could be much simpler to use. Yes, there are various C++ wrappers for Python and probably the other languages, but they generally add a complex C++ layer around an already complex C interface.

    1. Re:better C interface by furboo · · Score: 1


      Still, overall, it is disappointing to me that there is no Perl/Python/Ruby-like scripting language implemented in C++: using C++, the native code interface could be much simpler to use.


      Given that there is no C++ ABI standard (yet), I suspect this would be "simpler" only if you used the same compiler for the scripting language and the C++ code to be wrapped. Pretty limiting.

  56. Soak. by Anonymous Coward · · Score: 1, Insightful
    Ruby won't be on my radar until people can reasonably be expected to pay me for using it. [...] When I see Ruby listed in want ads, then I start noticing it (especially if its mention grows over time).
    Let's abstract your idea to the ever popular example, Linux.

    Years ago you rarely saw jobs where Linux was asked for. If one were to take your stance no language would advance. Fact is that toys software is where the next popular thing comes from.

    My advice? Bookmark a Ruby news site and read every couple of days. Just soak in it. You won't waste too much valuable time and it'll expand your mind. Maybe you'll be so interested you'll feel the urge to learn it in your spare time.

    Fact is that as a programmer you can pick up Ruby in a month, and that means you'll adapt quickly enough to cope with the influx of Ruby, or any programming language.

    There are many facts but they all miss the point. Will learning Ruby be worth my time commercially? Only a fool would answer that with any solidity. Spread your mind around information and just soak it in. Not just Ruby but Linux and Electronics and Interface. Choose wisely and spend a few minutes each day expanding your mind. Follow your heart and one day you'll get that pony, Jeff. You'll climb those stairs and drive that Porsche. And remember, you don't need the drugs when you're high on crack.

  57. Language adaption by Pseudonym · · Score: 3, Interesting

    Though you won't find it in your job ads, having a lot of languages (and a lot of different kinds of languages at that) on your resume is a definite bonus. Especially if there's a variety of languages (procedural, OO, functional, logic etc), it shows that you can easily adapt to a new language should that become an issue.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  58. sorry, but the problem is you by mj6798 · · Score: 1, Offtopic
    There was no "flaming" in the message you were responding to. It is people like you that think any message that criticises something dear to their heart is a "flame" or a "troll" that make Slashdot such an unpleasant place sometimes.

    If you disagree with an opinion in a reasonably politely worded message, respond with a good technical argument. Don't throw out random accusations or moderate down messages you merely disagree with.

    Also, don't point people at a few hundred pages of documentation--it's counterproductive. If proponents of a tool are incapable of producing a concise statement of why their tool is better than other tools, people are entitled to assume that it isn't worth looking into it further. The burden of proof is on the shoulders of people who want mindshare, not on the shoulders of people who want to use existing tools.

    (As for Ruby, it seems like a reasonable language with a nicer C interface than Python. Enough to switch? I don't know.)

  59. Ruby was the father of Microsoft Visual Basic. by Anonymous Coward · · Score: 1, Informative

    Ruby was invented in 1988 by Alan Cooper, he sold it to Bill Gates. Bill mixed Ruby with Qbasic and the result was Visual Basic.

    Sources:

    http://www.webword.com/interviews/cooper.html

    http://www.cooper.com/

    1. Re:Ruby was the father of Microsoft Visual Basic. by jtra · · Score: 1
      Article referenced in parent post is in no way related to Matz's Ruby.

      Matz created ruby in 1993. The article says 1988. It is name collision.

      --
      -- Wanna textmode user interface for ruby? http://freshmeat.net/projects/jttui/
  60. Re:Nothing ?! by vscjoe · · Score: 2
    Easy to parse? Are you insane?

    Actually, I was talking about parsing, not readability. But well-written Lisp is very readable, just like well-written C or well-written Java.

    LISP, on the other hand, is easily parseable only for those with strange brain defects that make them love spending their days counting parens with bleary eyes.

    Lisp, like Python, relies on indentation for readability. People never count parentheses, they use editors that handle parentheses for them. Python programmers don't go blind counting spaces either, they use editors that handle indentation for them.

    The primary reason for LISPs lack of success in the real world, IMHO,

    Lisp is probably more widely used today than Python or Ruby. It may be unfamiliar, but it is really easy to learn. CommonLisp failed mostly for reasons unrelated to syntax.

    the ultimate success of least common denominator languages like Java lies in their parseability to somebody with only general knowledge of the specifics of the applications

    Come on: "&&", "?:", and lots of other operators? Lots of braces? Oddball precedence rules? Variable declaration syntax with type modifiers on the variables? Prefix conversion operators with postfix method selectors? Java syntax is pretty tricky and unintuitive; people only consider it simple if they know C.

    I also object to your characterization of Java as a "lowest common denominator" language. Java is a very powerful language, hidden under a deceptively familiar syntax.

  61. Hmmm... by countach · · Score: 0

    Being the next language after Perl, is really NOT something you want to be bragging about.

  62. Perl. Python. Ruby. by Anonymous Coward · · Score: 0

    YASL. (Yet Another Scripting Language).

    The only reason I see use for it is for techies comparing virtua-genitals. "I know *this* many languages."

    Honestly, we don't need another scripting language... The only thing it's going to do is force programmers who also have lives to leave their lives behind so they can keep learning the 'latest and greatest' thing.

    I'm not saying Ruby is useless, probably not, but I'm still waiting for the "Java Revolution" that never happened. I'm not holding my breath for Ruby to become a 'replacement' for Perl.

    Languages that say, "Why not?" suceed. Languages that say, "We're better than language!" are overhyped, find a few small niches and then die out.

    I think the only great thing that'll come out of YASL is that it's another obscure language, and those who know it will get paid extremely well. :)

  63. Poor communication is a BIG problem... by Futurepower(tm) · · Score: 1, Flamebait


    I am saying that, for me as a native English speaker, the cost of being involved with Ruby is high:

    Ruby is a language primarily written and maintained by one person. The author of the language says this in one of the links that I provided. The documentation in English is poor, and, because there is only one primary person working on the language, the documentation is likely to remain poor. That makes a big difference for anyone trying to learn a new computer language, because it vastly increases the cost (in time) of learning.

    Also, if there is poor documentation in English, it has been my experience that fewer people adopt a new computer language. English is the world's most common second language. EVERY Japanese student studies English, my Japanese friends say. A friend in Thailand told me that there was a scholarship program to teach computer skills to Thais in Japan. The courses were taught in English.

    Try a test: Call the main number of any large German bank. When the operator says hello in German, just start speaking English. You will find that the operator immediately switches to perfect English. If German banks think that communicating in English is important, maybe that is because communicating in English is important in today's world.

    If fewer people adopt a computer language, there will be less development. If there is less development, then it may become one of the hundreds of languages that have eventually died. This would increase the cost of adopting Ruby still further.

    Poor communication is a BIG issue with open source software, in my opinion (and closed source, too). In my opinion, poor communication is the one big barrier to getting rid of the Microsoft Windows operating system completely. I don't like Windows because I don't like being abused by Microsoft.

    My city, Portland, Oregon, USA, has what is said to be the biggest bookstore in the world, Powell's. I went to Powell's technical bookstore and looked at about 20 books on Samba. ALL of them were very incomplete. ALL of them were poorly written.

    --
    Links to respected news sources show how U.S. government policy contributed to terrorism: What should be the Response to Violence?

    --
    Bush's education improvements were
    1. Re:Poor communication is a BIG problem... by Anonymous Coward · · Score: 0

      Since more people use english as a second language rather than as their native tongue, international communication is inevitably done in a very diluted version of english. Just like American english is a poorer version of british english, the english spoken by a Dutchman like myself or some Thailandese grad student will not have the breadth of vocabulary that you possess.

      If you as an american want to benefit from the wealth of information on the Internet, sooner or later you will have to learn to appreciate the international english that most people speak. True, people that talk and write in a language that is not their own will look less intelligent, but you have to look through that barrier. Learn spanish and write your same comment on some Latin-American slashdot-variant and feel how it is to communicate with a vocabluary of a thousand words. Still, the message you try to convey is the same.

      Good luck in opening up your mind.

    2. Re:Poor communication is a BIG problem... by JamesOfTheDesert · · Score: 1
      Just like American english is a poorer version of british english, ...

      Let me guess: you're not a linguist. Am I right?

      Ha! I *knew* it.

      Damn, if I had a Jamaican accent, I could have a TV psychic hotline.

      you will have to learn to appreciate the international english that most people speak

      The technical term is bad English. The correct way to "appreciate" that is to point out when people make errors and help them learn correct English.

      Or British English, if that's easier.

      :)

      --

      Java is the blue pill
      Choose the red pill
    3. Re:Poor communication is a BIG problem... by Anonymous Coward · · Score: 0

      Let me guess: you're an American. Am I right?

      The clarification in the thread above shows that he clearly *did* mean "poorer". You just didn't understand it since that word's not in your vocabulary. (Personally, I would call the American variant "sparser" than British English.)

      I find it delightfully ironic that Americans complain about "bad English" when mainstream American culture seems to be trending toward something where the phrase "double plus ungood" wouldn't look out of place. The seeds of anti-intellectualism have deeply taken root.

  64. Re:better C++ interface? by 21mhz · · Score: 1

    Still, overall, it is disappointing to me that there is no Perl/Python/Ruby-like scripting language implemented in C++: using C++, the native code interface could be much simpler to use. Yes, there are various C++ wrappers for Python and probably the other languages, but they generally add a complex C++ layer around an already complex C interface.

    I think, it's better than to lose the ability of binding to pure C (or assembly, or whatever) code.
    --
    My exception safety is -fno-exceptions.
  65. Ruby incorporated into Midgard core by PGillingwater · · Score: 1

    I'll forgo my moderator privs to mention that the Midgard development team have selected Ruby as the Scripting Core of the next generation of Midgard, which is (in part) a Content Management and Web Database deployment system based on PHP.

    --
    Paul Gillingwater
    MBA, CISSP, CISM
  66. Mideshare by MarkusQ · · Score: 2
    The language biosystem is overpopulated, and mindshare starvation can be fatal to a new tool.

    I couldn't disagree more. Mindshare may be needed for products but too much mindshare can kill ideas faster than anything. Memes that "everybody knows" are essentially dead. The language biosphere only seems overpopulated if you're used to living in the BASIC* & C* wasteland we had a few years back.

    -- MarkusQ

  67. Re:Poor communication is......(WAY OT by now)... by Oswald · · Score: 1

    I don't know if you'll check back for responses to this post, but if you do I wonder if you could clarify your comment about american being a poorer version of english. I'm not aware that there is anything that can be said in the british dialect that cannot be said just as clearly in american, but I'd be interested to hear your views on this (or was it just flamebait?)

  68. Re:Nothing ?! by Courageous · · Score: 2


    >Lisp is probably more widely used today than Python or ...

    I highly doubt this. A perusal of the traffic of the python verson lisp newsgroups tells tales as does the paucity of available libraries for lisp when compared to those of python. I would hazard a guess that Lisp is used quite a bit less than Python.

    C//

  69. Whoops, I meant... by Nindalf · · Score: 1

    ...why can you choose between "each do |i| ... end" and "each{|i| ... }" ...

  70. New World's Simplest Scripting Language by Anonymous Coward · · Score: 1, Funny

    I'm writing a new scripting language and it's defined such that if you give it a program with no statements (i.e. an empty file) it will print "Hello, World\n" to stdout. Can anyone else write a hello world program in fewer than zero bytes?

  71. Re:Nothing ?! by Fnkmaster · · Score: 2
    Sorry, I misinterpreted "parse" to mean "grok" or "parse via wetware". Nevertheless, Python maintains readability by forcing indentation. LISP relies on the kindheartedness of the editor and user. My entire point is that while this is great and fine for a project you are working on yourself, coding standards on large projects with tight, tight deadlines are REALLY difficult to enforce. Of course, this is mostly because my experience involves working with illiterate, non-native english speakers who are also just really bad programmers. But I think that Python and Java both share a certain degree of idiot-proofing that makes them valuable in larger projects. I think LISP fails this test, mostly because LISP seems to force a certain slightly unnatural way of thinking on you. Please don't talk down to me like I don't know LISP - I learned CLISP in college my freshman year and have written substantially large applications in it (it would take me several months to get back up to speed with it since that was 6 or 7 years ago now), but I am not talking through my arse entirely here.


    Anyway, there's a great page out there by a guy who wrote a series of articles on the topic of "Worse is Better" and why LISP failed to maintain critical mindshare in the professional world and lost so much ground to C and C++, though functional languages seem to retain a serious support base in academe.


    I sincerely doubt that LISP is that widely used - certainly it has a miniscule hobbyist following left, compared to Python. Even Ruby, while new-ish in the US probably has more users in Japan alone. LISP still has a lot of users in the business world, in software development projects at companies working on the rare project that is well suited to LISPs strengths (whatever exactly they are - beats me).


    Java syntax is least common denominator because it basically steals C++ and removes everything that fucked up the morons working on larger projects (pointers, multiple inheritence, certain weird keywords, operator overloading). They left some stuff in it that may be weird to a LISP person, but to most people, thinking in one of the ALGOL-derived languages is still much more natural (procedural style) than thinking in functional style. Everyone seems to forget the real goal of a programming language is to translate between my wetware and bits and bytes and provide me with some insulation while still providing enough power and performance to build useable applications that can perform significant tasks.

  72. Re:Need to see it in job ads before it's "official by Wee · · Score: 2
    I don't think he was daying that young people don't value thir time; I think he was saying that, since he no longer has the energy of youth, he has less time to do all the things he might want to do, so he needs to be careful about how he spends his time in order to get to do all the stuff he wants.

    You said it perfectly. I used to spend all night -- for weeks on end -- on a VIC-20 doing mostly useless stuff in BASIC. I didn't have a job, family (of my own), eating, anything really to get in the way of my interest. Back then I could attack things with a passion that had no regard for time or other personal responsibilities.

    When I was in college, I could spend all night fooling with GIS stuff or pascal or whatever, just because I had to get that one project done. And more often than not, I'd "waste" plenty of time doing things not strictly necessary. I had more responsibility then than I did when I was in high school, but it was subconsciously counted as school, so I could metally get away with it.

    Now I'm at the point where I come home and I just want to spend time with my family, in the garage working with wood or something, making a good dinner, etc. If I'm on the computer at night, it's with a very carefully chosen project. I don't have as much time to burn now as I did then. I have to choose my "battles". There's still plenty of room for fun, and that's what I do on my off hours. The trick is to make the fun stuff also count as work stuff.

    Like another poster said, you have to have a well-rounded toolkit to get along. And I do. I've got a very well rounded set of skills, and I am always looking for more to learn. But consider the time budget imposed by age and responsibility with the ROI I'd get from learning another language roughly equivalent to a couple I already know. I can get by with perl and python and PHP in order to do what I do -- even for the fun stuff. It's when I see more and more job ads in the "computer" section ask for Ruby that I'll start to make that ROI worth it. In the meantime, there's plenty more stuff I have to know better than I do.

    I wasn't saying that youth can or do waste their time. They just have more of it. Which they should enjoy to the fullest doing whatever it is that piques their curiosity, even if it doesn't "offically" count as something important. Us old guys don't get that luxury anymore... :-)

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  73. Re:better C++ interface? by vscjoe · · Score: 2
    I think, it's better than to lose the ability of binding to pure C (or assembly, or whatever) code.

    Well, that may be true if you have grand schemes for the scripting language. But I'd happily give up C compatibility and the C ABI standard for easier, more reliable bindings to native code. Existence of something with a really nice C++ interface and implementation wouldn't obsolete existing scripting languages.

  74. I wish this wasn't modded to "5" and that... by Dog+and+Pony · · Score: 1

    ... I had mod points. :) Because I'd mod this one Waaaay up.

    Those advice from Stroustrup are worth gold. And as if a coincidence, those very advices echo through that very book you are mentioning. I read it. It is very good.

    Actually, those, and similar advices are the ones I try to live by too... my greatest problem right now, however is that it is too much to choose from. After reading this, and revisiting Hunt and Thomassite I think I'll have a go with Ruby, finally.

    Thanks!

  75. Why that quote is true. by Dog+and+Pony · · Score: 2, Insightful

    One thing I've found, is that even if I don't stick with a language I try, I program the others slightly different, and hopefully better after tried it and gotten my thinking shaken around a little... :)

    I think it is good for you.

  76. Wrong sort of Ruby by kimihia · · Score: 2

    When I first saw the title I immediately thought it was another thing by the same name: Ruby Annotation. (31 May 2001, Marcin Sawicki, Michel Suignard, Masayasu Ishikawa, Martin Dürst, Tex Texin)

    The sort of Ruby I had in mind was a type of markup used to add pronunciation alongside text.

  77. I agree... by Da+VinMan · · Score: 2

    This is not something Python got wrong. It's superior for the simple fact that any programmer worth their salary will indent anyway and leveraging that makes more sense. Why force a programmer to type in a brain dead curly brace or 'Next' on a 'for' loop (C and VB respectively), when your indenting has already specified what you intend?

    Truly, you do not miss typing the explicit block delimiters after trying it. As far as anyone who argues that indenting code is bad goes... well get with it. Really.

    --
    Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
    1. Re:I agree... by Sharkeys-Day · · Score: 1

      The poster did not say anything about indenting. He said "whitespace-significance".

      The braces do not just make it easier for the parser, they protect your code from reformatters.

  78. Re:Poor communication is......(WAY OT by now)... by Anonymous Coward · · Score: 0

    'Poorer' not in a sense it is worse but as the opposte of 'richer'. Americans express themselves as clearly as british do, yet british use many more words that have just a slight difference in semantic meaning, i.e. they can feel naggert or minging, where an American would just feel shitty. I would not say that british use of language is better or worse than american use, but it is definitely richer. On the other hand for non-english speakers american english is a lot clearer, just because it uses less words. If you go to a conference here in Europe, where all the dutch, french and germans and the like communicate in english, it is usually only the british that are not understood, although they undoubtedly speak better english than the rest of us.

    If you see american english as the version that was understood best by all the European immigrants into the United States, global english will be further simplified to ease the difficulties experienced by e.g. Japanese such as Matz.

    It is not a bad thing, I think. I speak dialect with my parents, dutch and english with colleagues and english on the net. I think Americans heave to get used that there will be a difference between the english they speak at home and the english in which is being communicated on the web. British people probably are more used to this already as dialects are in general stronger than what can be found in the US.

  79. Re:better C++ interface? by 21mhz · · Score: 1

    But I'd happily give up C compatibility and the C ABI standard for easier, more reliable bindings to native code.

    What the "more reliable" part applies to? Certainly not to dependence on compiler version or on compile-time flags (e.g. --fno-exceptions). Face it, "easier" in one aspect often means "trickier" in another.

    On the other hand, it'd be useful to have C++ bindings to the engine ABI, probably in the form of light inlined functions/classes and/or templates. This way, no linkage problems would blow you out of the blue.

    --
    My exception safety is -fno-exceptions.