Todor Todorov has created a new project called "IronSmalltalk" on CodePlex to be able to run Smalltalk on the DLR (Dynamic Language runtime).
Hat tip to James.
Thursday, October 27, 2011
Malleable Tools
Martin Fowler talks about Aarhus 2011 conference and the Moose presentation (which is written in Pharo Smalltalk):
Moose is written in Smalltalk, and that same philosophy came through strongly in Tudor's talk - quickly allowing you to build first class features into the tool by implementing new functions in a matter of minutes.
Such malleable tools haven't caught on that much. They do require an eagerness from the user to learn how to make the tool truly sing, but this effort comes with the reward of a tool that can truly be tailored to an individual's needs.
Tuesday, October 25, 2011
Dart to JavaScript compiler
There is a new (experimental) self-hosting Dart to JavaScript compiler available.
Monday, October 24, 2011
Tools like Wireshark
I like tools - especially usefull ones like Wireshark.
Once Philippe recommended it on the seaside list:
"Use wireshark to inspect at what actually went over the wire"
and yes - it already helped me keep the control!
Once Philippe recommended it on the seaside list:
"Use wireshark to inspect at what actually went over the wire"
and yes - it already helped me keep the control!
Browser Building
There is a new video available showing you how easily you can build new browsers using Glamour.
Thursday, October 20, 2011
Wednesday, October 19, 2011
JDart - Dart on the JVM
Would you like to run the new Dart language on the JVM - then look at JDart.
Tuesday, October 18, 2011
Parallel Computing with Smalltalk
David Ungar gives a talk on Parallel Computing. He is doing research with
Smalltalk within the Renaissance project at IBM. They use a modified
Squeak Smalltalk system that runs on the 64-core Tilera chip.
Smalltalk within the Renaissance project at IBM. They use a modified
Squeak Smalltalk system that runs on the 64-core Tilera chip.
CogDroid Updates
Dimitry has some more infos on CogDroid - beside the ARM devices there is now also Android-x86 support available.
Language of Languages
Jamie Douglass, Ralph Johnson and Nick Chen work on an experimental language workbench called Language of Languages (LoLs) that focuses on unifying concepts (meta-models) across different notations.
Read the announcement here or visit the new website http://www.languageoflanguages.org.
Read the announcement here or visit the new website http://www.languageoflanguages.org.
Monday, October 17, 2011
Hydrodynamics Simulation Environment in Smalltalk
Smalltalk is a nice environment for creating simulations - especially since the results can interactively explored. There is a new project on Squeaksource implementing an Hydrodynamics Simulation Environment. Check out the class side of class HGSimulator for a few examples.
Friday, October 14, 2011
JQuery Mobile for Seaside
Nick provides a new framework for Seaside and JQueryMobile integration.
You can read more here and try it here.
You can read more here and try it here.
Tuesday, October 11, 2011
Kaliningrad: Developing with Amber, Seaside and Monticello
If you want to combine the client side Amber with the server side Seaside framework and Monticello then look at the new Kaliningrad project.
Monday, October 10, 2011
Dart Language
First infos on Dart appear on the radar: http://www.dartlang.org
You can also try it right in your browser: http://try-dart-lang.appspot.com
Also the language spec.
You can also try it right in your browser: http://try-dart-lang.appspot.com
Also the language spec.
Thursday, October 06, 2011
S8 - Smalltalk on Googles V8 JavaScript engine
Looks like Alejandro F. Reimondo implemented S8 - a Smalltalk platform written on top of Googles V8 JavaScript engine (which is written in C++).
Smalltalk Stammtisch Zürich
There is another Smalltalk Stammtisch Zürich on Tuesday, September 27, 2011. Read more.
Dart/Smalltalk and dynamic object environments
I'm very interested what Dart (the new Google programming language) is all about. Why? Let me explain:
We have seen many new languages in the last few years (from Java, C#, Ruby, Scala, Clojure, Go, ...) - most of them with old and known concepts mixed with different syntax. But nothing really new. I tried nearly all of them but nothing hit me like Smalltalk did back when I understood all of its concepts.
To me Smalltalk is still outstanding since it is not only a language - it's language is only mapped to "the dynamic object system" underneath that the Smalltalk runtime provides. And having such a dynamic object system is the key factor in programming.
Many people are "blind" and dont see this since they compare languages by syntax or features or check if a language is highly ranked in silly comparisions like the TIOBE index. IMHO one of the reasons why Smalltalk is so poorly ranked is that Smalltalk (if seen as a programming language) maps to objects and messages - thats not what people know from other languages and if they look at Smalltalk code this is not what the usual programmer would expect regarding syntax.
Smalltalk is too different here. In a "3 + 4" expression the plus is not an operator - its a message. 3 and 4 are not treated equally - 3 is the receiver and 4 is the argument. Its also different regarding control structures. You dont need a keyword for a "while" loop in Smalltalk - you just need a message. If you dont have a "repeat until" construct you can easily implement it just by adding a message #repeatUntil: to BlockClosure taking a block as argument, ...
But there is this expectation among programmers to learn new keywords and syntax rules with any new programming language. This is how most books teaching programming languages start: learn the keywords, then language control structures and then start coding.
There is also this expectation to use nice wizards to create new classes or writing source code in text files followed by a compiler step.
Smalltalk is different: here you only need six keywords or just send a message to a class to tell the system that you want to create a new subclass of it. So anything is an object and understands messages - even classes and block/closures. Anything is changeable, anytime - even at runtime.
So Smalltalk as "a dynamic object system" is superior - and will continue to be so - since a dynamic environment is easy to change (even the language built on top). If you want you can even cleanly blend in different other more mainstream languages into this dynamic system. You can even make a snapshot of this virtual object system (an image file) and continue with your program or debugging session the next day.
Our world is a dynamic system too - full of objects. Thats why Smalltalk is very close in bringing real world concepts to machines and computing.
But even Smalltalk systems have to be enhanced - there is so much power in the meta facilities of these dynamic environments and Smalltalk still doesn use all of its power here. Meta informations usually are used for IDE tools - but if extended they can allow you to build applications nearly automatically (maybe more on this in another post). This is the field where Smalltalkers have to learn and catch up.
And what about Dart? The people behind Dart know that Smalltalk is not only a language, they worked with the underlying dynamic object system and understand it down to the bare metal. If they have reused and transfer this know how and knowledge correctly into the design of Dart then this new programming language is a chance to again bring dynamic object systems into the focus and raise programmers attention.
So will Dart just be "yet another language" with new books teaching you yet another new syntax or will it be a real step towards more dynamic adoptable and flexible runtime systems?
We will see next week...
We have seen many new languages in the last few years (from Java, C#, Ruby, Scala, Clojure, Go, ...) - most of them with old and known concepts mixed with different syntax. But nothing really new. I tried nearly all of them but nothing hit me like Smalltalk did back when I understood all of its concepts.
To me Smalltalk is still outstanding since it is not only a language - it's language is only mapped to "the dynamic object system" underneath that the Smalltalk runtime provides. And having such a dynamic object system is the key factor in programming.
Many people are "blind" and dont see this since they compare languages by syntax or features or check if a language is highly ranked in silly comparisions like the TIOBE index. IMHO one of the reasons why Smalltalk is so poorly ranked is that Smalltalk (if seen as a programming language) maps to objects and messages - thats not what people know from other languages and if they look at Smalltalk code this is not what the usual programmer would expect regarding syntax.
Smalltalk is too different here. In a "3 + 4" expression the plus is not an operator - its a message. 3 and 4 are not treated equally - 3 is the receiver and 4 is the argument. Its also different regarding control structures. You dont need a keyword for a "while" loop in Smalltalk - you just need a message. If you dont have a "repeat until" construct you can easily implement it just by adding a message #repeatUntil: to BlockClosure taking a block as argument, ...
But there is this expectation among programmers to learn new keywords and syntax rules with any new programming language. This is how most books teaching programming languages start: learn the keywords, then language control structures and then start coding.
There is also this expectation to use nice wizards to create new classes or writing source code in text files followed by a compiler step.
Smalltalk is different: here you only need six keywords or just send a message to a class to tell the system that you want to create a new subclass of it. So anything is an object and understands messages - even classes and block/closures. Anything is changeable, anytime - even at runtime.
So Smalltalk as "a dynamic object system" is superior - and will continue to be so - since a dynamic environment is easy to change (even the language built on top). If you want you can even cleanly blend in different other more mainstream languages into this dynamic system. You can even make a snapshot of this virtual object system (an image file) and continue with your program or debugging session the next day.
Our world is a dynamic system too - full of objects. Thats why Smalltalk is very close in bringing real world concepts to machines and computing.
But even Smalltalk systems have to be enhanced - there is so much power in the meta facilities of these dynamic environments and Smalltalk still doesn use all of its power here. Meta informations usually are used for IDE tools - but if extended they can allow you to build applications nearly automatically (maybe more on this in another post). This is the field where Smalltalkers have to learn and catch up.
And what about Dart? The people behind Dart know that Smalltalk is not only a language, they worked with the underlying dynamic object system and understand it down to the bare metal. If they have reused and transfer this know how and knowledge correctly into the design of Dart then this new programming language is a chance to again bring dynamic object systems into the focus and raise programmers attention.
So will Dart just be "yet another language" with new books teaching you yet another new syntax or will it be a real step towards more dynamic adoptable and flexible runtime systems?
We will see next week...
Tuesday, October 04, 2011
Running Dolphin app on Mac
As I reported earlier there is some help if you want to run your windows application written in Dolphin Smalltalk also on Mac.
Now there is a new blog post that explains all this in detail.
Now there is a new blog post that explains all this in detail.