Another Answer

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

Another Answer

Kirk Fraser
Q. I want to learn Smalltalk but without the baggage of an IDE. Just let me use my favorite text editor, that's much easier.

You can do it but you have to write your code in "fileIn" format so Smalltalk will accept your external editor's code, compile, and execute it.  "fileIn" formats can vary between Smalltalks. 

The baggage of the IDE is essentially an object database of precompiled library software.  You can compare various Smalltalks to a lean C++ IDE like Bloodshed, a bloated C++ IDE like Qt, and a maximally bloated Visual Studio.net.  As one programmer you don't have time to fix everything to your taste - you'll be lucky to learn a library enough to find the tools you want to do your task.

Libraries can sometime include 30 year old bugs that nobody has ever fixed because they are too hard to discover.  Usenet tells of a major military project written in Smalltalk which was cancelled and replaced with C++ because of phantom ships appearing when they shouldn't.  They couldn't figure it out and fix it. 

There are several possible reasons for this.  Professional code tends to be written for maximum understanding by users, but free code is often written for the fun of the programmer, so real meaningful object names give way to convoluted names that only have meaning in the worldview of that particular programmer.  If the function they do is important enough, sometimes these become popular, making the function hard to learn for everyone else.  Another reason is executing code is notoriously difficult to debug in some circumstances, especially when other code in the IDE depends on it.  Changing the definition of terms in a particular object's communication with another object might fix one problem and create ten more.  So essentially one has to learn the entire library to redevelop something that's been around a while.
 
On a positive note, Cuis provides a leaner library than Squeak and is also licensed so you can deliver it IDE and all with your application code running on top, so you can deliver a lot more value to your users than with an ordinary exe.

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Another Answer

Karl Ramberg


On Tue, Nov 22, 2011 at 3:35 PM, Overcomer Man <[hidden email]> wrote:
Q. I want to learn Smalltalk but without the baggage of an IDE. Just let me use my favorite text editor, that's much easier.

You can do it but you have to write your code in "fileIn" format so Smalltalk will accept your external editor's code, compile, and execute it.  "fileIn" formats can vary between Smalltalks. 

The baggage of the IDE is essentially an object database of precompiled library software.  You can compare various Smalltalks to a lean C++ IDE like Bloodshed, a bloated C++ IDE like Qt, and a maximally bloated Visual Studio.net.  As one programmer you don't have time to fix everything to your taste - you'll be lucky to learn a library enough to find the tools you want to do your task.

Libraries can sometime include 30 year old bugs that nobody has ever fixed because they are too hard to discover.  Usenet tells of a major military project written in Smalltalk which was cancelled and replaced with C++ because of phantom ships appearing when they shouldn't.  They couldn't figure it out and fix it. 

There are several possible reasons for this.  Professional code tends to be written for maximum understanding by users, but free code is often written for the fun of the programmer, so real meaningful object names give way to convoluted names that only have meaning in the worldview of that particular programmer.  If the function they do is important enough, sometimes these become popular, making the function hard to learn for everyone else.  Another reason is executing code is notoriously difficult to debug in some circumstances, especially when other code in the IDE depends on it.  Changing the definition of terms in a particular object's communication with another object might fix one problem and create ten more.  So essentially one has to learn the entire library to redevelop something that's been around a while.

Some heisenbugs are really hard to track down in a live image. An object astray or a in situ  modified object can cause hours of bug tracking. Or long chains of definitions that seem to backtrack in circles. 

A big system must often be built and rebuilt before it can be useful. I don't think hard to manage big project is only a Smalltalk issue. 

But some problems rising from the use of a object memory are not addressed by our current tools, at least not in Squeak. And learning Smalltalk is as much knowledge worth knowing, it's quite a hard learning curve but when you get it it changes how you think.

Karl
 
On a positive note, Cuis provides a leaner library than Squeak and is also licensed so you can deliver it IDE and all with your application code running on top, so you can deliver a lot more value to your users than with an ordinary exe.

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners



_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners