Link Details

Link 202101 thumbnail
User 1 avatar

By rick
via killerphp.com
Published: Jul 12 2009 / 01:58

Once upon a time Ruby was the best thing since sliced bread … it was the language to replace all languages and everything else just sucked! Funny, that seems like ages ago.
  • 19
  • 23
  • 2598
  • 1404

Comments

Add your comment
User 209684 avatar

jonjonz replied ago:

2 votes Vote down Vote up Reply

PHP did Ruby in, mainly because Ruby is so totally in-accessible. The whole concept is several layers of gibberish that most people give up on after the first page of self referenetial gobbeldegook. Show me a decent introduction to Ruby, or a simple get started project wraped up in a single download. They don't exist. Ruby is plagued by too many gurus trying to out do each other in the depth of thier elegant solutions.

User 85500 avatar

andrewm replied ago:

0 votes Vote down Vote up Reply

i found ruby easier to learn than php. less corner cases.

User 187417 avatar

sproketboy replied ago:

2 votes Vote down Vote up Reply

PHP was popular long before Ruby was even known and Ruby doesn't bring anything new to the table.

User 200606 avatar

cossins replied ago:

1 votes Vote down Vote up Reply

jonjonz: Not true. There's plenty of resources for beginner Ruby programmers. Check out the book known in the Ruby community as the "Pickaxe", Programming Ruby: The Pragmatic Programmer's Guide.

Besides, this guy really has absolutely no clue. I'm frankly disappointed that dzone users actually vote up this blog post. He provides absolutely no evidence for his claims, and clearly demonstrates in the comments that he hasn't the slightest idea what he's talking about.
,

User 335891 avatar

onno.solin.eu replied ago:

0 votes Vote down Vote up Reply

I'm with cossins. The article has no substance. Rails off the tracks? What happened to Ruby? Well, "use of the Ruby scripting language has increased by 40 percent amongst North American software developers during the last year" (http://www.eweek.com/c/a/Application-Development/Ruby-Use-Up-40-Percent-in-North-America-490287/).

User 1 avatar

rick replied ago:

0 votes Vote down Vote up Reply

FWIW, I'd like to make it clear that this blogger's opinion is not my opinion. I just posted his article because I thought people would want to take note of it. It was clear there would be many who disagree.

User 85500 avatar

andrewm replied ago:

0 votes Vote down Vote up Reply

i find it curious that you felt you needed to say that?!

User 1 avatar

rick replied ago:

0 votes Vote down Vote up Reply

I often feel that way, Andrew. When there are 1000 or more viewers of something, then even if 95% understand the basic context, there are still likely to be 50 or more who don't. Since I post a lot, and sometimes the stuff is controversial (or just plain wrong!), I want it to be clear that the speaker is the author of the original content, not me.

Rick

User 85500 avatar

andrewm replied ago:

0 votes Vote down Vote up Reply

fair point. if this affects you, perhaps it affects others also. maybe allow a disclaimer to be submitted with each story?

User 239842 avatar

Killerphp replied ago:

1 votes Vote down Vote up Reply

This piece was not meant to be a technical discussion of Ruby, Rails or PHP. It was only a comment as to why Ruby has not made more headway (than you would have thought) given the big press it was getting a couple of years ago.

My comments regarding Ruby’s stability and ‘holes’ are based on past experience:

“…But, there WERE a lot of holes in Ruby … crucial libraries and functionality that PHP’rs can take for granted”

“… Ruby based web apps USED to crash a lot! ”

As for today, I cannot say. But if I can find the time, I will look into it.

User 200606 avatar

cossins replied ago:

2 votes Vote down Vote up Reply

Then why did you publish this useless piece of conjecture?

Ruby and Rails are both doing very well. The only motivation to use PHP over Ruby has been some of the problems Ruby has had, mostly with performance and scalability, both of which have already been solved.

But what is most disappointing is this childish "war" between the languages. This makes no sense, and frankly doesn't do either community any favor. Professional programmers do not mock the tools that other people use to solve problems, because they know that the right tool for THEIR job might be something other than what they themselves prefer.

Fact is, even if Ruby usage was on the decline (which it most definitely is not), it wouldn't matter one bit. There is no battle between PHP and Ruby.

This unfortunate piece of junk at most enforces the stereotype in the Ruby community about the typical PHP programmer – an annoying, zealous script kiddie, who cares more about "winning" pointless debates rather than using the right tool for the job.

We don't want that, now, do we.

One guy said Ruby doesn't bring "anything new to the table". Considering that Ruby and PHP are exactly the same age, I don't really think this statement is very enlightened, and I severely doubt that the author has spent any significant time with Ruby. For a PHP programmer, using Ruby should be a _vastly_ different experience.

User 239842 avatar

Killerphp replied ago:

0 votes Vote down Vote up Reply

"Then why did you publish this useless piece of conjecture? "

I always look at technology from many points of view. One thing to consider is the business end of things - why one thing takes off and another doesn't for example. Killerphp tries to look at things related to PHP beyond the code if you will. In that post, I was doing that.

... I think decision makers might find this type of discussion interesting. Maybe I'm wrong ... but maybe some might think I'm right. You can just stop reading - it's a free world.

That said, and to address a comment I assume was in reference to me:

Long before I wrote PHP, I was a Java programmer. I wrote my first MVC based application in Java using JSP for my views, java beans for the model, servlets for the controllers and finally, I used different Java based frameworks to produce web apps for myself and various clients.

Despite my preference for Java at that time, I quickly learned as a freelancer, that it made more sense to put the project before the language.

In fact, over several years, I used somewhere around 7-9 different languages to complete various projects. Again, choosing the right language for the job.

User 388907 avatar

MCII replied ago:

2 votes Vote down Vote up Reply

Now, what really happened to RoR? The hype is definitely over and the masses haven't converted.

User 200606 avatar

cossins replied ago:

0 votes Vote down Vote up Reply

Nothing "happened" to it, it's doing fine. Also, it's not the wise thing to use for every project ever, so no, the "masses" aren't "converting", because the masses have problems to solve that are more easily solved with other tools, and software to maintain that is not written using that tool.

User 338269 avatar

OtengiM replied ago:

0 votes Vote down Vote up Reply

Ruby as a language is cool but RoR is the problem not Ruby. RoR is slow, bloated and ugly. It was better merb but where is merb?.

Folks, Ruby and Rails Hype is over!. LAMP(PHP and Python) Won.

Just one thing, RoR introdueced the concept "Convention over Configuration" Thanks to that, all the Java frameworks, Python framework and PHP frameworks got much better and easy to work with.

User 200606 avatar

cossins replied ago:

-1 votes Vote down Vote up Reply

RoR in not slow, bloated nor ugly. It has had its problems, because of being designed for one specific use case, but this is years ago. A minimal amount of research would tell you that Merb is currently in the process of merging with Rails for Rails 3.

"LAMP(PHP and Python) Won."

Won what? What is there to win?

This is completely ridiculous. Would you say that because you have more nails than screws, the hammer won over the screwdriver, and that you will henceforth always only use the hammer?

User 338269 avatar

OtengiM replied ago:

0 votes Vote down Vote up Reply

LAMP won in popularity, Performance, simplicity and Familiarity and much more. For a PHP programmer Rails is alien. Also there are many examples of Rails failures as Twitter and others reporting problems and PHP got sucess as Facebook and other companies and CMS as wordpress, drupal powering lots of web sites.

Also Rails what bring new to the table that PHP cant do? Or even Python? check out Django awesome MVC ala Rails but much better, Grok component based framework and solid fundation(Zope3) but with simplicity, Pylons another mvc cool framework ala merb, More mature GUI frameworks than ruby as QtPython, wxPython, and gazillion of more mature and stable toolkits and frameworks that Ruby dream to have.

I dont tell you about PHP because have also lots and lots of good frameworks and also PHP is the scripting language for the web, designed for the web development. Ruby or talking about Rails where its the place for it?.

Merb getting into Rails 3, damn just one option, I like to have more options, IMHO I dont like the politics and the lead developer of Rails, I want to use another framework as we have in PHP or Python.

Get it over Bro, Rails was cool but it was just that, It is over now.

User 200606 avatar

cossins replied ago:

0 votes Vote down Vote up Reply

I have no vested interest in the success of Rails, as I make a living developing artificial intelligence in C++.

Your post makes absolutely no sense. I cannot blame you for the poor spelling and grammar, since I assume you are not a native English speaker, but I *can* blame you for the poor reasoning.

Any programming language can do anything. This is not the question. The question is how easy and elegant the resulting code is to understand. Now, Ruby code is not necessarily easy to understand, but Ruby does provide some tools that PHP doesn't have available yet.

There's tons of web frameworks for PHP, and there's tons of web frameworks for Ruby. You claim that PHP is more suited for web development, since that's what it was designed for, but you fail to provide any evidence of how this actually affects your performance writing Ruby code for the web, which leads me to believe that you have never actually written a web application in Ruby, or Rails for that matter.

You also mention Twitter as a failure. This is a pretty ridiculous statement, considering that Twitter has had enormous growth over the last year (http://www.adweek.com/aw/content_display/news/digital/e3i4bd3d37ca0da05dc31e076edaef92aaa).They had problems, and they solved them. Their problems would not have been solved by writing the whole thing in PHP instead, because writing large-scale web applications requires much more than a front-end language. It could be done in PHP. They didn't.

"For a PHP programmer Rails is alien."

Any programmer that identifies himself as a "<any language> programmer" is a failure. A good programmer (web or otherwise) knows more than one programming language, and can accurately deal with the abstractions of each. Focusing solely on Java or PHP or Ruby is just not very clever. So yeah, if you have only ever programmed PHP, Rails is alien. Also, you're not someone I would ever consider hiring. Not even to do my laundry. :)

Then you mention GUI frameworks for Python, which are obviously all very good, but you forget that Ruby has the exact equivalents of the same frameworks. Yes, you can do wxWidgets, GTK+ and Qt, all in Ruby, and you can even go as far as native Cocoa on Mac OS X with RubyCocoa or MacRuby. If you so prefer.

Last, I want to point out the short-circuit in your logic in that you think it's too bad that Rails and Merb are merging, because you like choice, but then you proclaim PHP and Python as the sole "winners" of some imagined competition.

User 338269 avatar

OtengiM replied ago:

2 votes Vote down Vote up Reply

"I have no vested interest in the success of Rails, as I make a living developing artificial intelligence in C++.

-Thats cool, Its more interesting than web development heheh.

"Your post makes absolutely no sense. I cannot blame you for the poor spelling and grammar, since I assume you are not a native English speaker, but I *can* blame you for the poor reasoning."

-Yeah sorry about my bad english, reasonign depend the point of view.

"Any programming language can do anything. This is not the question. The question is how easy and elegant the resulting code is to understand. Now, Ruby code is not necessarily easy to understand, but Ruby does provide some tools that PHP doesn't have available yet."

-The thing is that Ruby is elegant for you but for other people it can appear ugly and confuse.

"There's tons of web frameworks for PHP, and there's tons of web frameworks for Ruby. You claim that PHP is more suited for web development, since that's what it was designed for, but you fail to provide any evidence of how this actually affects your performance writing Ruby code for the web, which leads me to believe that you have never actually written a web application in Ruby, or Rails for that matter."

-Tons of frameworks for PHP yes, Ruby only I know 2, Rails and Sinatra, Merb merges Rails. The evidence for PHP is designed for web, because PHP server side code and is the template too plus many helpers with the language for web tasks it does not need a framwork as Ruby to do just basic web stuff and Ruby the language it is not designed for the web. Ruby it was designed to replace Perl but with 100% OOP and other elagant patterns.

"Any programmer that identifies himself as a "> programmer" is a failure. A good programmer (web or otherwise) knows more than one programming language, and can accurately deal with the abstractions of each. Focusing solely on Java or PHP or Ruby is just not very clever. So yeah, if you have only ever programmed PHP, Rails is alien. Also, you're not someone I would ever consider hiring. Not even to do my laundry. :) "

-Hehe my friend I dont want to be your slave :) Life is to short to invest in tons of programming languages and frameworks, I want one system language C++ is my choice, Scripting language for anything Python and for web developement PHP thats enough for a Software developer. of course there is Javascript for ajax stuff and SQL for database but I cannot affoard to learn more and more languages, It is to short time for everything. Better I suggest you focus on your best language of choice and better invest your time in your project, it is what makes your money for your living.

-The GUI frameworks my point is that Python GUI frameworks are more stable and mature than Ruby but I know there are some also for Ruby but it was just one example of the ecosystem of other scripting languages.

-I begin to like Merb so I almost switched to Ruby but when I listen they will merge with Rails that stoped me to go with Ruby. Rails for me sucks for many reasons but more as I told you I dont like the politics of the team and his leader and many stuff there. I want options, I dont like to get stuck.

2c.

User 200606 avatar

cossins replied ago:

-2 votes Vote down Vote up Reply

You have still not provided a single example of a benefit that PHP gives you by being "designed for the web". I understand that PHP works well for web development, but this doesn't mean that Ruby can't work equally well.

You prefer PHP, so you should definitely use PHP. Your discourse around career and programming language being somehow related leads me to believe you will never learn anything else, though.

Learning a new programming language is a trivial task, if you're already familiar with the concepts employed in that language. You can easily program in Ruby as you would in PHP. You cannot, however, program in PHP as you would in Ruby.

If you think learning a new programming language is too time consuming for you, then I'm afraid programming is not a business for you. You will probably never become an excellent programmer. In order to achieve this, you need input and inspiration, and sticking to one language does not challenge you to seek new solutions.

Yes, it may earn you a living. For a while. I have higher goals for myself than earning a living, though. :-)

You have also not mentioned why you dislike Rails, aside from the team politics (which was pretty messy for a while, mostly because of DHH, who is almost as arrogant as me). Rails is also not a perfect tool for every job -- neither is Zend Framework or equivalent. So, what specific software design decisions in Rails made you turn away? I'm sure the Rails teams will be delighted to learn how they can improve their work.

User 85500 avatar

andrewm replied ago:

1 votes Vote down Vote up Reply

this is rapidly turning into a "my commodore 64 is waaay better than your spectrum" thing.

User 239842 avatar

Killerphp replied ago:

3 votes Vote down Vote up Reply

Whoa! Guys, take it easy ... the article was not really concerned about the current state of Ruby in terms of the actual language. I was looking at the factors (I believed) that may have slowed down the Ruby train considerably.

It was not a hit piece on Ruby. But yes, it was a bit of a cheer leading piece for PHP's continued dominance in terms of its' user base. But please consider, the blog post was on killerphp.com and not killerruby.com ... there should be some expectation that I would be biased to a certain extent.

:)

Each language has it's strength's and weaknesses. A lot of that actually depends on the programmer and the job. That said, I still think that for the majority of web projects, PHP is probably the better solution because:

- it is easy to learn .. great for web designers who want to get started learning the backend.
- it is ubiquitous. This means cheaper hosting, easier to find good hosting, lots of open source projects like Drupal, wordpress etc ...
- it is fast and capable.

You'll notice that in my list, I am NOT getting into the specifics of the language itself. Rather, I am looking things that perhaps many programmers don't consider or maybe consider to be less important ... I don't. I think (for example) something like learnability is very important.

Stefan

User 439861 avatar

brownrl replied ago:

0 votes Vote down Vote up Reply

Stefan,

I read your original article and thought it was perfectly fine. You made an observation and some sound back up to it. I completely disagree with HATERS out there trying bring you down.


"-- You'll notice that in my list, I am NOT getting into the specifics of the language itself. Rather, I am looking things that perhaps many programmers don't consider or maybe consider to be less important ... I don't. I think (for example) something like learnability is very important. --"

I totally agree with your point here and if I may add what Ruby kids don't get is that whatever tool you use if you work all by yourself from start to end it won't matter. You can use what you like I and many others won't care.

Ruby on Rails or whatever Ruby is on... has yet to prove it self "good" for working well in teams of web workers. Most web dev companies, have separate people, content, design, dev, etc... with the exception of the "dev" none of the others care what MVC is. None of them care about "syntax" and sure as poop none them care about some "special" directory structure.

What designers, content guys, and the others want to know is where can they edit and "do their stuff". They know what .html file is, they know what it means. And when as a "dev" you say oh boy well it's MVC structure, so you need to put content here and HTML there and images here and yada yada yada... just watch your popularity at work DROP!

User 239842 avatar

Killerphp replied ago:

0 votes Vote down Vote up Reply

PS: Please remember that MOST web projects are simple 1-2 pages things were using something like a Rails or a Zend Framework would be overkill.

PHP makes the simple stuff extra simple.

Stefan

User 85500 avatar

andrewm replied ago:

1 votes Vote down Vote up Reply

>All Ruby Fan Boys are just like Apple/Mac Fan Boys. You so effing stupid that you can't handle PHP or learn
>how to PHP correctly.

honestly, who give a f*ck. use whatever language you like best.

User 187417 avatar

sproketboy replied ago:

0 votes Vote down Vote up Reply
User 200606 avatar

cossins replied ago:

-3 votes Vote down Vote up Reply

I actually failed to find both the "delete" button and the "report" button. Maybe I'm just too gay? :-)

But no, I do *NOT* think it's ok with this sort of language in what's supposed to be a technical site. Seriously, take that crap to digg or wherever.

This "article", and especially the resulting shitfest, is reason enough for me to leave this place. I have better things to do than attempt to argue with people who lower themselves to that level of debate.

brownrl: Whether or not you think "gay" is equivalent to "homosexual" does not change the fact that the two are synonymous in the English language. This is an international forum, so you should not rely on local discourse. Aside from that, your comment was exceedingly immature. It would not have been improved by replacing "gay" with any other derogative.

One area where Ruby definitely beats PHP is the community – you would never come across this kind of tone in the Ruby community. Even the Perl community is better than this.

User 85500 avatar

andrewm replied ago:

-1 votes Vote down Vote up Reply

> But no, I do *NOT* think it's ok with this sort of language in what's supposed to be a technical site

completely agree with you. the person who wrote that stuff is obviously a bit of an idiot. i've sent a mail to rick and hopefully he'll remove some of the more egregious posts. there's absolutely no excuse or need to use language like that on technical site.

> Aside from that, your comment was exceedingly immature. It would not have been improved by
> replacing "gay" with any other derogative.

yup, agree 100%.

> One area where Ruby definitely beats PHP is the community – you would never come across this kind of tone
> in the Ruby community

unfortunately, you get idiots in any community: http://gadgetopia.com/post/6794

User 1 avatar

rick replied ago:

1 votes Vote down Vote up Reply

This thread definitely has caught the attention of our moderators, and we're going to block a number of inappropriate messages. The digression into the meaning and interpretation of the term "gay" is simply not a discussion that belongs on DZone.

There will be some useful thoughts and ideas pruned out due to sub-threads being blocked. We're sorry, but there's nothing we can do about that.

Rick

User 1 avatar

rick replied ago:

2 votes Vote down Vote up Reply

This whole "gay" thing is out of control and inappropriate. Let's keep the discussion on track and maintain a standard of reasonable courtesy and respect in how we speak to one another here. Everyone benefits when we can all expect a reasonable and fair standard.

This is NOT an "anything goes" discussion where we can behave in ways we wouldn't expect to be acceptable in other professional or quasi-professional settings. It's absolutely OK to disagree, but let's try harder to stay on the high road while we choose to disagree.

Rick

User 398735 avatar

lyndsey replied ago:

1 votes Vote down Vote up Reply

While we invite you to disagree, please keep your comments relevant and respectful. Our moderation team will not allow inappropriate discussion.

In other words... keep it courteous.

Lyndsey, DZone Community Manager

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.