|
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 |
Smalltalk Related Articles
Smalltalk.org supports a diverse range of interests related to the Smalltalk language, Object Technology
and Systems.
We welcome your articles, links, white papers, and items of interest postings. If you have an article or other relavant information that would be of interest to the Smalltalk or Object Technology Communities please let us know via email or phone. We invite you to write an article and submit it for publication. 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...
Smalltalk Traits Expressing Themselves
by Peter William Lount
Traits are a simple composition mechanism for structuring object-oriented programs.
A Trait is essentially a parameterzied set of methods; it serves as a behavioral
building block for classes and is the primitive unit of code reuse. With Traits,
classes are still organized in a single inheritance hierarchy, but they can make
use of Traits to specify the incremental difference in behavior with respect to
their superclasses.
Full Article...
Smalltalk Obsoletes Java
posted by Peter William Lount I came across this interesting and funny image today. Out with the old, in with the new. Java is old due to it's over reliance on static technologies that freeze programs at the time they are compiled. Frigid applications have a protective shell that prevents anyone from getting into them.
Full Article...
First Steps in Susie Smalltalk Scripting
posted by Peter William Lount I'm working on some new features for Smalltalk.org and a couple of other web sites. I'm testing out various scripting technolgies and deployment scenarios. I've spend some time with Susie Smalltalk and have produced some nice results considering how minimal a Smalltalk she is. I like what I see as Smalltalk is a much better scripting language for many reasons than many of the alternatives. Full Article...
If you're tired of drinking all that coffee, and you don't like your C flat, how 'bout some good 'ol Smalltalk to help soothe the soul?
posted by Peter William Lount
"Smalltalk is simple, terse and consistent. Everything is an object, and things get done by sending messages. There are 5 reserved words.
The class library is well architected, and easy to navigate (I love Trailblazer in VAST).
Everything is available right at your finger tips. You can execute code and inspect the results right away.
Smalltalk gives you complete freedom to explore and learn. Once you've done it for a while, you can start to
guess that classes will respond to certain messages. Once you break the shackles of your Pascal or C programming heritage,
Smalltalk is much easier to read. Easy to read, means easy to learn, enhance and maintain."
"Java is kind of like kindergarten. There are lots of rules you have to remember. If you don't follow them, the compiler makes you sit in the corner until you do. There are 59+ reserved words. Everything is not an object. There are primitives, and your classes are not first class objects. And you have to remember that there is no "this" in a static method (in Smalltalk calling self in a class method would return the class itself). You have to remember to tell the compiler things several times so it knows what you're talking about (Date date = new Date())." - Don Raab, Currenltly a Java Developer, and formerly a Smalltalk Developer. Full Article...
The Boring Now leads to the Exciting Future
written by Peter William Lount In the OSNews editorial "The Boring State of Operating Systems Today" Eugenia Loli-Queru writes about the sorry boring state of Operating Systems today. This issue goes much deeper than simply the OS, it's pretty much all software systems that suffer, especially applications and operating systems build using static software technologies. Full Article...
Shaping Evolution with Iterative Design
written by Peter William Lount The choice of using new syntax to extend Smalltalk must be carefully considered, benefits weighed and balanced aginst costs and pitfalls, lest we head down the path to the syntatic complexities of PERL and the horde of languages such as C, C++, C#, Java, etc.. The choice of using semantics to extend Smalltalk means using messages to get the job done. Hey, this is the natural path for Smalltalk! Full Article...
The Mortal Coil of Smalltalk
The Futility of Adding Types to a Dynamic Language
As Perilli points out the proposed "special type syntax" for Python lacks the expressive power to specify the various situations that Perilli can envision. This is typical of all the "typed languages" that I'm aware of. To gain the maximum expressiveness any "type system" needs to have a language that's fully general purpose. It would be folly to define a special language just for the specification of types as that would double the complexity that programmers would need to learn. Thus it's better and simpler to use the same syntax for both general purpose programming and type interface definitions. Adding a Validations Framework to a language makes sense when it's added as "first class meta data" in the general purpose language itself. By virtue of being added as a "Framework" the validations can be refined and evolved by regular programmers... The key when designing a new language is finding where it's heart lives, what are the core principles that drive the language forward from it's deepest level. The expressive power of systems built using a language will be limited - and influenced - to a high degree by the choices the language designer makes. Choose wisely. Consider the options before committing as your end users will pay the price of your choices. Full Article...
Extending Encapsulation For Smalltalk
In their OOSPLA presented paper, "Object-oriented Encapsulation for Dynamically Typed Languages", Nathanael Schärli, Andrew P. Black and Stéphane Ducasse write:
"Encapsulation in object-oriented languages has traditionally been based on static type systems.
As a consequence, dynamically-typed languages have only limited support for encapsulation.
This is surprising, considering that encapsulation is one of the most fundamental and important
concepts behind object-oriented programming and that it is essential for writing programs that are
maintainable and reliable, and that remain robust as they evolve."
Full Article...
Openings for the Future of Smalltalk
I invite you to communicate your vision for a future of Smalltalk. Take advantage of the openings created by all of those who are evolving Smalltalk and contribute your values to a shared vision. I, and others, invite you to participate with any of the existing Smalltalk versions and extension projects that are taking place and make a difference. If you so choose, create your own version of Smalltalk. There is an opening for you in the future of Smalltalk. Join in, get active, there is much to be done. If you wish Smalltalk.org will publish your ideas on the future of Smalltalk. Let us know what they are, write an article, write an email that encapsulates your vision. Let's shape the future of Smalltalk. At his Turning Lecture a month or so ago Alan Kay demonstrated how a meme needs a critical mass to shift the paradigm so that what was once not permitted, what was once crazy, what was once illegal, what was once taboo, what was once only for poets and artists, what was once impossible in the minds of the masses, becomes the reality that has people wondering how it was any other way. Full Article...
Achilles Heal? Tower of Babel? How about Communication?
Birdman's Land writes about what he calls "OO Programming's achilles heal":
"When everyone defines their own objects, then all [Object Oriented programming] does
is bog you down trying to convert between two mismatched items."
This isn't an example of any Achilles Heal of Object Oriented Programming. It's clearly an example of a large complex and convoluted system that has more than one way to represent something, in this above case a menu item. If this is an Achilles Heal then it's in general about programming as it is possible for it to occur with any style of programming (procedural, object oriented, functional, etc...). You can make a mess in any programming system! Central to this issue is that there are multiple ways to represent information and this is especially true in very large information systems regardless of the field. For example, while I was consulting at Fannie Mae thirty plus teams attempted to find out if there was a common definition of a "loan" (Fannie Mae provides loans to Banks and other financial institutions in the USA). What you'd think would be a simple "business domain object" couldn't be more complicated. Full Article...
An Introduction To Smalltalk Via "10000 factorial"
Andy writes
"...until today I haven't come across a programming language which can even represent/work with anything this large "out of the box".
I'm sure there are other languages which can - I just haven't met them."
Then let us introduce you to Smalltalk, which has had out of the box large integers since at least Smalltalk-80 (i.e. 1980). Most Smalltalk versions support unlimited length integers and other numeric wonders such as Fractions. Full Article...
Static Typing Tunnel Vision Can Be Deadly
written by Peter William Lount This article picks up from a discussion on the very real and serious hazards of "static typing" of variables in a life critical computer program and how a "statically typed" variable, of the type "DWORD", overlowed and caused an air traffic control system to fail. "The radio system shutdown, which lasted more than three hours, left 800 planes in the air without contact to air traffic control, and led to at least five cases where planes came too close to one another, [...] Air traffic controllers were reduced to using personal mobile phones to pass on warnings to controllers at other facilities, and watched close calls without being able to alert pilots." Full Article...
Some Basic F-Script Examples
written by Peter William Lount Here are some baic F-Script examples that compare F-Script with Smalltalk. An addendum to the F-Script article The F-Script Smalltalk Extensions. Full Article...
The Squeak Curly Brace Extension to Smalltalk
written by Peter William Lount In general I support extensions to the Smalltalk Language that make sense, that keep the syntax clean, that have - and this is important - multiple overlapping purposes and benefits that provide new capabilities that wouldn't be possible otherwise. If it's just to have a second way to do things then it's generally not needed unless there is some other compelling benefit. For example, Squeak extends Smalltalk to create a short cut for filling Arrays with object instances. It uses "curly braces" surrounding standard Smalltalk expression statements and by doing so it reduces the amount of "verbage" significantly. It's nice in some cases. For example the following produces an Array instance containing four elements ( the four objects seperated by periods within the "curly braces"):
aList := {100. 250 * 10. 'peter'. Point x: 10 y: 20 }.
Full Article...
The F-Script Smalltalk Extensions
written by Peter William Lount
"In Smalltalk we deal with one object at a time. With the F-Script extensions,
we can deal directly with whole lists of objects. I think this goes beyond the
question of providing an alternative syntax to do collect:. Yes, it provides an
alternative syntax to collect: (by removing the need for it), but the important
point is that it does so with a model that allows us to think directly in terms
of whole sets of objects, whereas collect: requires us to think in terms of
"one object at a time" (OOAAT).
Full Article...
Simplicity Makes the Difference
that Makes the Difference
written by Peter William Lount It seems to me that the regular expressions of PERL have a lot of conceptual complexity that can be packed into a tiny space due to PERL's lexical complexity. Not many people will master the ins and outs of all the possible regular expression options offered. ... The point of comparing PERL with Smalltalk is to highight the differences so that we may learn how and why the languages are designed the way they are and operate the way they do. ... The big concept of Smalltalk is message passing bewteen objects. This isn't the way that computation occurs in the vast majority of computer langauges, even many of the ones that claim some object oriented heritage. Full Article...
The Simplicity and Power Comes from the Smalltalk Syntax
written by Peter William Lount
The last few days I've been digging deeper into PERL.
I'm digging into PERL for a couple of reasons one being the shock of seeing the highly complex
"PERL Periodic Table of the Operators" on the weekend. Wow!
Just the sight of this table scares me further away from using PERL since
to master PERL is to master all the complexities of the language syntax grammar in the table!
My clients have better things for me to do with my time and their money!Many language designers place too much complexity into their langauge syntax. Smalltalk was in part born out of Alan Kay's observation that LISP, while having a simple syntax, had too many special forms. If you think about it when you want to implement a language extension to most computer languages you need to convience the language designers, or become one yourself. The process is much simplier when extending a language like Smalltalk where many of the extension dimensions have been shifted from the language syntax BNF to the language class object library. Full Article...
Optimizing Person-time, Not Computer-Time
written by Peter William Lount Active State's David Ascher has this to say about the benefits of Dynamic Languages:
"Optimizing person-time, not computer-time
The driving forces for the creation of each major dynamic language centered on making tasks easier for people, with raw computer performance a secondary concern. As the language implementations have matured, they have enabled programmers to build very efficient software, but that was never their primary focus. Getting the job done fast is typically prioritized above getting the job done so that it runs faster. This approach makes sense when one considers that many programs are run only periodically, and take effectively no time to execute, but can take days, weeks, or months to write. " ... Full Article...
Validations Are Best Done At Runtime With Full Language Symantics, Addendum 1
written by Peter William Lount Ok, Issac Gouy took up the challenge and wrote the Java equilivant of one of the Smalltalk examples. Full Article...
Dynamic Languages Permit and Benefit from Multi-Type Variables
written by Peter William Lount In Type errors in Dynamic Typing "verbat" comments:
"Given that sending a message to nil is an error that can be caught at compile time, and that will save you time, why would you avoid it?"
First off the "nil" object does understand numerous messages so sending it a message isn't an error. In fact "nil" objects play an important role in Smalltalk based programs enabling existance based logic. Full Article...
Validations Are Best Done At Runtime With Full Language Symantics
written by Peter William Lount This article is a rebuttal to comments made about Here's to Dynamic Freedom. Please see the comments after the blog entry Dynamic Freedom. Some people that posted comments possibly didn't grok the article's meaning fully for if they had it would be abundantly clear that when it's necessary runtime class, type and data validations can - and in practice are - performed limiting access to specific pathways throughout a program that is written in Smalltalk. Just in case I wasn't clear in the article I'll expand and reiterate. First let's take care of the most mistaken of perceptions and conclusions created by black and white thinking that says that "type safety" can only be achieved via locked down "typed variables". Full Article...
Here's to Dynamic Freedom!
written by Peter William Lount Defining the types of variables using "static" typing is one of the most limited forms of data validations that are commonly used in programs. As has been pointed out, in languages like C and Java, typed variables are manditory and force you to think about them a lot rather than paying attention to solving your problem. It's a matter of focus. It's a matter of where you spend your time. It's a matter of how valuable your time is. Typing variables takes a similar mental focus and concentration that manual garbage collection requires. One would assume that type inference, the automatic determination of a variable's type, might help, but it also limits the "dynamism" or "range of motion" of what is permitted in the langauge. Typed variable languages have a certain "style" of thinking that aim the programmer in a certain direction of thinking; a direction that's hard to see when one is in it, a direction that is hard to change even when one is aware of it, a direction that leads to the over use of type validations. Full Article...
Dynamic Language Freedom Article Series
Articles in the Dynamic Language Freedom series:
Alan Kay to deliver Turing Lecture at OOPSLA 2004!
ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications. Vancouver, BC, Canada, October 24th - 28th, 2004. Alan Kay won the Turning Award this year for his innovative work inventing the Personal Computer and Smalltalk. In addition to the innovative work that he and his team did at Xerox on Smalltalk, Alan and crew have been busy working on a highly amazing collaborative communications tool, built with Squeak Smalltalk, that is known as Open Croquet. It is likely that Alan will be showing this latest work during his Turing Lecture and otherwise at the OOPSLA conference. A developer release of Open Croquet is expected in September 2004. Full Article...
The Cult of the Complex and Cryptic Stack Up Another Win
written by Peter William Lount In Orwellian compatibility James Robertson points to a current XML specification document and it's incompatibility to it's own previous version. The cult of the cryptic has inserted itself into the inner workings of the XML standards groups. As time has progressed XML has gone from something fairly straightforward to extremely complex for one person to fully understand. The proof? Download all the manuals, print them out and stack them up and you'll see what I mean. Full Article...
Inventing the Future of Collaborative Computing with Zoku
written by Peter William Lount There are many exciting developments in the area of collaborative systems, some that are similar to Croquet's approach and others that take a different approach. Croquet is essentially an emmersive 3D environment built upon objects and peer-to-peer systems. That is a limited - yet compelling - scope for collaborative systems. The Zoku collaborative system, Zoku.com, that I am developing is a loose diverative of the Smalltalk language. The object system is radically evolved to take maximum advantage of a mesh or grid of cheap comodity processors distributed across the net and clustered in one or more locations. The landscape or network-scape (really the "net-scape" but that word is already taken) of the Internet in combination with collaborative computing and communication goals creates the need for a new language. The Zoku language is designed to address the new realities created by the Network. Full Article...
Abstract Syntax Trees Rule!
written by Peter William Lount I must agree with Colin Putney regarding: "Essential Code Implemented" and "Essential Code". Thanks for your post, "The next coding revolution?", James. I've taken this Abstract Syntax/Parse Tree approach in the Zoku variant of Smalltalk. Amoung the many advantages is there are no byte codes. Byte code loose information that the compiler could use to produce better optimized native code. There are also many other advantages. Full Article...
Devoted to complexity? Why?
written by Peter William Lount James Robertson has a post, "In the Church of Complexity", regarding how in "typed" systems complexity creeps. It sends shivers down my spine just looking at that code! Would someone please send in Buffy to slay the complexity beasts. I just don't get why they are so devoted to the need for complexity? Programs, especially ones that do serious amounts of real work (like JPMorgan's Das Kapital or Condor's Rebar Detailing System), are difficult to create at the best of times, so why go and make it harder? Could it be a form of self-flagulation? I just wish I was being sarcastic! Full Article...
The Case for First Class Messages
written by Peter William Lount Patrick Logan wrote
"I am not sure where the line is with Smalltalk. What is programming vs. metaprogramming in Smalltalk?
I don't know. It's Smalltalk all the way down for Smalltalk-80 based systems, until you get to a fairly
thin layer of magic that varies by implementation."
If you are used to special and distinct "meta" grammar and syntax in the languages you are using I can see why you'd be confused where the line is. The line is very clear in Smalltalk. Programming and meta programming in Smalltalk are essentially the same with the differences being which classes you are working with. This is a result of the fact that you use the regular Smalltalk syntax to perform metaprogramming as all the accessible meta data are first class objects. Full Article...
Smalltalk Shell Scripting
written by Tomas Vanak, Providing A European Smalltalk Perspective I'm working on Smalltalk shell scripting. The first version is available for download. The code itself is very short. Full Article...
posted by Peter William Lount "Thomas M. Nies, founder and president of Cincom Systems, one of the world's largest and most experienced software companies, has the distinction of being the longest-serving CEO in the computer industry." Cincom has the distinction of being the only Smalltalk vendor with three, yes three, versions of Smalltalk that they support. Full Article...
posted by Peter William Lount "The Information Technology revolution has had an incredible impact on the ways in which we organize work, educate children, and communicate with each other. However, the full potential of these technologies has yet to be realized. In the latest of a series of conversations involving remarkable thinkers, The Progress Project explores how technology can be used as a tool to promote progress." Full Article...
User Interface Design: Avoiding the Lack of Design in Your User Interface
written by Peter William Lount "Whenever we user our computers or other electonic gadgets we are using a user interface of some sort. User Interfaces are our link to our machines, our way of communicating what we want the machine to do. Our ability to control, use, manipulate, and benefit from software applications is directly dependent upon the qualities of its particular user interfaces. Unfortunetly, more often than not these user interfaces are a problem for users in that they are difficult to understand, they are not consistent with "user interface standards", they let the user perform invalid application functions, lock the user into "limited modes" that restrict choices or they contain design errors that prevent the user for operating the application. Whatever the problem a particular interface has its user is the one who suffers with extra work, frustration, ineffectiveness, lost productivity and even anger. Ultimately the software authors also suffer." Full Article...
posted by Peter William Lount Since the 1960s, Donald Knuth has been writing the sacred text of computer programming. He's a little behind schedule, but he has an excuse: he took time out to reinvent digitial typography. When you write about Donald Knuth, it's natural to sound scriptural. For nearly 40 years, the now-retired Stanford University professor has been writing the gospel of computer science, an epic called The Art of Computer Programming. The first three volumes already constitute the Good Book for advanced software devotees, selling a million copies around the world in a dozen languages. His approach to code permeates the software culture. Full Article...
posted by Peter William Lount "Tools for Thought is an exercise in retrospective futurism; that is, I wrote it in the early 1980s, attempting to look at what the mid 1990s would be like. My odyssey started when I discovered Xerox PARC and Doug Engelbart and realized that all the journalists who had descended upon Silicon Valley were missing the real story." Full Article...
posted by Peter William Lount A Disney Fellow and Vice President of Research and Development at Walt Disney Imagineering, Alan Kay is best known for the idea of personal computing, the conception of the intimate laptop computer and the inventions of the now ubiquitous overlapping-window interface and modern object-oriented programming. Full Article...
A Brief Introduction to Smalltalk
written by Peter William Lount The simplicity, effectiveness and elegance of Smalltalk comes from it's simple yet highly expressive syntax and the design of it's various libraries of 'objects'. Smalltalk was the first, and remains one of the few, pure object systems, which simply means that everything in a Smalltalk program is an object. Smalltalk is generally recognized as the second Object Programming Language and the first true Integrated Development Environment (IDE). All of these have important benefits. Full Article...
Why Fear, Uncertainty and Doubt?
written by Peter William Lount I have seen Smalltalk progress for almost 20 years of it's thirty year life and I mostly like what I see. I've used all kinds of other systems and I like the ability of Smalltalk to flex, bend, and reshape itself. I can express my thoughts in this language without the clutter of extra "gunk" to type. I am making Smalltalk into a system that I and my clients can use for the next 20, 30 or 50 years. It might not look the same as the Smalltalk you know today but it will have what is needed to get certain jobs done. Full Article...
Copyright 1999-2009 by Smalltalk.org, All Rights Reserved.
|
March 13 2010 Costa Rica El Salvador Guatemala Honduras Panama Central America
lingoize.me
naturally with ease aiming for fluid fluency. |