[squeak-dev] Using Squeak to learn about high-level programming environments?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Using Squeak to learn about high-level programming environments?

Derek Peschel
Back in April (!) I subscribd to squeak-dev and squeak-nos to ask this
one question.  Lurking has taught me a lot, but the threads about the
future of Squeak overwhelmed my brain and I plan to unsubscribe after I
get some sort of answer.

I'm interested in debugging, reflection, and virtualization.  Fixing errors
can be fun, and making changes at runtime is an addicting power.  Mostly I've
been studying implementations and learning concepts rather than doing any
coding.  Machine-language debuggers can be powerful (I've studied several)
but they aren't abstract at all, so they are hard to understand and maintain.
I'm looking for a system that is easy to understand and easy to make small
incremental changes to.

Smalltalk has always looked promising, since it's a high-level langauge that
can describe most of its own runtime which includes programming tools.
I still don't know which version is best for my purposes.

Going from the beige Smalltalk-80 books and Inside Smalltalk, I've always
assumed the original Smalltalk-80 code worked correctly, had decent high-
level comments, and matched the comments.  Is that really true?  Anyway,
it doesn't run on modern hardware afAIK and the limitations of the MVC-
architecture window system quickly become apparent.

An old version of Squeak might be Smalltalk-80 on modern hardware but it
suffers from the same window-ssytem limitations.

New versions of Squeak try to fix the window system but have made so many
other changes.  I find myself dealing with small "why isn't this working?"
bugs I don't want to investigate, or the concepts are much harder to see.
Also the classic programming tools like the system tracer and image shrinking
have been neglected for a long time.

Pharo and Cuis sound potentially useful.  I still need to try them.

What about one of the commercial Smalltalks?  Or a different langauge?
Except the language should have an environment ready to go, and there are
a lot fewer of those.

Thanks,

-- Derek

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Using Squeak to learn about high-level programming environments?

David Mitchell-10
If I wanted to understand things, I'd get to a small kernel.

I'd drop back to Mini-Squeak 2.2.
http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-September/013578.html

Yes the window system is old (even 1-bit black and white!). But, it is
very small and would highlight your capabilities list nicely.

You could try Cuis or a SqueakLight image if you are looking for
something more modern.

SqueakOS used to boot off a floppy:
http://lists.tunes.org/archives/tunes/1999-October/002363.html




On Wed, Aug 5, 2009 at 1:59 PM, Derek Peschel<[hidden email]> wrote:

> Back in April (!) I subscribd to squeak-dev and squeak-nos to ask this
> one question.  Lurking has taught me a lot, but the threads about the
> future of Squeak overwhelmed my brain and I plan to unsubscribe after I
> get some sort of answer.
>
> I'm interested in debugging, reflection, and virtualization.  Fixing errors
> can be fun, and making changes at runtime is an addicting power.  Mostly I've
> been studying implementations and learning concepts rather than doing any
> coding.  Machine-language debuggers can be powerful (I've studied several)
> but they aren't abstract at all, so they are hard to understand and maintain.
> I'm looking for a system that is easy to understand and easy to make small
> incremental changes to.
>
> Smalltalk has always looked promising, since it's a high-level langauge that
> can describe most of its own runtime which includes programming tools.
> I still don't know which version is best for my purposes.
>
> Going from the beige Smalltalk-80 books and Inside Smalltalk, I've always
> assumed the original Smalltalk-80 code worked correctly, had decent high-
> level comments, and matched the comments.  Is that really true?  Anyway,
> it doesn't run on modern hardware afAIK and the limitations of the MVC-
> architecture window system quickly become apparent.
>
> An old version of Squeak might be Smalltalk-80 on modern hardware but it
> suffers from the same window-ssytem limitations.
>
> New versions of Squeak try to fix the window system but have made so many
> other changes.  I find myself dealing with small "why isn't this working?"
> bugs I don't want to investigate, or the concepts are much harder to see.
> Also the classic programming tools like the system tracer and image shrinking
> have been neglected for a long time.
>
> Pharo and Cuis sound potentially useful.  I still need to try them.
>
> What about one of the commercial Smalltalks?  Or a different langauge?
> Except the language should have an environment ready to go, and there are
> a lot fewer of those.
>
> Thanks,
>
> -- Derek
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Using Squeak to learn about high-level programming environments?

Edgar J. De Cleene



On 8/5/09 4:39 PM, "David Mitchell" <[hidden email]> wrote:

> If I wanted to understand things, I'd get to a small kernel.
>
> I'd drop back to Mini-Squeak 2.2.
> http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-September/013578.h
> tml
>
> Yes the window system is old (even 1-bit black and white!). But, it is
> very small and would highlight your capabilities list nicely.
>
> You could try Cuis or a SqueakLight image if you are looking for
> something more modern.
>
> SqueakOS used to boot off a floppy:
> http://lists.tunes.org/archives/tunes/1999-October/002363.html

And not forget Pavel kernel for 3.7 and 3.10 , like a Smalltalk console on
modern .image with no GUI on your way.

Edgar




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Using Squeak to learn about high-level programming environments?

K. K. Subramaniam
In reply to this post by David Mitchell-10
On Thursday 06 Aug 2009 1:09:05 am David Mitchell wrote:
> SqueakOS used to boot off a floppy:
> http://lists.tunes.org/archives/tunes/1999-October/002363.html
The URLs in this mail are outdated. I found SqueakOS at
 http://marcusdenker.de/Squeak/SqueakOS/

Unzipped image is about 1.5MB. I could run it on Linux with:
   qemu -boot a -fda SqueakOS.image

Object allSubInstances size 17499
MethodDictionary allSubInstances size 412
Smalltalk size 216

Amazing! .. Subbu


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Using Squeak to learn about high-level programming environments?

Derek Peschel
In reply to this post by David Mitchell-10
On Wed, Aug 05, 2009 at 02:39:05PM -0500, David Mitchell wrote:
> I'd drop back to Mini-Squeak 2.2.
> http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-September/013578.html

Interesting, because non-mini 2.2 is the first version of Squeak I used.
I'll certainly look at the distributions everyone's mentioned, but honestly
I'm looking for _superlatively_ high-quality documentation in the image,
or good books on the subject, or personal mentoring and help.

-- Derek

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Using Squeak to learn about high-level programming environments?

Colin Putney

On 9-Aug-09, at 6:06 PM, Derek Peschel wrote:

> On Wed, Aug 05, 2009 at 02:39:05PM -0500, David Mitchell wrote:
>> I'd drop back to Mini-Squeak 2.2.
>> http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-September/013578.html
>
> Interesting, because non-mini 2.2 is the first version of Squeak I  
> used.
> I'll certainly look at the distributions everyone's mentioned, but  
> honestly
> I'm looking for _superlatively_ high-quality documentation in the  
> image,
> or good books on the subject, or personal mentoring and help.

In that case, the first thing to learn is this: as soon as you get  
beyond toy examples, programming is messy.

Colin