From: Mat Schaffer Date: 2006-06-05T23:07:18+09:00 Subject: Re: I love Ruby - But how bright is Ruby's Future? On Jun 5, 2006, at 9:35 AM, Tom Marsh wrote: > The first is performance. Ruby might be the same age as Java, but Java > developers are 10 a penny and that means that Ruby is more > expensive, both > in terms of the hardware required to run it, and people required to > develop > it. In order for it to get its foot in the door it needs to > massively reduce > its TCO. > > If Ruby's performance could get close to Java then the reduced > development > costs would be enough to justify the risk of taking on another new > language. > The most obvious way of doing that is to compile it. I know there are > projects to do this already to CLI, bytecode and machine code. My > two cents > is that Ruby should aim for something like Obj C or LISP: native > code with a > heavy reliance on a portable runtime environment. Everything I've heard so far points to Ruby having similar performance to Java, but I'm no expert. The availability of programmers is a bit of a catch 22 problem. But I think the previous "joy" argument will help fix this to a certain extent. And the (IMHO) rest can be covered by lowering barrier to entry, which the ruby community works on daily. > The biggest mistake I think Ruby could make in this respect is the > continue > to rely on third party groups to add this much needed > functionality. Choice > is good, but it makes it even harder for enterprise to latch on to > something > as they have to sit down and evaluate each solution or worse hire > consultants to tell them which solution to take... shudder. I feel like the ruby community is essentially all third party groups. But I agree that a rally behind a particular software package does make the decision process easier. I think there should be a balance. Diversity is natural. Java has a wealth of competing tools, if .Net had a stronger community, I'm sure it would too. > The second is the effect of soft/duck typing on the IDE. Theology > aside, > code completion reduces the learning curve, reduces bugs and increases > productivity. All of these things are a Good Thing (TM). I fully > understand > that for a complete novice that intelligent IDEs can hinder overall > understanding, but no more than garbage collection - and what high > productivity language would be without that? > Would allowing the language some syntactic sugar to merely decorate an > object with a type, which could be completely ignored by the > runtime, really > be that much of a bad thing? RDT is making some good headway on code completion. Personally, I find that type hinting leads to slower, more bug prone development because it's one more thing for the developer to think about. Decent code completion is possible without adding rigidity to the typing system. But I suppose if a particular IDE wanted an easy way to implement it, they could do it by way of special comments. > I know Ruby isn't necessarily going after the enterprise market, > but it's so > neat that I think it would be a waste if it didn't. > > What makes it so unique is that the syntax scales with the project. > No one > would routinely write a shell script in Java as they would in Perl, > but no > one would think that writing a word processor in Perl would be a > good idea > either. Ruby fits for both... at least syntax does. Personally, I dig the closures. But that's just me :) -Mat