| The Paradox of (Programming Language) Choice |
[May. 23rd, 2007|12:29 am] |
| [ | mood |
| | annoyed | ] | One of the slides Avi Bryant showed during his RailsConf talk bragged that Smalltalk had multiple commercial vendors.
Is that something to brag about? Frankly, I think it's one of the reasons (of several) that Smalltalk will never regain significant traction, assuming it ever really had any. Consider this thread where you've got Smalltalkers going after each other about incompatibility issues between different versions of Smalltalk.
Think about that for a moment. Now put yourself in the shoes of a PM who's trying to decide *which* version of Smalltalk to use. There are what, 12 versions of Smalltalk out there, each with various features? Forgetting for the moment that all but one are not free. And nothing but a bunch of Smalltalk programmers, each with their favorite flavor, to help you decide.
How does this scenario help a language in the long run?
It doesn't. The paradox of choice ends up working against it. It becomes marginalized. The PM opts for another language that only has one (primary) implementation. And probably a free one to boot.
Ruby is in a precarious position at the moment in this regard. Right now we've got MRI Ruby, JRuby and IronRuby. Life is good because the latter two can solve deficiencies in the language that will make them better than MRI Ruby. Also, IronRuby will be targeted at a specific platform, so the choices now are easy.
But that may not last.
What happens when Ruby 2.0, JRuby, IronRuby, etc, all reach production worthiness?
Now put yourself in the shoes of a PM... |
|
|
| Traits? Nah |
[May. 23rd, 2007|01:01 am] |
| [ | mood |
| | blah | ] | From Avi Bryant, on the Seaside mailing list:
...nobody who uses Seaside in production is seriously proposing that we make it depend on Traits - as far as I know, nobody uses Traits in production, period.
Ouch.
To be fair, there are a couple people who apparently do use traits in the Smalltalk world, but very few. When I searched the comp.lang.smalltalk archives I found 47 hits, all of which were more or less academic conversations on traits, their possible use and their potential usefulness, but no actual use cases. I honestly can't tell if, among those that like the idea, they want traits merely for the mixin capability or for the honest to goodness composition.
That, of course, makes me wonder why they decided to implement traits (aka roles) in Perl 6 without any real community feedback or use cases. There's no discussion on comp.lang.perl.misc about them. Only members of the Perl 6 core team seem to be excited by them as far as I can tell. Others either don't seem to know about them or are nonplussed.
I mean, given that the concept of traits have been around for 4 years now, and even Smalltalkers can't find a use for them, don't you have to wonder if they're really worth it?
In any case, my feeling (these days) is that the interface aspect of traits should only be used in static languages, such as Scala, which lacks any other sort of mixin mechanism (that I'm aware of). Enforcing that element in a dynamic language amounts to a form of static typing, and with the same result - you'll end up with brittle code.
As for the multi-mixin "problem" in Ruby, well, that was solved here. |
|
|
| The Mother of All Conspiracy Theories - the EV1 |
[May. 23rd, 2007|11:18 pm] |
| [ | mood |
| | amused | ] | Sweet Jesus, this is some seriously whacked out, ridiculous, tree-hugging hippie shit. And this coming from a guy who's a sucker for "big oil" conspiracies.
I drive a Toyota Prius, by the way.
As luck would have it I have a good friend who's a mechanical engineer at Detroit. He has worked at both GM and Chrysler. I showed him this site and he could barely contain his exacerbation with this sort of nonsense.
The *real* reason this car was cancelled was:
- It sold horribly. About 1000 units.
- It was expensive to manufacture, and they took a huge loss on each unit sold.
- The batteries were crap. They had to be cooled with a special AC unit.
- Because the car sold so badly they quit manufacturing parts.
- Without spare parts they could not live up to maintenance contracts.
- Without spare parts and maintenance contracts they would have invariably suffered a class action lawsuit.
- They couldn't realistically warranty the batteries, which were very expensive and would have suffered noticable degredation within a couple years. This again almost certainly would have led to a lawsuit.
- The cars are crushed instead of sold to avoid said lawsuits.
Never attribute to malice that which can be attributed to common sense marketing and fear of current U.S. Tort law. |
|
|
|
|