development

Making things worse

May 15, 2004 23:53:32.227

It's interesting to watch the way things go with the mainstream development tools. Given a choice, they always seem to go towards higher complexity. Sun could have picked a reasonable model for generics; instead, they got their inspiration from the horror that is C++ templates. It's no better over in CLR-Ville - look at this post from Julia Lerman's Blog - VB developers are looking at the complexity of C#, and having a hard time of it. For all its warts, VB used to be relatively simple and productive. Now, it's a mass of increasing complexity forced by the rigidity of the CLR.

There have been better, more highly productive answers for years - Lisp has been around for decades, as has Smalltalk. People are discovering Python and Ruby as well... and then there's MS and Sun, wedded to complexity.

Comments

Yep

[Hmmm...] May 16, 2004 5:53:45.000

... because unnecessary complexity artificially raises the value of small accomplishments - thus increasing profits.

C# from a VB developers view

[Julie Lerman] May 16, 2004 8:49:16.000

James - I think you misunderstood my quandry. I think my confusion is with a more general construct of C/Java/etc. type language, not something imposed onto C# by the CLR. And I love VB.NET, and .NET and the CLR in general. I worked in VB4/5/6 for many years (and others before that), and though there was a steep learning curve in order to use .NET well (I could have skipped the learning curve and still managed to write compilable apps in VB.NET), it was worth it.

Don't bother Juile

[Foo] May 16, 2004 9:33:40.000

Don't bother Juile with him and don't feed him. He doesn't understand any of the CLR or want to and enjoys just taking potshots at *anything* Microsoft without the slightest clue of what they are about. For *every* single problem in the universe, he trots out the same 30 year old answer, Smalltalk. It will solve all your problems, be so easy, have you write no code, blah, blah, blah. As the whole world moved on, decades ago, he is like that last survivor at sea desprately clinging on to that last life raft, sprouting that he will be saved some day. Just some day, you;ll see now.

[Vincent Foley] May 16, 2004 10:26:05.000

Don't bother Juile with him and don't feed him. He doesn't understand any of the CLR or want to and enjoys just taking potshots at *anything* Microsoft without the slightest clue of what they are about. For *every* single problem in the universe, he trots out the same 30 year old answer, Smalltalk. It will solve all your problems, be so easy, have you write no code, blah, blah, blah. As the whole world moved on, decades ago, he is like that last survivor at sea desprately clinging on to that last life raft, sprouting that he will be saved some day. Just some day, you;ll see now.

Yet, it seems the curly-bracket languages are slowly, but surely, evolving into Smalltalk. C and Smalltalk came at about the same time (1970), C was a portable assembly, Smalltalk was an advanced OO language with garbage collection, dynamic typing, bound checking, great reflexion, etc.. 10 years later, two guys, Brad Cox and Bjarne Stroustrop (never knew how to spell his name) thought it would be a good idea to add OO support to C. This begget C++ and Objective C. C++ became popular and Objective C never really made it (except at NeXT and now Apple). 10 years later, a C hacker, James Gossling, made a new language called Java. Java was basically a simple version of C++ with garbage collection and bound checking added. It also has a form of reflexion, but it's quite barroque. In 2000, Microsoft releases C# and in 2005 they hope to introduce C# 2.0 which will have anonymous methods among other things.

If you cannot see the pattern, let me explain it to you. In 1970, Alan Kay and his team made Smalltalk, and the C-language familiy designers are just taking much more time to get what we already had then. Yes, Smalltalkers and Lispers are annoying with their "We've had that feature for n years already!", but why doesn't the C crowd listen? Would it be terribly hard for them to accept that they are way behind times and that they are slowing the entire industry and try to get up to speed with Lisp and Smalltalk?

I predict that in a few years, Java or C# will introduce dynamic typing and people will love it and will ignore the comments that they should've had that for a long time already. Or they will use one large binary image file instead of several tiny raw text file and they'll see some of the neat stuff you can do and say it's the new hottest thing.

You say "the world moved on". Actually it hasn't, it is still stuck in the 70's, too afraid to go to the next level. I'll believe the world is moving on when I see more ads for Lisp, Smalltalk or Python programmers.

Re: Making things worse

[James Robertson] May 16, 2004 10:42:59.000

Actually, I have far higher hopes for the CLR than I do for Java - Why?

The CLR is being built from the beginning with multiple languages in mind. It's not there for dynamic languages (yet) - but based on some of the people involved, I suspect it will get a lot better - see my notes on George Bosworth's CLR talk at Smalltalk Solutions 2004. We (the STIC) actively sought out a speaker from Microsoft - we are interested in the evolution of the CLR. There are currently two Smalltalk implementations for the CLR - S# and #Smalltalk. We (Cincom) are in the process of pushing ObjectStudio towards the CLR, and we are shipping a DotNet Connect for VisualWorks.

The JVM, on the other hand, is a frozen artifact - no changes have come in years, and none are likely anytime soon. The JVM is a horrid place for dynamic languages, and won't get any better. There's every indication that the CLR will see that kind of improvement

I don't think you'll see me claiming that Smalltalk (or even Cincom Smalltalk) is the answer to everything - look at this post, where I am quite open about the nastier areas of the current implementation of VisualWorks.

I don't think that "the whole world is moving on" is an accurate assessment either. Downloads for Cincom Smalltalk NC have been rising over the last 2 years, and there's a general increase in interest in dynamic languages (Smalltalk being one of them - things like Python and Ruby get a lot more notice). If there's a thing that people will be "moving past" over the next decade, it'll be static languages like C# and Java - the movement towards more dynamic systems is underway....

Not really

[Lothar Schenk] May 16, 2004 11:35:08.000

... because unnecessary complexity artificially raises the value of small accomplishments - thus increasing profits.

Not really. The actual value produced remains low compared to what it could be, due to the waste of time involved. It makes the nitpickers feel worthy, though, for having been able to pick so many nits.

Generics

[Isaac Gouy] May 16, 2004 20:49:27.000

"Sun could have picked a reasonable model for generics"
What did you have in mind?

Re: Making things worse

[James Robertson] May 16, 2004 22:33:02.000

Comment on Making things worse by James Robertson

Isaac - dynamic typing....

Generics

[Isaac Gouy] May 17, 2004 1:11:32.000

James, shucks, I thought you were being serious.

Re: Making things worse

[James Robertson] May 17, 2004 8:30:27.000

Comment on Making things worse by James Robertson

I am serious :)

Profits...

[Hmmm...] May 17, 2004 12:33:26.129

Lothar, of course not really. But where does the money go? Where does the cash pile Microsoft is sitting on come from? Or IBM's? From having to de-commoditize their tools by making them more complex thus being able to charge more for them. This is actually good for consultants because their rates also get de-commoditized. In this sense, unnecessary complexity artificially raises the value of small accomplishments. Writing a Smalltalk block in Java is a 100-page literary exercise. Increased profits for the very few may be nice to them, but as a whole we all suffer. Sooner or later, we will pay dearly for all this abuse.

Generics

[Isaac Gouy] May 17, 2004 13:11:44.682

James "Sun could have picked a reasonable model for generics" "...dynamic typing"
Dynamic typing does not provide a model for generics - it's an alternative which doesn't use generics at all.

The Less is More Threshold v.s. The Crpytic Cult

[Peter William Lount] May 17, 2004 14:41:19.040

There seems to be a long held and pervasive attitude by many in the Information Technology field and especially amoung programmers that if it isn't complex enough than it isn't good enough, and that the complex is not just acceptable, but actually desired, for various reasons. The first part of a series of articles entitled The Less is More Threshold v.s. The Crpytic Cult addresses this in more depth.

 Share Tweet This
-->