Squeak vs. Python for this task on hand...
goran.krampe at bluefish.se
goran.krampe at bluefish.se
Mon Dec 15 08:18:05 UTC 2003
"Jeffrey McGrew" <JMcGrew at huntsmanag.com> wrote:
> Hello all,
> I'm an Architect here in the S.F. Bay Area who has in mind a few programs I
> would like to create. However, I haven't done any programming in a very long
> time, and am pretty much starting from scratch.
> The programs I want to create pretty much fall into two different camps,
> one is taking plaintext & ODBC output from a CAD program (AutoDesk Revit)
> and doing various things to it, like parsing it to generate other documents, and the
> other is making some tools to issue commands to and generate plaintext files for
> Radiance, a command-line *nix rendering tool.
> I've been playing around with Squeak, and love how elegant and easy to learn
> it is. However I'm concerned, for most of what I want to do is not so UI-orientated,
> but more little auto-utilities and/or scripts, that will possibly become command-line
> utilities. The intent is for these to become stand-alone tools that people could use
> alongside of their CAD software. As such, I'm worried that Squeak's 'all-in-one'
> image approach might not be the right way to approach generating these tools,
> for I don't understand how one would make a stand-alone application using
What you essentially do is to prepare an image with the classes/objects
you need and then typically shrink it by throwing out stuff your app
doesn't need. The last part makes it run in a smaller RAM size and I
assume also loads a tad faster at startup.
The image can be prepared to do things at startup, but you can also
easily provide a text file as a command line argument to the VM/image
that is read and evaluated when you start it. You can also supply
"normal" command line arguments to read.
So if you are building a bunch of command line utilities then you can
simply prepare one image with all the classes in it, and then invoke it
using different arguments to trigger different behaviors.
Making the VM start headless is just a command line option too.
> I also don't know how well Squeak deals with plaintext and ODBC
Squeak has pretty good file capabilities and has an ODBC driver + other
drivers (Postgresql, MySq, ?).
> files that live outside of it's image. This is totally due to my general lack of
> knowledge, and has nothing to do with any lacking in Squeak. :)
> So my other thought is to learn Python; however the Architect part of me
> just loves Squeak, loves everything being OO and everything being able to
> be taken apart and modified on the fly- and the beginning programmer
> part loves how much is taken care of for me 'behind the scenes' leaving
> me to focus on the task at hand. However not understanding Squeak, and
> seeing that Python is already used by people to do similar tasks as the
> ones I'm thinking of, it makes me feel split between the two.
I have been looking at Python (and Ruby) off and on - but I always
realize that Squeak is the thing for me. Python and Ruby don't have the
image concept and they don't have anything close to the Squeak
> I see that there are such things as webservers and wikis that run
> within Squeak, do these run 'headless' or something? Can someone
Yes, they do. The don't have too - but it saves RAM on the servers.
> more knowledgeable chime in and talk about Squeaks ability to parse
> and modify exterior data, and to be used more as a stand-alone tool
> dealing with manipulation of exterior data?
I see no problem with doing such things. There are a few packages that
you should probably get aquainted with - like SmaCC (parser generator
tool, like Flex/Bison/ANTLR) and OSProcess (much better integration with
OS facilities, especially on Unix platforms).
> Thanks all for your time,
> Jeffrey McGrew
> Huntsman Architectural Group
Hey, keep the questions coming.
More information about the Squeak-dev