Sunday, November 7, 2010

CUIS Smalltalk

Here is a link to another fork off Squeak Smalltalk: CUIS

Quote:
Cuis is a free Smalltalk-80 environment derived from Squeak (www.squeak.org). Its main features are being simple and powerful. It is also very portable, fast and efficient. This means it can is a great tool for running on any hardware, ranging from supercomputers to tablets and smart phones like a CEO's business phone, and everything in between, including regular PCs.


Objective:
  sustain the likelihood  of continuing to understand an evolving complex system by requiring continued evolution towards simplicity
  See: Dan Ingals

Seaside web code browser at code.google

Here is a Seaside Code Browser project at code.google.com/p/smalltalklabsbrowser

For a Pharo one-click Seaside development environment, visit seaside.st

iTunes - Cincom VisualWorks Smalltalk COM interface

I had thought that the Dolphin Smalltalk demo of interfacing Smalltalk to iTunes was cool: but check out this short demo with its video demo on YouTube.

Pharo Smalltalk for Seaside on Windows, Mac and Linux

James Robertson of Cincom has a Pharo Smalltalk introduction on YouTube.

If you know JavaScript and ruby but never learned to work in a Smalltalk environment, this video is just one of a starter series called "Smalltalk For You".

And if you are taken with Pharo, you an go to their pages at code.google.com/p/pharo or start with Smalltalk Television.

Both Cincom Smalltalk and Pharo have taken to Seaside for Smalltalk.

The Pharo Smalltalk branch of Squeak Smalltalk requires itself to support the Seaside web development framework while focusing on Traits as an abstraction mechanism for programming to interfaces without deep inheritance subclassing.  With the advent of the Roar multi-core VM for Squeak Smalltalk, this should be an alternative to Scala.

For daily Smalltalk podcasts on Cincom Smalltalk and their variant development using the Seaside framework, see Cincom Smalltalk on Web Velocity.

For an alternative using Seaside, see Sea Breeze: YouTube has these links.

F-Script sorta Smalltalk Mac OSX Cocoa object scripting

This is just too cool - Smalltalk scripting for Cocoa objects on Mac OSX: F-Script

Here is a YouTube intro by Cincom's James Robertson in his series "Smalltalk for you"

Saturday, November 6, 2010

PET Deception and deep subjectivity in science

Perhaps more interesting than PET scans and the intent to engender a view of oneself in the perceptions of others, would be PET scans and persons in partisan conflict achieving intersubjectivity and a measure of humility and some genuine interest in understanding the others and feeling understood oneself.

The effort to understand, the effort to be understood and the distance that always remains.

And here I thought that intersubjectivity and friction was not amenable to Galilean experiment.

Mars: "If two irregular marbles named Phobos and Deimos are rolling down a smooth inclined plane and one feels dissed by the other, will the experimenter take note?"

Venus: "It depends on whether she is observing with a suitable spyglass."

Friday, November 5, 2010

Seven Languages and a few questions

Pragmatic Programmer has published Bruce Tate's Seven Languages.  I have some reservations.

The languages are Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby.  Looks cool.  But look again.

Clojure is something of a Lisp reincarnate.  Io and Ruby are botrh Smalltalk in another guise: Ruby is Smalltalk in files à la Perl; Dekorte's Io is Smalltalk-2 (Self) + actor (but not morphic - for which see one brand of Squeak Smalltalk.)

Erlang is best understood as Prolog reduced.  So what would have been beyond 1974 Prolog? Oz.  Or Mercury.  Or XSB.  Or think outside the box with a chapter on Logtalk instead.

Scala Traits come from Squeak Smalltalk, btw.

I have no quarrel with Haskell being there, though some would argue for OCaml.

But if LISP is not there, what is Prolog doing there?  Why not JESS or Drools instead?  And not a single expression-based language (Rebol, ICON/UNICON ( and now ObjectIcon and Converge) or MIT Curl, the language (ww.curl.com.)

With Ruby there, we at least have a reminder that performance matters - so maybe it should have been JRuby.  But I can imagine how Pythonists might feel incensed.

I would suggest 12 languages in 12 months or 3 languages in 3 months.

Take a moment to look at the comments on the Prolog N-Queens code.  Is Tate claiming that the two files in question are his copyrighted code?  Compare the ICON code for N-Queens and ask whether you wouldn't be better looking there for an alternative language on your shelf.  And Rebol 3 is really starting to take shape over at Rebol.net, Rebol.org and Rebol.com

Most CS folks recall the course in which they were required to do some Prolog.  But would they skip a chapter on JESS or Logtalk?

The real story in Prolog in the past 25 years is constraint resolution, and that can be seen best in Oz.  But the reader will have to use emacs.  Oops.

I don't mean to knock Amzi! Prolog for Eclipse or many of the excellent Prolog projects such as swi-prolog.org (now with UNICODE and constraint-handling rules) but I would argue that what makes SWI interesting is Logtalk - and if there is RDF in the picture, that points to XSB.

Clojure, Haskell, Io, XSB, Scala, Erlang, JESS and JRuby in 8 weeks.  Ok, now I'm more likely to recommend a book.

"Clojure, F#, Io, Oz, Scala, Erlang, and JRuby in 7 months".  Call it "between vacations reading-and-testing-and-coding-and-designing".  And you would have my attention.

And whatever became of Tcl ( it only gave us Tk, Expect, Sqlite and now TclOO.)  Oops.

Oh, and Mercury now generates Erlang in addition to C or Java.

PS
Isn't concurrency coming to UNICON?  Isn't Oz now distributed Oz?  Isn't ObjectIcon at code.google.com/p/objecticon
Oh - right.  The cool factor.  And Smalltalk itself - after giving us so much and then the RefactoringBrowser and then UnitTest and pair-programming and eXtreme Programming and the wiki at c2.com ... is not yet cool again.  Might as well wait for Hermes2 on a non-Linux OS.
Oh - and Rebol is already PEG-equivalent at 300+ Kb core running with a claim to a whole 15 Mb of working memory.  Hmmm.