[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] GNU vs. Squeak vs. VW

From: Bill Schwab
Subject: [Help-smalltalk] GNU vs. Squeak vs. VW
Date: Mon, 09 Jul 2007 15:25:57 -0400


I am a long-time Smalltalk addict with a lot of Dolphin-based code.  I
would be completely happy were it not for what I see as a disturbing
trend of bloat, bugs, and licensing hassles from Microsoft.  Every OS
revision brings a round of "what did they break this time?"  I hate to
think what Vista would be like.

Dolphin on Wine is one possible solution, though I worry about how Wine
decides which bugs to emulate, the quality of their reverse engineering,

Visual Works' runtime fees scare me.  Imagine the conversation with my
department's accountant: "...What's it cost?  Well, they want to know
what it's worth to us."  His office is on the fourth floor - that's a
long fall :)

Squeak is probably my leading contender, though it needs some serious
work before I could use it.  In its favor, it appears to be rock solid. 
I have yet to uncover an old Squeak image that would not load.  I have
managed to crash it doing 3D graphics, but even that is rare.

What's wrong with Squeak?  The underscore madness is annoying.  I
connect to various externally-designed databases that use them in table
and field names (the latter making good choices for selectors), they
appear in structure names, and even some external function names. 
Aesthetics aside, I "need" to be able to to use them (avoiding them
would cause a fair amount of extra work).

Squeak's GUI feel is horrible.  The look I can live with and/or fix, but
feel is a bit more trouble to correct on my own.  I do _not_ need native
widgets; I can live with them, and will even use them when provided, up
to a point.  I ended up having to make an emulated widget framework for
some situations, and would port it to any system that "forces" native
widgets on me.

Squeak's streams bother me.  IMHO

    'hello' readStream next:20

should raise an error; #nextAvailable: offers a way to "safely" get
truncated results.  I care because I do a lot of sometimes very strict
parsing, and want to know ASAP when something is not as expected.

Other items such as database connectivity, SSL sockets, etc. are either
available or are evolving.  My reading about GNU suggests you have at
least strong starts in many useful areas.

Re GNU, licensing is of some concern.  I have seen some
softening/clarification of the terms to favor proprietary software. 
There are things I am willing to give away, but I would be crazy to open
everything, so I need a system that will accommodate internal production
use as well as commercial deployment.  For now, let's assume things are
ok, though comments are welcome.

Your headless core is great.  I am concerned that you seem to focus on
it largely to the exclusion of a GUI.  I am not a believer in eXtreme
Programming[*], but I _am_ a believer and practitioner of several of its
components.  Automated testing and programming in the debugger are big
on my list.  A graphical debugger is the center of my world.  Sadly, I
am probably not enough of a VM guru to begin to write one.

Are you at all interested in stretching GNU Smalltalk to compete with VW
as a platform for building GUI software?  Putting that question to the
Squeak community yields answers such as "don't break our toy, " which
IMHO is a shame.  I am looking for a tool that can build toys, robust
server software, bleeding edge interfaces, and even some plain old
boring stuff to meet users' expectations.  If those objectives appeal to
you, please let me know; I would fully expect to contribute to making it
happen.  The caveat would be that I need to be able to maintain
ownership of and even sell things that are unique to my work while
helping to improve the open system.

Happy Smalltalking!


[*] no offense, I see it as sloppy configuration management, and aging
comments (3, 6, 12 months "ago") have saved my back side several times. 
XP bad; refactoring good; automated testing VERY good.

Wilhelm K. Schwab, Ph.D.
University of Florida
Department of Anesthesiology
PO Box 100254
Gainesville, FL 32610-0254

Email: address@hidden
Tel: (352) 846-1285
FAX: (352) 392-7029

reply via email to

[Prev in Thread] Current Thread [Next in Thread]