"Aura - Fate of the Ages" is a new game developed with the help of
Smalltalk/MT.
Monday, December 27, 2004
TCAR - Tweak Core Architecture Release
Found the TCAR (Tweak Core Architecture Release) on the web. Must have missed the announcement ...
Squeak just with Tweak
Wednesday, December 22, 2004
OOVM/OSVM
The OOVM Resilient from Lars Bak (main architect of the Java HotSpot virtual machine) is renamed to OSVM and is now provided by Esmertec. OSVM is a Smalltalk derivate for building applications for mobile devices.
The OSVM platform is based on a small object-oriented virtual machine, which runs directly on hardware without the need for an operating system. The compactness makes it possible to fit the virtual machine, core libraries, device drivers, TCP/IP networking stack, and user applications in less than 128KB of memory.
Read the product brochure to get more informations.
Looks like the Smalltalk market is constantly growing ...
The OSVM platform is based on a small object-oriented virtual machine, which runs directly on hardware without the need for an operating system. The compactness makes it possible to fit the virtual machine, core libraries, device drivers, TCP/IP networking stack, and user applications in less than 128KB of memory.
Read the product brochure to get more informations.
Looks like the Smalltalk market is constantly growing ...
Ambrai Smalltalk
Ambrai Smalltalk (1.0.5 Beta2) is available - a smalltalk system for
the mac. Read more in the announcement here ....
Click on the image to view a screenshot of their class browser:
the mac. Read more in the announcement here ....
Click on the image to view a screenshot of their class browser:
Tuesday, December 21, 2004
Ant Debugger
Eclipse 3.1 M4 is available. One of the new features is an Ant debugger. Ant is a simplified make tool providing common build commands in XML files.
Living in a Smalltalk world you dont need such a beast. You typically automate builds by just writing Smalltalk classes, methods and expressions. So you dont have to switch the tool and technology and you can use the normal Smalltalk debugger to debug. So you have a completely different Experience then working in Java.
Living in a Smalltalk world you dont need such a beast. You typically automate builds by just writing Smalltalk classes, methods and expressions. So you dont have to switch the tool and technology and you can use the normal Smalltalk debugger to debug. So you have a completely different Experience then working in Java.
Eclipse as Rich Client Platform
Eclipse is slowly moving into the direction of a Rich client platform (RCP). With SWT (Standard widget toolkit) for native UI's, JFace and and an RCP toolkit it provides a nice framework for building applications. Some examples where provided at the EclipseCon 2004.
Tried the RCP framework this weekend and again my conclusion is that the weakest point in Eclipse is Java itself. By the way there is a nice lightweight alternative to RCP called RCPLite.
Tried the RCP framework this weekend and again my conclusion is that the weakest point in Eclipse is Java itself. By the way there is a nice lightweight alternative to RCP called RCPLite.
Monday, December 20, 2004
Squeak DVD
Marcus Denker has assembled a new Squeak DVD.
4GB of Squeak for just $14.95:
http://www.squeak-ev.de/Download/Squeak-DVD/SqueakDVDen/
4GB of Squeak for just $14.95:
http://www.squeak-ev.de/Download/Squeak-DVD/SqueakDVDen/
Refactoring VB code
Refactoring in Smalltalk is very easy, especially since most Smalltalk
systems have a RefactoringBrowser included. Currently doing some work
in VisualBasic I had to refactor some VB code today.
Reorganizing a program in VB is really a pain:
1. you dont have simple browsers to see senders or implementors of
a function/sub (method)
2. there are no refactoring tools (except the text editors "Replace")
3. the VB syntax is not very refactoring friendly
Especially when you rename a function you have to take care to rename
the "return assignments" too. So in
Private Function Foo(aParam As Integer) As String
If aParam = 1 Then
Foo = "one"
Else
Foo = "more"
End If
End Function
"Foo" has to be replaced three times with "Bar"
Private Function Bar(aParam As Integer) As String
If aParam = 1 Then
Bar = "one"
Else
Bar = "more"
End If
End Function
In Smalltalk you just rename the signature of the method and you have
powerfull tools to look at all the senders and implementors. It's time
for BASIC vendors and programmers to look at Smalltalk IDE's.
systems have a RefactoringBrowser included. Currently doing some work
in VisualBasic I had to refactor some VB code today.
Reorganizing a program in VB is really a pain:
1. you dont have simple browsers to see senders or implementors of
a function/sub (method)
2. there are no refactoring tools (except the text editors "Replace")
3. the VB syntax is not very refactoring friendly
Especially when you rename a function you have to take care to rename
the "return assignments" too. So in
Private Function Foo(aParam As Integer) As String
If aParam = 1 Then
Foo = "one"
Else
Foo = "more"
End If
End Function
"Foo" has to be replaced three times with "Bar"
Private Function Bar(aParam As Integer) As String
If aParam = 1 Then
Bar = "one"
Else
Bar = "more"
End If
End Function
In Smalltalk you just rename the signature of the method and you have
powerfull tools to look at all the senders and implementors. It's time
for BASIC vendors and programmers to look at Smalltalk IDE's.
Typos in VB
Coded some stuff in VB today. While programming I had to convert some values from the model into a string representation for the UI. A little bit similar to a #displayString method in Smalltalk. So I wrote this little helper procedure:
Public Function DisplayStringForValue(ByVal vSomeValue As String) As String
If vSomeValue = "" Then
DisplayStringForValue = "..."
Else
DisplayStringForValue = vSomeValue
End If
End Function
Unfortunately I had a little typo and the code looked like this:
Public Function DisplayStringForValue(ByVal vSomeValue As String) As String
If vSomeValue = "" Then
DisplayStringForValue = "..."
End
DisplayStringForValue = vSomeValue
End If
End Function
Do you notice the difference? I was first a little bit confused that my program always stopped when I used the Run button without displaying a form. But after a closer look ...
Unfortunately one has to close an "if" construct with an "end if" in VisualBasic. I havent noticed that I had an "end" instead of an "else", maybe it came exactly from a previously typed "end if".
For the VB compiler this is valid code since there is an "end" statement in Basic. It was sucessfully compiled but the "end" directly stopped my program when running.
So remember: always test and never trust your compiler, especially if you have to work with such a painfull syntax like VB has ...
Public Function DisplayStringForValue(ByVal vSomeValue As String) As String
If vSomeValue = "" Then
DisplayStringForValue = "..."
Else
DisplayStringForValue = vSomeValue
End If
End Function
Unfortunately I had a little typo and the code looked like this:
Public Function DisplayStringForValue(ByVal vSomeValue As String) As String
If vSomeValue = "" Then
DisplayStringForValue = "..."
End
DisplayStringForValue = vSomeValue
End If
End Function
Do you notice the difference? I was first a little bit confused that my program always stopped when I used the Run button without displaying a form. But after a closer look ...
Unfortunately one has to close an "if" construct with an "end if" in VisualBasic. I havent noticed that I had an "end" instead of an "else", maybe it came exactly from a previously typed "end if".
For the VB compiler this is valid code since there is an "end" statement in Basic. It was sucessfully compiled but the "end" directly stopped my program when running.
So remember: always test and never trust your compiler, especially if you have to work with such a painfull syntax like VB has ...