Re: Them's Fight'n Words
Via Patrick Logan, we see that Anders Hejlsberg doesn't understand development as well as he thinks:
There is clearly a performance aspect to it. One possible solution would be to say, "There are no value types. All types are heap allocated. Now we have representational identity, and so we're done, right?" Except it performs like crap. We know that from Smalltalk systems that did it that way, so something better is needed.
Anders solution - make the language immensely complex for the truly small number of cases where any of this matters. Yes, there are people doing maths in software where they need that level of performance on a day to day basis. And no, most people aren't part of that club. For most people, applications look like this:
- Pull data from the data store
- Massage data for screen display
- Allow user to modify data as needed
- Push data back into data store
Like it or not, the vast majority of developers are working on an application that looks, in rough terms, like that. Most of us aren't doing matrix manipulations or fast fourier transforms - but to hear Anders speak of it, we have to optimize for those few because... well, because he hasn't thought that deeply about the problem, that's why. When we do come across parts of our system that we have to optimize for those cases, we can call out to C (etc) - and that work-around is typically a much lower effort than having to deal with the world Anders wants us to live in. I know there are applications that have such strict optimization needs that this strategy is impractical - and I also know that such applications are not what most of us are building.
Here's another thing - as Patrick says on his blog, 64 bit implementations will erode the number of cases where that stuff matters even more - so the development time suckage of .NET and Java will persist, long after the supposed "need" for it has expired. Bonus question - I wonder when the last time guys like Hejlsberg or Gosling actually had to work on a real project for a real customer, so that they could see what they've wrought? I'd guess it's been a long, long time. Actually, that topic is worthy of a post of its own - developers who have been cut off from end users too long, and how easy it is for them to wander off the reservation...

Comments
Applications and Smalltalk
[Alex Peake] February 8, 2004 19:56:24.833
For most people, applications look like this:- Pull data from the data store
- Massage data for screen display
- Allow user to modify data as needed
- Push data back into data store
If you believe this, why is Smalltalk not engineered to make this the simplest thing possible? That would be a big win!
Re: Re: Them's Fight'n Words
[Michael Lucas-Smith] February 8, 2004 22:12:38.095
Comment on Re: Them's Fight'n Words by Michael Lucas-Smith
Isn't that what ObjectWorks is engineered around?
Applications and Smalltalk
[Alex Peake] February 9, 2004 11:19:26.053
"Isn't that what ObjectWorks is engineered around?"
IMHO, not even close! And that is a long discussion. Is this the place for that discussion?
Re: Re: Them's Fight'n Words
[James Robertson] February 9, 2004 11:41:01.323
Comment on Re: Them's Fight'n Words by James Robertson
One of the primary purposes of this blog - for me, at least - is exactly that sort of discussion.