On Wed, 25 Jan 2006 at 16:37 -0700, Bryan Sant wrote: > Another example is Rails. Rails is cool. Now make a GUI app. Make > an image manipulation program. Make an enterprise scale system. I > don't think Ruby is up to the task. I gain some things but loose a > lot more. Nonetheless, I'll surely learn Ruby because it's fun.
I don't understand why you feel that dynamic languages are not "up to the task" of doing what you feel are "serious" tasks. Let's step back and rewind a few years. When I first learned Java, GUI apps were much more painful to create than they are now in ruby. Swing came along and things improved, but my memory of swing implies that doing it in ruby is still easier. Haven't tried SWT. Was java always enterprise-scale? I'm sure Sun had that in mind from the beginning, so maybe it had that potential, but it really was slow. The whole world didn't just imagine that part. Its performance is good now, but it was slow. Image manipulation program... I'm not sure what you're referring to, is there a popular one written in java? I'm not much into image manipulation so I may have just missed it. I am an audio guy though, and I have written audio processing in C/C++ and ruby both, so I feel like I can speak to this point to a degree. It's slower in ruby, just like it (is|was) slower in java than in C. Even so, in some cases I might choose ruby over C even in this domain - where speed wasn't as critical. Where UI and speed both are critical, I'd probably do the signal processing in C and the UI in ruby. There's certainly nothing stopping me from taking that approach, and it works well. Will ruby overcome the speed/"enterprise" issue? Only time will tell but I believe it will. Some very smart people are working hard on that as we speak. When Java started out, it was the crazy language doing this OO stuff that nobody could possibly make fast like C. Just remember that. Oh, and you're right, rails is cool and ruby is fun. Make the right choice for your needs today, but don't underestimate the up-and-comings. It's not _ruby_ that "isn't up to" your tasks, it's the current implementation thereof. > These other languages are improvements for certain problem domains. > But I personally haven't seen anything in another language that just > made me want to dump Java because it was so much better (if better at > all). Perhaps I just see what I want to see. Perhaps you have too much invested in Java. I'm not saying you're the devil for it, don't get me wrong. I've got this C# book sitting on my shelf that I've been meaning to read, and I've always wanted to take a look at python. But my needs have always been served by C++ and ruby, so I don't. Fact is, even a language like ruby does take effort to learn. Those of us over here will tell you it's worth the effort, but only you can really decide whether to take that plunge. If you're really interested in doing some osmosis on ruby, stick Jim Weirich's blog in your RSS feeds: http://onestepback.org/index.cgi He's a ruby bigshot that comes from a java background, and still does java by day if I'm not mistaken. > Partly I feel this is why dynamic languages are praised so much. They > are often used for small projects that require fewer people. The > natural consequence is that the team is more productive (because it's > small, not necessarily because of language X per se). I don't have statistics, but I believe the majority of programmers out there are on small teams doing in-house applications. So this is a big deal. I agree with you though, different tasks take different tools. Sometimes java is that tool (I would argue primarily because of the prior work rather than the language itself, but the fact remains), sometimes C is that tool, etc. But a lot of the time, a dynamic language does the job and does it with less pain. > As dynamic languages gain popularity, they will be used for bigger and > bigger projects with bigger and bigger teams and I believe we'll see > productivity tank. The human dynamic is a far bigger productivity > issue than any underlying programming language used. Time will tell. I believe you are erroneously equating dynamic language with some language you saw once that had scaling problems and happened to be dynamic. It is my belief that some dynamic languages are definitely capable of scaling. I'd put ruby in that category, probably python, certainly smalltalk, lisp if you have masochists like levi to write it (j/k), and there's probably others. Wow, I rambled more than I thought I would. Let me wrap up by saying I like java. When I think back on my java days I get some of that same feeling I get when I think back to my first girlfriend. I like to think that I liked java then because it was worth liking, so even though we've grown apart I still keep a cup of tea on for it. Even typing "System.out.println" and "public static void main" brings back some good feelings instead of evoking utter horror as it should. -- Hans Fugal ; http://hans.fugal.net There's nothing remarkable about it. All one has to do is hit the right keys at the right time and the instrument plays itself. -- Johann Sebastian Bach
signature.asc
Description: Digital signature
/* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
