Language matters

As a reply to this.

Ruby on Rails (RoR) opposers claim that you can’t compare RoR to for instance Java or PHP. Somehow they are right as RoR is a framework and Java and PHP are programming languages. A discussion should therefore be unnecessary. But the Rails in Ruby on Rails is not the only reason why RoR kicks ass.

From recent experience of having to go back to PHP (a demand from a client), I can say that the programming language you choose sets your limits as much as the framework you choose. Things that are possible in Ruby are just not possible in Java – and certainly not in PHP. My PHP on Rails can attest to that!

I believe that a reason that PHP and Java haven’t had the pleasure of a slim and simple framework such as RoR is because of the restriction they each put on programming (compared to RoR). The frameworks developed for these languages are equally slim and simple as their native language allow them to.

So even though frameworks and languages are two different things, the first reflect the latter.

Then again… the choice of language (and framework) should depend on the project. Sometimes it just isn’t worth laying out the whole Struts or setting up a RoR application when what you need can be achieved much simpler.

4 Responses to “Language matters”

  1. Anonymous Says:

    was this comment really necessary ?

  2. q Says:

    “Things that are possible in Ruby are just not possible in Java – and certainly not in PHP. My PHP on Rails can attest to that!”

    Excuse me?! I think you must have meant to qualify that with a time-frame. There is no general-purpose programming language that can not accomplish the same things as any other given no time constraint.

    “So even though frameworks and languages are two different things, the first reflect the latter.”

    I completely disagree. The author of the framework limits themselves based on their reliance on the language. I think maybe you should relax your definition of framework. Code generation need not be limited to the target language. In other words, Ruby, XML, ... whatever you want can generate a Java framework source if you desire. In other words, a java framework can be presented to a developer as anything the author choses as long as the result is java source or bytecode.

    The thing this discussion ignores is that scripted languages are simply easier to work with in this respect but have historically been poor at runtime performance and development scalability. I think modern scripting languages are changing this thanks in part to processor speed and study of development practices.

  3. Anders Toxboe Says:

    q: Hmm… I guess it came out wrong then. With

    hings that are possible in Ruby are just not possible in Java – and certainly not in PHP. My PHP on Rails can attest to that!

    I don’t mean that you can’t program the exact same thing. Of course you can. But the beauty and ease of it are going to be different. I think Ruby is more object oriented than Java and Java certainly more object oriented than PHP. I believe that Ruby gives me more opportunities to program smart than fx Java. So what I’m saying is that the difference in possibilities with the language reflect on the frameworks built for that language. I think that RoR are so much smoother and well-thought-out (partly because Ruby allowed this to happen) than the Java and PHP frameworks I’ve come across.

    But maybe this will change… I’m looking forward for the day that somebody develops a framework for Java that kicks as much ass as RoR does.

  4. Lau Says:

    q, you can write pretty much anything in assembler, but that’s not the point. The point of RoR is making good code, quickly and easily.

    In Ruby you can make code that is much more succint than ever possible in PHP or Java. This also applies to code based on frameworks made in those languages.

Leave a Reply