admin @ 1:46 am
I love the last paragraph.
Smalltalk on .NET?:
Looks like someone is building a Smalltalk implementation native to .NET - have a look at the Vista Smalltalk blog. This is a great explanation of the value, to my mind:
As internet connectivity improves, we will increasingly be building ad-hoc, highly connected applications. Think of how online games or workgroups might evolve as Peer-to-Peer networking becomes commonplace, or think of how applications aggregating data simultaneously from dozens of webservices might evolve.
We will need a more powerful way of doing programming to build “instant” applications robustly and quickly.
Smalltalk originated in the powerful biological concept of “protected universal cells interacting only through messages that could mimic any desired behavior (Alan Kay)”.
With its simple messaging paradigm and minimal syntax, Smalltalk is probably the best language yet invented for harnessing the increasing potential of the Internet.
(Via James Robertson.)
Tags: smalltalk
admin @ 8:55 pm
I finished the first cut of the sSpec manual. It’s sparse in places and needs some fleshing out. Feedback appreciated.
Tags: bdd smalltalk sspec
admin @ 7:32 pm
Version 0.11 of sSpec just got published. This one has much improved failure messages. Thanks to the folks on the Cincom smalltalk irc channel for their help, especially rh & jarober.
For those without a pub Store account.. get one :) or for now.. here’s the parcel files.
Tags: bdd smalltalk sspec
admin @ 4:05 pm
I want to take a bit of a look back at the mid 1980s… 20 years ago
In the mid 80s I was working as a programmer, using languages like Assembly, C, Pascal, and Fortran. And I was learning OO by studying Smalltalk. OO was hot & new.. and hardly anyone knew it.
Apple was riding high. The Macintosh was just out: the 128K and 512K versions. And I lusted after one. The Mac Plus came out in ‘86.
Fast forward to now… 20 years later, as I said.
Apple is well underway to regaining it’s former glory. The Mac is doing well, quite smoothly undergoing it’s second architectural refactoring. And I very happily have a houseful of macs of various vintages, dating from an SE FDHD through to a Aluminum Powerbook G4.
I still work as a programmer, but more often I work *with* programmers to help them improve there skills & practices.
Now what languages are in use? Well, there’s still C around, but C++ seems to have largely replaced it. Java is the king of the hill. What’s Java? Oh, it’s like a cleaned up C++ with seatbelts & airbags. The new kid on the block is C#, which is a not so nicely cleaned up C++ with seatbelts & airbags. Ruby is taking much of the industry by storm… re-raising the banner of dynamic languages.
And there’s Smalltalk… modern, sophisticated, and up to date compared with it’s predecessor of 20 years ago… but basically the same. You know what they say: quality endures. OO is still hot, not so new, but still hardly anyone really knows it. What do I tell people who want to learn what OO really is? I tell them to learn Smalltalk.
Tags: smalltalk
admin @ 4:04 pm
Some might be wondering about my “new” fascination with Smalltalk, given that all my writing & posting pretty much deals with Java. My involvement with Smalltalk is anything but new. For those that are interested… here’s a summary of my history with Smalltalk.
|
It started, as I suspect it did for many, with the Aug ‘81 issue of Byte magazine (a reasonably good condition copy of which has been on my shelf since I acquired it in the mid-80s). I was heir to a large collection of BYTEs and found that gem (among many others) buried in the pile.
|
I devoured the Smalltalk articles, and immediately started putting the concepts to use in my programming, which at the time was in assembly and C on Apple ][s and early IBM PCs.
In 88 I headed off (belatedly) to University. Acadia University, to be precise, which many of you will know in relation to Ivan Tomek. At one point after I had finished my time there, Ivan taught Smalltalk to freshmen CS students. With administrations changes and such, that bit of enlightenment didn’t last long and afaik it’s been Java for many years now :( .
|
During my first year at Acadia, in “Data Structures and Algorithms” we were using Turbo Pascal. I had my own PC, and bought a copy of TP for use in my dorm room. I kept getting the upgrades and before long version 5.5 came out. It was object oriented!! I immediately began putting into practice all the ideas and concepts that had been gleaned from the BYTE articles. It wasn’t Smalltalk, but it was OO.
|
|
I did several assignments using and learning OO hands on. It was fun times. I progressed to C++ for a while… all the while wanting to have a chance to use Smalltalk.
|
I had my chance at University of Calgary, for my graduate work. I picked up a used Sun 3 workstation and my supervisor got me a copy of ObjectWorks Rel 4. I was in nirvana. Mind you , my understanding of OO was immature at the time, but Smalltalk was everything I could have wanted it to be.
|
While finishing grad school I had a job as a developer in a Smalltalk shop. We used Digitalk Smalltalk/V to develop a line of shrinkwrapped CD-ROM based edutainment products (here’s one example). This was ~ 1994… 4x CD-ROM drives were just coming out, and our target machine was a 386 with 8M of RAM.
A couple of startups later I was again working in Smalltalk (which is what lured me away from the previous job)… VisualWorks this time. Much nicer than Digitalk’s. After a year or so there it was off to the desolate wastes of Java for some time.. with occasional bursts of bliss on my own time with VisualWorks and later Squeak.
Tags: smalltalk
admin @ 3:19 pm
I just pushed version 0.10 of sSpec to the Cincom public store. It includes several small tweaks as well as support for ordering mock expectations.
A first pass at a reference manual is forthcoming shortly.
Tags: bdd smalltalk sspec
admin @ 2:37 pm
As the title says, sSpec is ready to be used. At the moment it’s for VisualWorks only (tested on 7.4 and 7.4.1) and is in the Cincom Public Store Repository. Load the bundle “SSpec”.
Documentation is on the way as well. For starters here’s a quick reference card.
For now most of the information on rspec.rubyforge.org is directly applicable.
Tags: bdd smalltalk sspec
admin @ 12:23 am
sSpec is up & running under VisualWorks!
DO-ITing
TextSpecRunner verbose
runAll: (OrderedCollection
with: SampleContextWithFailingSpec new
with: SampleContext new)
results in the following in the Transcript:
sample context with failing spec
should fail (FAILED 1)
should pass
sample context
should be spec one
should be spec two
2 contexts, 4 specs, 1 failures
0.044 seconds
1) ExpectationNotMetError in ' sample context with failing spec should fail'
should be even
SSpec.ShouldHelper(SSpec.ShouldBase)>>failWithMessage:
The code for the example specs is trivial, for example:
Smalltalk.SSpec defineClass: #SampleContextWithFailingSpec
superclass: #{SSpec.SpecContext}
indexedType: #none
private: false
instanceVariableNames: ''
classInstanceVariableNames: ''
imports: ''
category: 'SSpec-Structural Tests'!
!SSpec.SampleContextWithFailingSpec methodsFor: 'specs'!
shouldFail
5 should be even!
shouldPass
5 should be odd! !
Sure, a few things need tweaking… and there needs to be a gui based runner, ability to debug a failing spec, etc. ( I want to hook into the sUnit browser integration :) )… but the core is up & running nicely. With a builtin rSpec-like Mock framework as well.
Tags: bdd smalltalk sspec
admin @ 9:23 pm
Seaside is the new black: “
More Seaside buzz, from a guy going to OSCON:
Seaside is a somewhat heretical web framework. They generate their HTML. They don’t embrace meaningful URLs. They use Smalltalk, of all things.
Of course, by making these crazy choices, they get insane amounts of power. When we were building Jifty, we stole liberally from everything that had good ideas. We dragged Rails down a dark alley and rifled through its pockets. We grabbed Catalyst’s wallet.
But really, Seaside’s killer features like Continuations and Halos…just stopped me in my tracks. Once we got them into our grubby little perlish hands, I realized: This is the way development is supposed to be.
Come on in, the water’s fine :)
“
(Via Smalltalk Tidbits, Industry Rants.)
Tags: smalltalk
admin @ 10:34 pm
The first modern Smalltalk (according to Alan Kay) was Smalltalk-76… as in 1976. That’s 30 years ago. This is what Steve Jobs & crew saw in ‘79 on their famous visit to PARC.
There is lots of activity in the Smalltalk world at the moment.
The Smalltalk Industry Council is alive and well.
With Smalltalk Solutions being held in Toronto again, there’s some local buzz. Here’s one article in itbusiness.ca.
This article in eWeek on Cincom Smalltalk.
Instantiations has picked up IBM’s VisualAge Smalltalk and are actively developing and promoting it.
Ambrai is well underway with an OS X native Smalltalk system, which looks very promising.
Dr. Dobbs as this article on SeaSide, a web app framework by Avi Bryant et.al.
So, why the fuss about Ruby? Why don’t we just use Smalltalk.. It’s everything Ruby is, and so much more. This train of thought keeps surfacing for me.. maybe it’s time to really follow it through. Sure… I’ll keep using Ruby for knocking out scripts, utilities, and small applications. It’s good for that. But I hope to use Smalltalk for more & more over time.
Tags: smalltalk