Classical Applications (was Re: 17 new updates)
Andrew C. Greenberg
werdna at gate.net
Sat Feb 13 14:21:09 UTC 1999
Stefan writes:
> And this is what I call a toy. This term isn't meant negative or to value
> it against other terms like tools. A toy is just a device you'll use to
> play or explore.
.. . .
> Let's say the goal is to write a simple card stack application with an
> Explorer-like interface and drag and drop suport, printing and database
> storage. I can do this in a few hours in VisualBasic (Bill Gates can do
> everything in VB in just one week end, but that's a different story). This
> language is very well tailored to solve this kind of problems and I get the
> immediate feedback of sucess when delivering that application (to others or
> to myself).
>
> To do the same application in Squeak, I've to create a tree view widget,
> printing support, a database interface and so on. Much more difficult.
If it doesn't do it for you, Stefan, don't use it. VB is easy and
cheap to acquire. I can't get VB to do anything non-trivial without
serious effort and would never use it as a tool of choice, but that's
strictly a matter of taste.
For my part, I found Squeak a wonderful tool for prototyping
applications, and have a remarkable personal experience concerning
its portability. My wife loves and lives for the "paint by number"
puzzles published at times by games magazines. (These are also
called nonograms). The problem is that doing them on paper is
sometimes frustrating, given that recovery from mistakes often
requires starting fresh or erasing a lot of black pencil. She was
also interested in designing her own puzzles.
So I set out to build her a nonogram program for her birthday. That
was in October of last year. I discovered a wonderful algorithm for
nonogram solving in early November and started to build a program in
Python/Tkinter. Unfortunately, Tkinter is seriously broken on the
Macintosh and results in a polished, traditional GUI application that
inexplicably explodes every now and then for no reason at all. (The
result was pretty and quite serviceable, but inappropriate in my view
for Sheila's birthday present.) So I started hacking a real
application from the metal using my big-boy tools.
I went to the Hacker's conference in November, where Ted demonstrated
Squeak. Interested and out of time, I downloaded it and resolved to
build another to teach myself the language. I had a working
prototype without GUI in the proverbial weekend. (And without any
sense of how to optimize squeak code, it still ran comparably with
the python version.) I emailed Ted the results and he gave me a few
pointers about building a GUI. (By that time, I had already built a
decent one to throw away in MVC)
Sheila's birthday was 26 December, so I was runing out of time. I
work full-time as a lawyer, and also had to hide my work -- quite a
challenge.
It was then I discovered the true beauty of squeak. One morning I
couldn't put a problem away, but had to go to work (I'm a patent
lawyer by occupation). So I e-mailed a change-file to the office so
I could look at it during Lunch. Lunch came around and I had figured
out a solution, so I got on-line, downloaded Squeak for Windows onto
my office laptop and applied the changefile. I was stunned!
The program worked pixel for pixel identically with the Mac version
at my house. I was able to use an office laptop, a PC, to work on a
machine that would run ultimately on my wife's iMac! Outstanding.
At the end of the day, Sheila got a double-clickable application with
multimedia, music and all of what goes with it. Admittedly, its not
entirely Mac-ish (no standard file stuff, and I would like to have
multiple windows while also able to interact with other
applicaations, but I nevertheless ended up with a serious (and
viable) package to serve as her birthday present. I was highly
rewarded by how it was received.
No, take it from the author of several best-selling commercial games
-- Squeak is no toy. The potential is unlimited. And, compared to
working in, say, MPW or codewarrior to build applications, there is
much to be said for Squeaking in lieu of building anything from
scratch.
Agreed that stand-alone applications require some doing, particularly
if they have to interact in a "traditional" manner. That will come
in time -- when there is meaningful and actual demand or need.
That's the beauty of open source.
More information about the Squeak-dev
mailing list
|