There is a lot of hype surrounding JavaScript.

Years ago Google started the developing of V8, a super Just in time compiler for its Chrome Browser.

The V8 compiler revamped competition: Microsoft and Mozilla foundation strike back optimizing their JavaScript interpreters.

On these days, a strong community is growing using Node.js, a web server “Evented I/O [Web application server] for V8 JavaScript“. Node.js sposts a non-blocking architecture which can lead to very fast server, able to process a lot of request with a single thread.

A quick peek on the people now. Lars Bak is the leader of the V8 project. It has worked on the design of Self and on the HotSpot JIT.  Lars Bak also co authored “Mixin in StrongTalk”.

So a lot of the optimization which let  Smalltalk and Java shine, are used in the JavaScript field nowadays. It is a simple “accident” 🙂 ?…or it is destiny?

JavaScript rocks? There is plenty of documentation all around, even if the first ECMA specification was quite unreadable in my humble opinion 🙂 There are some optimal guidelines for JavaScript module writing, for instance see the manuals on JQuery plugin development. But in JavaScript you are still a free player if you wish: no rule, no even need of structuring your code in some way:

var sith={}

sith.name=”DarthVader”;

sith.name=function(){
return “Nevermind, I am a function, now”;
}

The code above builds a very generic object, and add to it properties (which could be a function).

Worst, you get very strange things, evaluting:

[1,2]+[3,4]

you got:

“1,23,4”

This because “+” is not supported for arrays, so the JavaScript  language is effectively doing…

([1,2]+””)+[3,4]

I like dynamic languages like Self, but this is somewhat too…flexible 🙂

And last but not least JavaScript lacks a true integrated developement environment, even if here we smalltalkers could help a bit 🙂

So, SmallTalk2012 is not this version of JavaScript, at least not yet; JavaScript Harmony specification is working hard trying to polishing the language…As usual, the better way to predict the future is to …invent it… So let’s give Harmony a chance!

Dan Ingalls has released JSqueak, a Squeak interpreter written in Java. 

JSqueak (formerly known as Potato) is less than 5000 lines of code, available under the MIT licence. It runs the Mini2.1 image, which is included for convenience. This image contains a complete Smalltalk development environment, including:

  • Rich text and Text editor
  • File browser (no file access in VM yet)
  • Code browser
  • Decompiler (plus temp-name hints)
  • Compiler
  • Source Code Debugger

Dan wrote JSqueak to teach himself NetBeans and Java in the fall of 2006. Although he developed it as a throw-away project, he notes that

it has features that recommend it for further useful service:

  • It is simple
    • Uses Java objects and storage management
    • Uses Java Integers for SmallIntegers
  • It is general
    • A weak(*) object table enables enumeration and mutation
  • It is efficient
    • Includes a method cache and an at-cache (**)
    • Also a cache of common SmallIntegers
  • (*) – This does not mean wimpy — it’s a good sturdy object table — it just doesn’t hold onto garbage.
    (**) – This is not an automated teller machine, but a device that speeds up array and stream access.

These properties make it a reasonable base for teaching about VM design.

Dan adds that a number of things should be finished or improved if this VM is to see further use – it currently runs between 10 and 30 times slower than the C-based VM! If you wish to track or contribute to such projects, he invites you to add yourself to the (brand new!) JSqueak Interest mailing list.

You can find out more, and run the application as a WebStart Java Application at the JSqueak home page.

Randal L. Schwartz writes that:

“Dan Ingalls graciously granted me a 90-minute interview for my FLOSS “Weekly”
show.  We talked about the early days at Xerox PARC, the birth of Squeak,
and the Lively Kernel.”  

Dan Ingalls has been the principal architect of five generations of Smalltalk environments. He designed the byte-coded virtual machine that made Smalltalk practical in 1976. He also invented BitBlt, the general-purpose graphical operation that underlies most bitmap graphics systems today, as well as pop-up menus. He has received the ACM Grace Hopper Award for Outstanding Young Scientist, and the ACM Software Systems Award.

Dan’s major contributions to the Squeak system include the original concept of a Smalltalk written in itself and made portable and efficient by a Smalltalk-to-C translator. He also designed the generalizations of BitBlt to arbitrary color depth, with built-in scaling, rotation, and anti-aliasing. He worked with John Maloney to produce much of Squeak’s Morphic and MVC frameworks, as well as its audio support. Dan is currently a member of the Squeak Board.

Dan is a Distinguished Engineer at Sun Microsystems where he is working on the Lively kernel project, a new kernel for JavaScript that will offer the reflective capabilities needed for proper development support, as well as in-browser support for other high-level languages.

You can listen to the interview online or download it at http://twit.tv/floss29.

[Pop-Quiz: In which language is Dan more comfortable: C++ or Visual Basic?]

Dan Ingalls gave an interesting Tech Talk on the Lively kernel (best viewed in Safari 3 apparently) at Google a few weeks ago – what better way to (re)introduce our new board member?

Gaylord Opryland

Hi all Squeakers!

Ok, the Squeak Foundation Board Election 2008 ended 19 minutes ago –
promptly at 18.00 UTC, 8 March.

For this year we had 437 authorized voters of which 178 voted, that is
slightly more than 40% voting – a bit disappointing IMHO since we had
157 voting of 347 last year which gives above 45%.
On the other hand 178 is more than 157, so we had more voters and thus a
growing community, which of course is the most important aspect!

And without further ado I bring you the board for the following year
starting from NOW. The order reflects the ranking from the election:

1. Dan Ingalls
2. Craig Latta
3. Bert Freudenberg
4. Yoshiki Ohshima
5. Tim Rowledge
6. Randal L. Schwartz
7. Igor Stasenko

Read the rest of this entry »

Babe Ruth

Don’t Miss Dan Ingalls’ Talk about the Lively Kernel! It’s Squeak on steroids! Ok not steroids (considering everything that going on with baseball), but it is Squeak on JavaScript!

Details below:

Read the rest of this entry »

Argentina Smalltalk 2007

From Hernan Wilkinson:

Hi,

I just wanted to let you know that the Smalltalks 2007 presentations are available at https://www.dc.uba.ar/events/smalltalks/2007/presentaciones
Most of them are in English although not all.
You can look some pictures at http://picasaweb.google.com/smalltalks2007 and http://picasaweb.google.com/WeybridgeWay/1erCongresoArgentinoDeSmalltalk

I wanted to give a public “Thanks” to ESUG for their support (DVD, book, ideas, etc), Viewpoints, Dan Ingalls, James Robertson, John Sarkela and Bruce Badger for the videos. Stef and Noury sent me something to read but finally I did not have the time to do it (sorry). Also, to all the sponsors that helped us with the conference.

Below are some comments we got in the Argentine Smalltalk lists (first in Spanish and then in English, translated by Andres Valloud).
It is very hard for me to find the right words to express how happy we are with the outcome of the conference, not only for the amount of people that came but also for their kindness and technical level of the presentations. Thanks to all.

Hernan
Read the rest of this entry »

https://i0.wp.com/www.mathgamehouse.com/mt/insider/brucehorn/xerox-paloalto.jpg

Some Microsoft EX-exec’s sue Red Hat for patent infringement. How “EX” you say? Well the last one arrived Oct 1st. The patent is for a windowed GUI. Hummm that’s a good one. Wait didn’t Dan do that?

Smalltalk to the rescue?? Help is on the way!

Squeak in JavaScript

Dan Ingalls working at Sun Labs has just released their first version of Morphic implemented completely with JavaScript which they are calling the Lively Kernel. There is no plugin required, but your browser currently must support SVG. You should use your Safari browser for best results. It will work with Firefox but you should expect bugs. It does not work with Internet Explorer yet.

Point your supported browser here to see this exciting work! Great Job to the team at Sun, Dan Ingalls, Tommi Mikkonen, Krzysztof Palacz, and Antero Taivalsaari.