|
Smalltalk
Community
Versions
All Versions
Smalltalk Standard Extending Smalltalk Squeak Smalltalk GNU Smalltalk Little Smalltalk Java Smalltalk PDST MicroSeeker PIC/Smalltalk Sharp #Smalltalk Pocket Smalltalk Talks2 Smalltalk F-Script Squat Smalltalk Smalltalk/X StrongTalk Ambrai Smalltalk VisualWorks ObjectStudio VisualAge Smalltalk Dolphin Smalltalk Smalltalk MT S# Smallscript Smalltalk/JVM OOVM Embedded Gemstone/S LSW Vision-Smalltalk Slate Smalltalk Zoku Smalltalk VSE Smalltalk Smalltalk Express Smalltalk/V286 Smalltalk/VMac Smalltalk/V Smalltalk-80 |
Welcome to Smalltalk.org.
Getting The Message
The Essentials of Message-Oriented Programming with Smalltalk
By Alan Lovejoy. Smalltalk is a foundational programming language that is based on pervasive message passing, pervasive dynamic strong typing, pervasive reflection and pervasive object orientation. Message passing: Almost all computation in Smalltalk happens via the sending of messages. The only way to invoke a method is to send a message—which necessarily involves dynamic binding (by name) of message to method at runtime (and never at compile time.) The internals of an object are not externally accessible, ever—the only way to access or modify an object's internal state is to send it a message. So function and data abstraction are both complete and universal. Pervasive message passing is Smalltalk's most important feature—a point that was lost on most of those who have tried to emulate Smalltalk when designing other programming languages. The full import of "object-oriented programming" as originally defined by Dr. Kay—and how and why the meaning of "OOP" as it applies to Smalltalk differs from the meaning of "OOP" as commonly understood outside of a Smalltalk context, is fully explained in the sections that follow. In addition, Dr. Kay's article "The Early History of Smalltalk" is highly recommended reading for anyone who wants to gain an even deeper insight into why and how Smalltalk came to be what it is, and why it is so different from the mainstream programming languages. Full Article...
Planet Smalltalk Blog Headlines
Using the new PackageLoader feature when creating unit tests for DBD-PostgreSQL
Holger Hans Peter Freyther's blog by Holger Hans Peter Freyther
May 18, 2013 08:21 AM
Smalltalk Digest: STIC’13 PREVIEW EDITION
Cincom Smalltalk by Cincom Smalltalk
May 17, 2013 07:07 PM
Web with Pharo Conference 6 June 2013 @ Lille
Pharo Open Source Smalltalk — News by Pharo News
May 17, 2013 09:07 AM
CFP SSRR 2013: Symposium on Safety, Security and Rescue Robotics in Linkoeping, Sweden, October 2013
CAR: Components, Agents, and Robots by Noury Bouraqadi
May 17, 2013 07:06 AM
The Cincom® ObjectStudio® GUI Files – Part 2: Fundamentals
Cincom Smalltalk by Cincom Smalltalk
May 16, 2013 06:06 PM
Part of my Squeak Tutorial was translated to Serbo-Croatian
Plum Street » Smalltalk by Stephan Wessels
May 16, 2013 02:58 AM
VMTRAP with VA Smalltalk due to strange bytecode differences (or whatever)
Joachims Small World by Joachim Tuchel
May 15, 2013 07:56 PM
PackageLoader>>#loadPackageFromFile:
Holger Hans Peter Freyther's blog by Holger Hans Peter Freyther
May 15, 2013 05:47 PM
Pharo and the Web: A Conference
Smalltalk with James Robertson: category: smalltalk by James Robertson
May 15, 2013 08:59 AM
ST 4U 384: VisualWorks and Multi-Monitor on Mac
Smalltalk 4 You by JR's Smalltalk 4 You
May 14, 2013 10:29 AM
ST 4U 383: Pharo Command Shell
Pharo Open Source Smalltalk — News by Pharo News
May 14, 2013 07:19 AM
High-Level Musical Concepts in µO
The Hitchhiker's Guide to ... by Torsten Bergmann
May 13, 2013 02:59 PM
IM 126: History of Gemstone
Independent Misinterpretations by Independent Misinterpretations
May 12, 2013 08:48 PM
ST 4U 382: Cobol Access in VA Smalltalk
Smalltalk 4 You by JR's Smalltalk 4 You
May 10, 2013 11:10 AM
Blog headlines provided by Planet Smalltalk
Blog Headlines
Last updated: May 19, 2013 04:03 AM UTC
Conferences
ANSI Smalltalk Standard Group ANNOUNCEMENT
Written by Bruce Badger in a posting to comp.lang.smalltalk Fellow Smalltalkers, I have had a conference call with representatives of INCITS and it seems that getting the process restarted to revise the ANSI standard for Smalltalk is very doable. The first step is to submit a proposal for the project of working on the Smalltalk standard. If the proposal is successful the outcome will be some form of committee which we must then populate and put to work. Full Article... CONTINUOUS NUISANCE DOUBLE TYPE COGNITIVE DISSONANCE TAX
Written by Peter William Lount, [ | peter at smalltalk dot org ]. A "DOUBLE TYPE TAX" is a perfect way to describe any language that forces the user or programmer to "type" as in typing characters the "type" specification of every variable. How tedious typing type information is, and it's only of limited use. Anytime type information is really needed in a program it can be checked at runtime with minimal or insignificant cost. In fact many programs ultimately run faster with type-less languages, aka dynamic languages, such as Smalltalk. This is because many programs tend to be disk bound or thrash the cache anyhow, and significantly because of the poor implementations of class libraries in languages that force type specifications upon poor unsuspecting programmers who don't know any better or who don't want to change and adapt to a world of programming free of type specifications on variables, parameters, etc... By virtue of their success dynamic typeless languages are valid programming models which drives type-focused programming types crazy. All type checking is simply redundant at compile time. It's effectively useless except for detecting a few categories of errors and for a few optimizations. Languages with types are effectively not any higher level than C or Assembly language. What especially drives "type fiends" nuts is that there are those of us who recognize that dynamic languages are far superior to typed language programming paradigms. We rain on their parade. Types have their purpose but it's very limited and should be banned from programming languages for the most part. The main difference between a type and an untyped language is that in untyped language, say Smalltalk for example, the so called "type" information is attached to the object itself and not to the variable/parameter slot. This allows tremendous flexibility and most importantly FREEDOM from the DOUBLE TYPE TAX. Full Article...
Learning to Talk: Introduction to Talking
Written by Jeffrey Massung My first exposure to Smalltalk was around 2001. It was using Smalltalk MT, and I created a simple raytracer with it (that was the typical pet project I did with all new languages at the time). It turned out reasonably well. I didn't really understand much about Smalltalk at the time other than the syntax and how to move around the environment. Once I did enough to feel that I had a "reasonable understanding" of the language, I put it down and moved onto other things.... First, let me say that the boys (Andy Bower and Blair McGlashan) at Object Arts did an absolutely fantastic job with their presentation of the language. All implementations I'd seen to-date were either very foreign (Squeak) or extremely "old" (ObjectStudio, MT). This not only looked and felt modern, it actually had all the features a professional programmer expects from a development environment: syntax highlighting, view composing, source control (built in), tutorials, and more, all presented very elegantly. Andy and Blair really took their time and got it right! Full Article...
The Essence of Smalltalk
Smalltalk and it’s usage in Microsoft’s .Net Written by Aditya Dutt Smalltalk was one of the first systems to pioneer the WIMP (Windows, Icons, Menus and Pointers) interface. Compared to conventional programming languages such as C or Pascal, Smalltalk has an unusual syntax. Objects are employed to represent everything in Smalltalk, including all the conventional data types that may be found in any programming language: such as integers, Booleans, floating-point numbers, characters, strings, arrays. In addition to this, objects are used to represent display items such as menus, windows and even the compiler itself. Smalltalk is therefore described as a uniformly object-oriented language. Smalltalk language was developed at the Xerox Palo Alto Research Center in 1970s, the programming environment greatly influenced the development of Apple Macintosh and Microsoft Windows. Cincom has an extended version of Smalltalk-80 called VisualWorks (derived from the original ParcPlace version), which provides window-building facility and database connectivity. IBM's VisualAge is a development environment designed to support the easy creation of software applications on multiple platforms. IBM Smalltalk provides a platform-independent application program interface (API) based on industry standards. Full Article...
Bytecode-to-bytecode adaptive optimization for Smalltalk
Submitted by Scott Bleackley Edited by Peter William Lount
"Smalltalk is a vision of the computer as a medium of self expression. ... A humanistic vision of the computer as something everyone could use and benefit from. If you are going to have a medium for self expression, programability is key because unless you can actually make the system behave as you want you are a slave to what's on the machine. So it's really vital, and so language comes to the for because it's through language that you express yourself to the machine." - Elliot Miranda Full Article...
Dynamic Runtime Type-Object-Class Inference
By Peter William Lount Run time type inference is a technique that has long been applied to dynamic programs to recover the type information while the program is running. It was experimented with at Xerox Parc. It is known that Dynamic Type Inference "recovers" type information - well recovers is not really the most accurate term, maybe "discovers" is better - and that the information may have additional uses. For example, the Self system uses this runtime "type/class" information of the prototypical objects to customize and recompile methods under the covers and on the fly which enables some performance optimizations. Other uses are certainly possible such as using the information for Refactoring. Full Article...
Exploring Type Safety in Smalltalk
By Peter William Lount Something magical happens when "manifest" type information is left out of programs. Smalltalk is an excellent example of this magic. While adding type information has it's benefits it also alters the shape of how you build programs. As there are somethings that can be done with "manifest typed" programs that can't be done with dynamic programs, the reverse is also especially true: untyped, non-typed, or dynamic programs have special capabilities that typed systems don't have. It's very interesting that a line in the sand between typed and dynamic systems exists, very interesting indeed. How do we know this line exists? The evidence is simple and based upon facts, Smalltalk exists and works well - very well - without the need for types. In addition when types are added to Smalltalk the way that you program changes, limits are now placed upon variables, parameters, and return values that alter the "shape", "nature", and "style" of code writing. These changes have a huge impact upon the flexibility, terseness and other advantages that Smalltalk has to offer. Full Article...
Dynamic Systems are where Capability Rules
"Isn't the Meijer/Drayton paper
trying to bridge the divide by pragmatically adopting
what form of type checking is necessary at
any given point instead of taking absolutist positions?" - Dilip asked.
Ah NO! What gave you that idea? Their paper has very little to actually say about dynamic typing. Essentially it rants about the authors desired "type" straight jackets and does little if nothing to bridge the "gap" between these very different styles of programming languages. Full Article...
Moving Forward Towards The Right Kind of More Less
Michael Lucas-Smith writes:
"I firmly believe in "less is more", so long as it's the right kind of less.
There are lots of languages out there that declare types for instance variables.
Smalltalk doesn't - but it does make you declare instance variables.
This, I think, is a bad thing. It means that the shape of a class must be "overridden"
if you want to "extend" it to do more jobs. So my first change to Smalltalk would be to
remove instance variable declaration."
Full Article...
Additional articles, article series, news, blog headlines and
events are available.
Remember to Meet Up with other Smalltalkers to contribute, learn and earn. Monthly meetings are happening in your area now. Join in. Do it Now! Smalltalk.org is seeking Smalltalker to contribute articles. Expand your horizons, contact us.
Copyright 1999-2010 by Smalltalk.org, All Rights Reserved.
|
May 18 2013 Costa Rica El Salvador Guatemala Honduras Panama Central America
lingoize.me
naturally with ease aiming for fluid fluency. |