SMALLTALK : THE ULTIMATE RAPID APPLICATION DEVELOPMENT PLATFORM

 

Smalltalk is a LISP based pure Object Oriented Programming language. The Smalltalk environment contributes conceptually to probably most of the OOPS platforms today, viz JAVA, .NET, CORBA etc . Smalltalk originated as a research/utility tool in the IBM labs and later developed in Xerox- Parc place along with a strong support from many academic institutions in US, viz Univ of Illinois UC. Presently supported by IBM and Cincom, beyond many others it offers the simplest computing paradigm.

The environment stays absolutely within the OOPS paradigm with complete extensibility to all the features required even of procedural programming of C, newer technologies of the day like, COM, CORBA, OpenGL, DirectX, Distributed Computing etc. It also has in-built support for team development with revision control, support for major DBMS packages like Oracle, MS-SQL, PostGre SQL, Object Store etc. From within Smalltalk, you can build your "programming language" with its compiler feature, like the yacc.

The very essence of the Smalltalk is the platform independent code running on top of a virtual machine, though it can be very much optimized to a single platform, if multiple OS support is not required. With its versatility and extensibility, it has many varieties of Smalltalk environments, supporting the varied purposes of the computing industry. They are:

 

1. Cincom VisualWorks: The standard version of Smalltalk with maximum features and

support. Creates bytecodes and runs on the VM. Can run the same code as applet on the Web.

2. Smalltalk MT: Specifically for Gaming industry on the Windows platform with complete support for Direct-X, Active-X, COM etc. Creates exe, dll, Active-X and COM components and runs like any windows code.

3. Dolphin Smalltalk : Similar to the above it has strong support for the Windows environment

4. Smalltalk X: Open Source (LGPL) platform for creating Smalltalk code that can be compiled to a footprint equivalent of a C code. Can use the byte code on VM or create a dll or exe as required, with the standard options of the C compiler of small code, fast code, memory model etc.

5. VisualAge: The IBM venture on Smalltalk for the enterprise solutions with complete design modeling support for ERP development. This is a fully time tested product in the industry.

6. Envy : A team development repository extension, specifically used in VisualAge and replaced by Store in VW.

7. Squeak: A very efficient implementation of Smalltalk supported by enthusiasts offers terrific multimedia development capabilities

8. Object Studio A Cincom product with Smalltalk for the enterprise solutions with complete design modeling support for ERP development.

9. Gemstone : A comprehensive solution for 3 tier enterprise solutions with OODBMS backend repository, a server module for executing programs that are server based and the client extensions to smaltalk, Java, C that will allow client module developments .

10. Pocket Smalltalk: A dolphin and Squeak based smalltalk engine for Palm programming.

There are lots of others that are available, some in fact created by individual developers for their

own individual purposes.

 

 

THE SALIENT FEATURES OF SMALLTALK:

 

1. Enforces OOPS concept in programming

2. Rapid application development (RAD) in team environment: (atleast 3-8 times faster turnaround time from user requirement stage to final delivery, than others in VC++, VB, JAVA etc.). Extensions are available for Distributed computing applications(DST), COM, OLE, interface with DLL’s , DBMS interfaces, Corba support… etc the list is growing each passing year.

3. Total extensibility of the environment Anyone can modify and extend the way desired unlike the black box of MFC/Java classes.

4. Supports most of the new and old technologies including .Net, Sockets BSD.. etc

5. Dynamic compilation and debugging. Makes it the easiest to Debug and change. It is run time type assignment for variables and memory management through 4 algorithms that is the USP of Smalltalk.

6. Completely secure memory subsystem with a GC ( garbage collector) that is highly optimized

7. Smallest footprint amongst any development platform of VC++, VB, etc.. as good as a C

code once byte code is loaded and running.( This is true for Smalltalk X but nonetheless better than any other memory managed code )

8. Special interfaces for web based programming, DBMS supports, networking protocols of TCP/IP, SMTP, SOAP, WML, XML etc.

9. Built in version control system Call it Store in VW and Envy in VA, it is far more stable and powerful than the VSS.

10. Conceptually equivalent Unix calls for all system functionality interfaced to the specific platform calls of WinNT/9x, Mac, Linux etc by the VM. This makes it very simple for implementation of any networking development, data storage or retrieval etc with least number of object calls.

11. In built facility for testing of the entire code for optimized code called the SUnits Testing Suite.

12. The new development model of Extreme Programming is rooted in Smalltalk, though adopted by others also now.

13. The design patterns concept most recommended for a highly extensible application development is propounded by the top guns in Smalltalk.

14. Develop embedded code for any processor chip, as is done for Mercedes cars.

15. Use Pocket Smalltalk to create the quickest and easiest programs for your palm and test it on its simulation test bed.

Many more that can be listed endlessly…. But above all the learning curve for any programmer familiar with Unix, C and OOPS is nearly non-existent, let us say about 15 days to be a productive programmer, and beyond that he/she will be about 3x-8x more time efficient.

Smalltalk in its entirety is as complex and complete a development environment as the whole of MS tools of VC++, VB, .Net, VSS, Performance tools etc or the IBM websphere environment would be. It needs a little organizing to get all of it to fit in to a development cycle and you can have a complete self contained system and tools in one platform.

 

 

 

 

 

 

DOCUMENTATIONS:

 

Cincom VisualWorks:

Powerful and Easy Enterprise development platform

Start with WalkThrough.pdf to understand your first application development.

1. VWadg.pdf: The Visualworks advanced developers guide

 

There are lots of individual and team efforts in creating add-ons to VisualWorks called the Goodies that can also be seen.

Smalltalk MT:

The easiest way to create Games/ Graphics with DirectX access as also through Dolphin Smalltalk

1. DirectXIntroGuide.htm ( Nothing much is given in this though) and its own help guide once installed. Try the DirectX samples instead.

LINKS:

My Links to Smalltalk works ( under construction)

http://www.geocities.com/smalltalkindia and http://groups.yahoo.com/group/smalltalkindia

http://www.whysmalltalk.com The site to start from as also Monty Kamath’s http://www.goodstart.com

www.cincom.com Download the VisualWorks5i.4 from here

www.gerify.com Download Smalltalk MT from here

www.cincom.com/smalltalk/documentation

www.cincom.com/smalltalk/tutorial

 

…….there are whole lot of documentation, non-commercial and freewares on Smalltalk available for free through the ESUG and Smalltalk India circle for the nominal cost of the CD.

 

 

Try prototyping in Smalltalk to understand its power, extensibility, efficiency, ease and speed of development.

Hosted by www.Geocities.ws

1