Squeak from a newcomer's perspective

Sebastian Sastre ssastre at seaswork.com
Wed Oct 31 14:21:26 UTC 2007


He got the point didn't he?

	cheers!

Sebastian

 

> -----Mensaje original-----
> De: squeak-dev-bounces at lists.squeakfoundation.org 
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org] En 
> nombre de Jon Hylands
> Enviado el: Miércoles, 31 de Octubre de 2007 09:36
> Para: squeak-dev at lists.squeakfoundation.org
> Asunto: Squeak from a newcomer's perspective
> 
> 
> One of the guys on a robotics list I am on was interested in 
> using Squeak for his robot after I showed him what I had done 
> with my RoboMagellan
> controller:
> 
> http://www.huv.com/roboMagellan/MissionEditor.jpg
> 
> He's been playing with Squeak for a week or so, and he posted 
> this reply to someone who was asking him why Squeak (and I'm 
> reposting it here with
> permission):
> 
> ==========================
> "Robert F. Scheer" <RFScheer at speakeasy.net>
> 
> > Hello,
> >
> > tell me more about squeak please...
> 
> First, let me make it clear I am not yet advocating Squeak.  
> I'm into it now for almost a week.  I'm finding it very fun 
> and it looks like it has a big chance of being my robot 
> programming environment for the next 20 years.  But it's 
> possible that could change, obviously. 
> 
> Squeak is an open source evolution of Smalltalk-80.  I think 
> it doesn't help to describe it as 100% object oriented and so 
> forth.  What really attracts me is how you can build up 
> applications from your own and others' collections of stuff 
> written for other projects often in unrelated areas.  The 
> unique integrated design environment is fun and powerful.  
> Apparently it is common to write code by first specifying 
> verification procedures and then working backward.  It is 
> often common to write code in the integrated debugger.  The 
> code is compiled as you go and it is always live.  When you 
> enter a line or a class, the IDE won't allow grammar errors 
> or references to missing variables and so forth.  You spend 
> no time on type declarations although types are quite rigid, 
> but you don't have issues of different modules using common 
> headers and cr.p like that.  Garbage collection is totally 
> built in and needs no programmer attention. 
> 
> A squeak program (image) will run under all *nix's, Windows, 
> Mac and on any machine that hosts those so you can write it 
> on your desktop, test various stuff there and then file it 
> out to your robot for ground testing.  Large robot control 
> images can be adapted over time to different projects without 
> rewriting huge portions of code.  The same image could be 
> extended over many years to control new robot projects while 
> still being backward compatible to older ones.  This way if 
> you develop a brand new feature it might be available to an 
> older robot with no further effort.  If early bots use simple 
> subsumption architecture, that code can remain available 
> while you add higher level techniques so it's easy to imagine 
> testing a brand new robot first with the most basic 
> subsumption behaviors and then adding the newer ones layer by 
> layer as you test. 
> 
> Oh, the Squeak community on the web is really well organized 
> and there's a huge degree of sharing.  Code is much easier 
> than other languages to share.  I believe that even though 
> not that many people seem to use it in my immediate circle 
> (read zero), and I doubt a major fraction of the world's 
> programmers use it, they make progress pretty quickly due to 
> the community pool of knowledge. 
> 
> I may be misusing some concepts but I hope you get the idea.  
> I hope I still agree with this description a year from now.
> 
> The place to start is a fantastic (free) ebook at this site (Squeak by
> Example):
> 
> http://www.iam.unibe.ch/%7Escg/SBE/
> 
> I found that Ubuntu made it easy/instant to load version 3.9 
> sources from repository.
> 
> There are some downsides to Squeak of course.  Images tend to 
> be much larger, meaning multi-MB, than programs in other 
> languages and they're not as fast either but that's not 
> something I'm qualified to amplify on atm.  Jon Hylands runs 
> Squeak on Gumstix miniature computers so that tells you that 
> a fast ARM processor is probably the minimal hardware 
> environment.  You will not be running Squeak on a PIC or AVR 
> or Propeller though. 
> 
> I am not sure but doubt you could write a vision processor in 
> Squeak with reasonable performance for example.  It is most 
> likely you need primitives written in a lower level language 
> that do the grunt work.  
> But I wouldn't be surprised to discover that those are  
> easily loaded from the web and require no effort on your part 
> other than understanding what they are in the first place. 
> 
> > what widgets or GUI tools have found for it that correspond to 
> > robotics type work for GUI design... knobs, meters, and such???
> >
> > inquiring minds want more info...pretty please...
> 
> I honestly haven't looked for widgets yet.  I see huge lists 
> of all types of Squeak code for this and that on line ready 
> to pull into your application.  Also, I'm still hazy on what 
> the web pages actually are that the robot will serve to the 
> remote monitor screen and control panel.  Just not there yet. 
>  I did notice that Jon Hylands, who has been a great mentor 
> btw (sorry Jon to let that slip) is thinking that George's 
> point about remote browser based gui's is a good idea so 
> he'll probably head in that direction. 
> 
> In conclusion, after one week of Squeak, I'd say it's a 
> mind-warp.  It's not a linear way of thinking.  It requires a 
> disciplined journey to a different reality.  One of the first 
> programming exercises is to go through the steps to make a 
> little game.  Going through the motions makes a lot of sense 
> and you're done in about 15 minutes.  You realize to be able 
> to think along the lines of the original designer would 
> require a different you.
> 
> ==========================
> 
> Later,
> Jon
> 
> --------------------------------------------------------------
>    Jon Hylands      Jon at huv.com      http://www.huv.com/jon
> 
>   Project: Micro Raptor (Small Biped Velociraptor Robot)
>            http://www.huv.com/blog
> 




More information about the Squeak-dev mailing list