[FYI] Java vs Squeak/Smalltalk
jwalsh at bigpond.net.au
Wed Jan 16 17:47:45 UTC 2002
Hi and thanks Bijan!
I'm one who enjoys just watching and listening to Smalltalk developers and
hackers go about their important business using what is truly the best
Integrated Development Environtment ever devised.
The attention should be returned, first and foremost, to the term IDE, the
fundational concept (object-ive) upon which St. was developed in the first
place and then, and only then, turned to the predication of IDE by six
secondary concepts of Encapsulation, Class , Polymorphism Objects,
(forgotten the others). It's blessing is and I hope remains, it's purity.
>From there on, the discussion becomes meaningless ie Why not Cobol and ...?
Uncontained the concept becomes Dis-IDE.
Philosophically and Technically and, keeping concept IDE squarely in mind,
St. is without a doubt, as close to perfect an IDE as it can possibly get.
Given the circumstances of it's creation of course.
Most of the literature that I have read on history of Java, for example,
describes it as having been derived from Smalltalk along with such things as
objects, windows, ethernet etc.
Every other IDE, irrespective of how good it may be to the user, and how
clever it might be in detail, remains merely an after-thought:
Smalltalk is the product of design first not merely a desire.
This is just my boring opinion and not worth arguing about.
----- Original Message -----
From: "Bijan Parsia" <bparsia at email.unc.edu>
To: <squeak-dev at lists.squeakfoundation.org>
Sent: Thursday, January 17, 2002 12:57 AM
Subject: Re: [FYI] Java vs Squeak/Smalltalk
> On Tue, 15 Jan 2002, Eric Arseneau wrote:
> > I love Smalltalk and still wish to build applications using it, but I
> > we need to find ways to work with the huge amount of effort the Java
> > community is putting into what they are doing.
> What, losing out to C#? :)
> There are a bazillion and five java programmers, somewhat less of us. Why
> don't they just port Squeak? Make it so cool and amazing that even I pry
> the carpet tacks out of my gums and start using it?
> There's even several tools to aid migration (e.g., Bistro).
> I'm serious. Why force this. Interop is easier than ever (with things like
> SOAP), if you really really need it, well, there are ways to fill in the
> gaps and that's best driven by folks who have the concrete needs.
> One think I *really like* about Squeak is that it provides yet another
> shot in the arm for Smalltalk. Java doesn't need the shot.
> > I happen to be stuck earning
> > a living with Java and try to combine my Smalltalk experience with Java
> > much as I can. This has created some really cool results with the
> > work with when I can explain to them what the real power of objects all
> > time really works !!! Things like Talks2 are really cool ideas and
> > to have the power of what we all know works without having to reinvent
> > wheels others can provide :-)
> Y'know, it's interesting that I was just fretting over that
> phrase. There's a vast difference between re*inventing* and
> re*implementing*. I try to reinvent only for pleasure, learning, or
> avoiding patents. I will reimplement to avoid working with Java! (For
> other reasons too.)
> Plus, there's a lot of momentum behind Squeak in the people using
> it. "Switching" to java would require disrupting a hell of a lot to, I
> suspect, marginal gain.
> Again, if some folks want to work on frost, and some folks want to work on
> talks like systems, or some want to make a JavaSlang, I'm all for *their*
> doing it.
> > Three points that have been brought up on this discussion that I wanted
> > correct:
> > 1- Can't do replace code on the fly while debugging in Java
> > This is no longer the case, sun has added a HotSwap that allows a class
> > be replaced on the fly while a debugger is running. This is used by a
> > IDE called Eclipse with the JDT installed.
> There are some other projects that enable this in a variety of ways,
> Jython and Kawa are my suspects.
> Can we elide this to "To get the kind of system we already have, it's
> going to be somewhat painful and kludge to make it *Java* (as opposed to
> *implementing* it in Java)."
> It's easy, I think, to imagine the horrors of SyntaxMorph or Tiles bases
> programming built on top of Java Syntax :)
> It's certainly *much* more work to get *everything* from the Java syntax
> into those forms. I.e., have a nice clean 1-1 correspondence between
> syntactic feature in each dialect.
> This is a currently solved problem in Squeak, for Smalltalk. The solution
> would probably be reasonable for various Lisp Dialects. I want a proof of
> concept that it's reasonable for raw Java.
> > 2- Squeak/Smalltalk has the best IDE
> > Well, the Smalltalk IDE has some really cool features and works really
> > when you are used to it. But the folks at OTI have managed to do some
> > impressive work on an IDE framework called Eclipse (info at
> > http://www.eclipse.org). This tool provides the most awesom IDE I have
> > seen for any language outside of Smalltalk. Now Squeak still has some
> > things over this IDE, but not as many as you would all like.
> How many would *I* like? Eric Clayberg (bias, but...) on comp.lang.st said
> that it was "far" inferior. I don't know.
> > It manages to
> > allow people to work with files, which 90% of the world deal with,
> *has* to deal with. Poor them :)
> >but yet
> > provide a way of working with files that can make you forget. The IDE
> > track of editions of semantic elements within a file, like methods,
> > and classes. Where you can replace any one element with a previous
> > The debugger supports the HotSwap technology such that I can modify code
> > the IDE or the debugger and the new code is executed
> > (got a few bugs do to
> > JDK 1.4 beta status :-).
> Er...not so great! (Let me note that Squeak's compiler and VM tech are
> *much easier* to understand and experiment with. And that's a design
> principle. I mean, why don't we just move to VisualWorks? There's *lots*
> of advantages to being ontop of VisualWorks. But, eh, the VisualWorks VM,
> why speedy and cool, is tricky. I *like* being able to, with a bit of
> effort, poke down into the guts and not feel overwhelmed. We've
> deliberately sacraficed some speed for clarity. Show me a java system that
> *ever* can host itself.
> Practical end value of these things for end-to-end, B2B secure
> transactions? Nil. Let Java do that, I'm pleased for it if it can make
> it. But these are not nil values *simpliciter*. Some of these things are
> *still* a bit too hard in squeak (e.g., I've never gotten the simulator to
> work, but I've not tried too hard).)
> > 3- Squeak can do more
> > I disagree very strongly, there are so many more tools and support for
> > different things that people need in order to build applications that
> > cannot be listed.
> Here. Of course they can be listed :)
> > Agreed a lot of them are complete crap, but many of them
> > are incredible.
> Sure. And I feel free to learn from them.
> And from Common Lisp, for example. Many incredible things there.
> > Take Standard Window Toolkit upon which Eclipse is built
> > on. SWT is a window toolkit that replaces the Ackward Window Toolkit
> > and Swing with a GUI layer that uses as many host widgets as possible.
> > manages to look and feel like a real host application, without the
> > feel of AWT and the ugliness of SWING !!!
> I am completely underwhelmed by this. Clearly, it's handy for applications
> developers, but I don't *particularly* care. If I were a cincom person I
> might be worried, or maybe just intrigued. I would strive to get at least
> as good but with that Smalltalk edge.
> > A good number of the
> > standards/API that are being defined by the Java community are really
> > useful. You can't overlook what the momentum behind Java just because
> > not an exact fit.
> Why not?
> Exactly, why not?
> Having diversity is a *good* thing.
> Really, the choice has been made. None of these are compelling *technical*
> reasons to switch. "Look, java is closer to having what you already have,
> you still have a bunch of things that would be a pain in the rear to redo
> for Java, and Java has a bunch of things not clearly of interest or use to
> you that you don't have, too many to be listed."
> If there were *compelling* technical/social reasons to switch, we might
> well. These would likely have to be *failure* driven, somewhat. I.e.,
> there'd have to be a clear failure of Smalltalk. But I don't see
> it. Smalltalk overall is stronger than ever.
> "But you're losing all those Java PROGRAMMERS!!!" So? Just because there
> are more of them doesn't me they'll work on things I like and want.
> This also sounds like "Squeakers! Come through your weight behind the huge
> Java momentum! Lend your efforts to Java! Help us make Java better!" And I
> want to help java...why?
> If it's got such great momentum, it doesn't need my help.
> Many kinds of software generate a delicate ecology. Not in every
> way. Squeak generates a robust ecology against such natural disasters as
> Apple going out of business. But I've seen many exciting projects switch
> to Java then becoming rather dull and lifeless. StarLogo is
> one. StageCraft is another. Java almost killed VisualWorks. Etc.
> So, Java folks, you have to persuade us not merely that the
> technical/social rewards are compelling, but that we can survive the
> I say this recognizing that some folks can't live in/with Squeak but
> think, at least, they can live with a Squeak/Java thingy. I'm sorry for
> you, but it's hard to see how the Huge Momentum of Java leaves you
> starved. If it does, then that HugeMO isn't so great. In any case, *I*
> thrive in Squeak. I'd like to keep thriving. There are other
> such. Personally, I shall resist efforts to get me to work toward or
> support my own computing unhappiness ;)
> And all this with the recognition that Squeak is warty as hell. But I can
> live with them. And I *like* working to remove those warts.
> Bijan Parsia.
More information about the Squeak-dev