Is Javascript the SmallTalk 2012?
20 September, 2011
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!
20 September, 2011 at 14:00
Dart (http://lambda-the-ultimate.org/node/4355#comment) with its Newspeak connections sounds a more promising approach.
23 September, 2011 at 10:26
I am a bit doubtful on Dart future. As I have already wrote
http://gioorgi.com/2011/is-javascript-a-better-evil-then-dart/
Dart is another new programming language I think we need not.
Ajax is knocking down rich client application (flash or javafx based) because it can run on modern browser without plugins.
So dart could be the “yet another ‘plugin’ ” we couldn’t use in our mobile device 😦
9 October, 2011 at 18:11
How about Newspeak – is that a language we need not?
Here’s a few of Newspeak’s features:
* Late binding = highly dynamic
* Mirror based reflection
* Nested classes
* Language level mixins
* Parametric modules
* Pattern matching
* Keyword based syntax for method names (arity > 2)
* Concurrency through Actors (planned)
* Pluggable types (planned)
* Composable UI framework with native widget mappings
* Web browser like development environment with integrated debugger
* Can compile to Javascript
* Executable grammars
* Push button deployment
* Security based on capabilities provided
The current VM is Smalltalk based, a silicon implementation would be a nice addition to the list.
10 October, 2011 at 08:05
I see newspeak is developed, latest snapshot is of this August. I will give it a try. Anyway, nodejs/jQuery/etc communities are very active on their fields, so I will suggest to keep an eye also on JavaScript evolution…
thank you for pointing me to newspeak!
6 October, 2011 at 13:48
Is Javascript the SmallTalk 2012?
No it is definitely not. Hahahaha … funny.
13 October, 2011 at 19:01
If anything is the new smalltalk it would be factor..
http://factorcode.org it has workspace and interactive debugging that smalltalkers love so much.. Though the language itself is more like a strongly typed mixture of forth and lisp..
14 October, 2011 at 09:04
Factor is also interesting. Anyway what is surprising me is the strong community behind projects like node.js and jQuery. Node.js mailing list is twice active then Scala one, and they are equally “fresh”.
13 October, 2011 at 23:03
[…] was a little suspicious on the new JavaScript wave, I also wrote a small article comparing JavaScript and SmallTalk/Self approach. In that article I was a bit evil on JavaScript, because of my SmallTalkness, I […]
25 October, 2011 at 23:20
“lacks a…IDE”
What about Cloud9?
26 October, 2011 at 20:59
At the meantime Cloud9 is more a service then a true IDE.
I do not know how hard is to install it on a computer not connected to internet. An IDE can work disconnected from the network…
26 October, 2011 at 21:18
git clone git://github.com/ajaxorg/cloud9.git
cd cloud9
bin/cloud9.sh
Done.
1 November, 2011 at 10:51
[…] Is Javascript the SmallTalk 2012? https://news.squeak.org/2011/09/20/is-javascript-the-smalltalk-2012/ […]
26 November, 2011 at 06:14
What about Amber – smalltalk on javascript?
http://www.amber-lang.net
30 November, 2011 at 14:03
Jtalk may well be the future Smalltalk that runs in every browser (even smart phones – all platforms). Likewise Clojurescript may be the future Lisp…
1 December, 2011 at 12:22
Can you point me a link to jtalk? I have tried https://github.com/NicolasPetton/jtalk but it seems deleted (got 404).
1 December, 2011 at 14:03
http://nicolaspetton.github.com/jtalk/
also another one: http://amber-lang.net/
I think a third was started by Dan Ingalls himself, called LivelyKernal or something. While he was at Sun so may have been eaten by the Oracle
2 December, 2011 at 16:29
And Lively Kernel at http://www.lively-kernel.org/list/index.html is very active these days.
27 December, 2011 at 19:08
It is funny to recall that the first application server released by Netscape was actually based on javascript (server side). Nothing new …