But doesnt that make my language LESS faster than C, LESS portable than Java etc??
Well, with any interpreted language you've got a certain unavoidable overhead. But when you can easily integrate it with compiled C code it quickly becomes a non-issue. Ruby programs run the same across the ports to various OSes, which is something that Java was supposed to do.
The market is so variable, new niches are created and old ones destroyed. Cobol WAS a good language for what people did once upon a time.
If you enjoy programming in COBOL, perhaps ruby is not for you.
Where should Ruby rank among the other 4385 lanugages and APIs that everyone says are worth learning?
I'd put it pretty high on that list...:-)
I really don't mean to troll, but the fact that programming languages are still so volatile is good evidence that programming languages are still in their infancy. By volatility, I mean that every 6 months or so, a brand new "must see" language is invented, develops a "growing userbase" of neophytes and zealots, becomes "production quality", gets several books written about it, and is adopted by a few risk-taking companies in real projects.
Ruby originated in Japan in 1993. It's been pretty stable interface-wise for at least the past 3 years.
This isn't flash-in-the-pan stuff. Perl, Python and Ruby simply aren't going to disappear, so put your fears to rest.
The original poster inquired about the usage of Ruby, not the features. For example: - I am writing a Windows desktop application with Internet connectivity. It needs to have a GUI, ease of installation and general portability among Win32 platforms. Can I use Ruby?
Yes.
- I am writing a low-level routine to be embedded into MP3 player hardware to increase the functionality and add some features to the hardware piece. Can I use Ruby?
Probably, though you'd want to do the low-level stuff as a C extension.
- I am writing a large content management system for the Web, it will be accessed by about a dozen journalists and editors, some routine features like ability to edit and comment on an article are required. Can I use Ruby?
Definitely.
- I am writing a large application the main purpose of which is generating the database reports and distributing the data from the wirelessly to multiple platforms within the organization. Can I use Ruby?
Yawp. You're a natural candidate for this language, y'know...;-)
And so on. Perl is an obvious choice for CGI, C for low level stuff, Java for server-side enterprise, C# for desktop apps. Where can I use Ruby?
I use ruby for CGI, database stuff, as a smarter replacement for shell scripts, and general application programming (and it's easy to extend ruby with C modules, so even the low-level stuff is covered); call me a language bigot, but for me ruby has become the language of choice.
I'd place ruby somewhere between "a cleaner python" (at least, in terms of design-- ruby learned the lessons of Python for free, that Python had to learn the hard way...) and "a saner Perl"... (of course, Perl's insanity is half the fun!)
It's got all the LISPy goodness of Python (and supports true closures & continuations, which IIRC are only to be found in experimental implementations of Stackless Python), the regexpy powerfulness of Perl, and the dynamic-OO cleanness of Smalltalk.
I find it really makes programming fun again, and it's very easy to write extensions for it in C (or C++, if that's your bag, baby)... in fact, using ruby as the "brains" behind a bunch of C modules gives you the silly-fast speed of C, while correcting C's worst deficiencies (you get free GC, safer string handling, namespaces, OO, etc.)
Ruby's "chock-full of heady goodness", and definitely worth adding to your repertoire.
Please. Everyone should make basic errors in logical reasoning in their submissions, that way, we'll never talk about anything else. Slashdot will be ruined. My evil plans will come to fruition! Ah ha ha ha ha HA HA HA!
Hmm... I guess after a while it's easy to forget that touch-typing isn't something you're born with...:-P
Still, you'd think they'd still be teaching this stuff in school.
<anecdote type="first-person"> If anything, IM and IRC [not to mention coding, and living in a command-line universe] have made me faster at typing... and it's forced me to learn to type quickly and correctly without referring to the actual keyboard (well, those knobby things on the F and J keys are lifesavers, but I digress...;) </anecdote>
Hell, look at stuff carved into picnic tables or scribbled on billboards from the 1950s or even before. You'll see phrases like "U R my tru luv".
The difference is that it takes a modicum of time and effort to carve long messages into wood. In other cases, it can be expensive to send long messages (telegrams, f'rinstance).
With things like IM and SMS, it's sheer laziness, though at least for text-messaging on phones you've got the excuse of small screens and keypads not designed for the rapid input of long messages.
Note how casually I've typed this post... I certainly would not want to chisel it in stone, carve it in wood, or even tap it out in Morse code. I.e., the medium affects both the message and the style in which it is written.
(Begin Rant: It's the kind of thing advocated by Enemies of Unix who think that everybody on the net should be a Couch Potato Infotainment Consumer instead of a first-class citizen. End Rant.)
No Reverse Engineering. Customer may not reverse engineer, decompile, or disassemble the SOFTWARE, nor attempt in any other manner to obtain the source code.
Whew! That really had me going for a second 'til I realized what day it was!
Don't get me wrong. Nethack is a neat game that I use as a diversion on occassion, but I am not as dedicated a player to it as I might be for graphic adventures. If I were to categorize Nethack, it would be hack-n-slash, or dungeon delving, or something like that.
I'd like to see an entry that progressively prints out drunker and drunker approximations of what the actual lyrics should be, then after about 20 beers it dumps core and passes out...;-)
I assure you that I was indeed being flippant, and did not in any way mistake the aforementioned vituperations for any semblance of actual "advocacy" whatsoever.
This test seems to be unfairly weighted towards people in the "lying scum who know exactly what the employer wants to hear" category. Of course, that's the way most interviews are, so get with the program!
Or just find out which companies are stupid enough to implement this test, buy some put options, and laugh all the way to the bank when the company collapses under the weight of its own managerial stupidity and/or corruptness (assuming you've timed it right).
But doesnt that make my language LESS faster than C, LESS portable than Java etc??
Well, with any interpreted language you've got a certain unavoidable overhead. But when you can easily integrate it with compiled C code it quickly becomes a non-issue. Ruby programs run the same across the ports to various OSes, which is something that Java was supposed to do.
The market is so variable, new niches are created and old ones destroyed. Cobol WAS a good language for what people did once upon a time.
If you enjoy programming in COBOL, perhaps ruby is not for you.
Where should Ruby rank among the other 4385 lanugages and APIs that everyone says are worth learning?
:-)
I'd put it pretty high on that list...
I really don't mean to troll, but the fact that programming languages are still so volatile is good evidence that programming languages are still in their infancy. By volatility, I mean that every 6 months or so, a brand new "must see" language is invented, develops a "growing userbase" of neophytes and zealots, becomes "production quality", gets several books written about it, and is adopted by a few risk-taking companies in real projects.
Ruby originated in Japan in 1993. It's been pretty stable interface-wise for at least the past 3 years.
This isn't flash-in-the-pan stuff. Perl, Python and Ruby simply aren't going to disappear, so put your fears to rest.
Try the FOX toolkit. (If you're using the standard Windows build, you'll find it's already there, along with tons of example programs.)
The original poster inquired about the usage of Ruby, not the features. For example:
;-)
- I am writing a Windows desktop application with Internet connectivity. It needs to have a GUI, ease of installation and general portability among Win32 platforms. Can I use Ruby?
Yes.
- I am writing a low-level routine to be embedded into MP3 player hardware to increase the functionality and add some features to the hardware piece. Can I use Ruby?
Probably, though you'd want to do the low-level stuff as a C extension.
- I am writing a large content management system for the Web, it will be accessed by about a dozen journalists and editors, some routine features like ability to edit and comment on an article are required. Can I use Ruby?
Definitely.
- I am writing a large application the main purpose of which is generating the database reports and distributing the data from the wirelessly to multiple platforms within the organization. Can I use Ruby?
Yawp. You're a natural candidate for this language, y'know...
And so on. Perl is an obvious choice for CGI, C for low level stuff, Java for server-side enterprise, C# for desktop apps. Where can I use Ruby?
I use ruby for CGI, database stuff, as a smarter replacement for shell scripts, and general application programming (and it's easy to extend ruby with C modules, so even the low-level stuff is covered); call me a language bigot, but for me ruby has become the language of choice.
Try it.
I'd place ruby somewhere between "a cleaner python" (at least, in terms of design-- ruby learned the lessons of Python for free, that Python had to learn the hard way...) and "a saner Perl"... (of course, Perl's insanity is half the fun!)
It's got all the LISPy goodness of Python (and supports true closures & continuations, which IIRC are only to be found in experimental implementations of Stackless Python), the regexpy powerfulness of Perl, and the dynamic-OO cleanness of Smalltalk.
I find it really makes programming fun again, and it's very easy to write extensions for it in C (or C++, if that's your bag, baby)... in fact, using ruby as the "brains" behind a bunch of C modules gives you the silly-fast speed of C, while correcting C's worst deficiencies (you get free GC, safer string handling, namespaces, OO, etc.)
Ruby's "chock-full of heady goodness", and definitely worth adding to your repertoire.
Please. Everyone should make basic errors in logical reasoning in their submissions, that way, we'll never talk about anything else. Slashdot will be ruined. My evil plans will come to fruition! Ah ha ha ha ha HA HA HA!
[thud]
Sorry, they're all busy washing their hair or getting eaten by hamburgers...
Hmm... I guess after a while it's easy to forget that touch-typing isn't something you're born with... :-P
;)
Still, you'd think they'd still be teaching this stuff in school.
<anecdote type="first-person">
If anything, IM and IRC [not to mention coding, and living in a command-line universe] have made me faster at typing... and it's forced me to learn to type quickly and correctly without referring to the actual keyboard (well, those knobby things on the F and J keys are lifesavers, but I digress...
</anecdote>
Hell, look at stuff carved into picnic tables or scribbled on billboards from the 1950s or even before. You'll see phrases like "U R my tru luv".
The difference is that it takes a modicum of time and effort to carve long messages into wood. In other cases, it can be expensive to send long messages (telegrams, f'rinstance).
With things like IM and SMS, it's sheer laziness, though at least for text-messaging on phones you've got the excuse of small screens and keypads not designed for the rapid input of long messages.
Note how casually I've typed this post... I certainly would not want to chisel it in stone, carve it in wood, or even tap it out in Morse code. I.e., the medium affects both the message and the style in which it is written.
It's a huge, towering bitch that looks like an inside-out Jabba The Hutt.
Hey, these Janet Reno jokes are getting old, y'know...
``Spam Wars''?
Isn't that just a rip-off of Pigs in Space?
(Begin Rant: It's the kind of thing advocated by Enemies of Unix who think that everybody on the net should be a Couch Potato Infotainment Consumer instead of a first-class citizen. End Rant.)
;-)
*gasp!*
Certainly not AOL!
2. 50% could vote to kill the other 50%, and the supreme court could opt to kill everyone as a tie-breaker.
;-)
But who would enforce it?
2.1.3 Limitations.
:-D
No Reverse Engineering. Customer may not reverse engineer, decompile, or disassemble the SOFTWARE, nor attempt in any other manner to obtain the source code.
Whew! That really had me going for a second 'til I realized what day it was!
Haha!
They plan to release info on the controls system to make it possible to program using C/C++.
;-)
Great... One little buffer overflow exploit and the damn thing switches to DESTROY ALL HUMANS mode...
Marvin! :-D
Don't get me wrong. Nethack is a neat game that I use as a diversion on occassion, but I am not as dedicated a player to it as I might be for graphic adventures. If I were to categorize Nethack, it would be hack-n-slash, or dungeon delving, or something like that.
Roguelike.
Third.... funniest.... post.... ever....
It made me laugh so hard that root beer shot out of my nose, which is rather disturbing as I hadn't been drinking any.
Well, damn... nobody told me that Iraq had ties to the Decepticons!
:-P
This changes everything!
I'd like to see an entry that progressively prints out drunker and drunker approximations of what the actual lyrics should be, then after about 20 beers it dumps core and passes out... ;-)
"It ate itself."
In case you weren't being tongue-in-cheek [...]
I assure you that I was indeed being flippant, and did not in any way mistake the aforementioned vituperations for any semblance of actual "advocacy" whatsoever.
Wow. With advocates like this, FreeBSD is sure to make an impression!
This test seems to be unfairly weighted towards people in the "lying scum who know exactly what the employer wants to hear" category. Of course, that's the way most interviews are, so get with the program!
Or just find out which companies are stupid enough to implement this test, buy some put options, and laugh all the way to the bank when the company collapses under the weight of its own managerial stupidity and/or corruptness (assuming you've timed it right).
"Damn you, ping-of-death!"