Hacker News new | ask | show | jobs
by kilon 4629 days ago
Well the coding universe is divided into 3 galaxies. The C galaxy that dominates desktop , the Java galaxy and the Javascript galaxy. Of course there are other galaxies too, but I think those 3 dominate currently.

For C libraries you can use Pharo. Pharo has inherited 2 FFIs from Squeak and has implemented 1 additional FFI called Nativeboost which also allows you to inline assembly code for best performance. There is also the extra option of making VM plugin with smalltalk or C code which in turn interface with C libraries.

For Java there is redline smalltalk, but it does not come with the IDE. It can use Java libraries out of the box.

And for Javascript there is amber, it comes with the smalltalk IDE but its still a WIP, so its not as extensive as pharo. It can use javascript libraries out of the box.

Smalltalk is a chameleon , its a language and an IDE made to fit in any case scenario. I think you will have a real hard time proving that its tool best used for specific scenarios, even in cases where OO approach is ideal, smalltalk approach could be ideal because it still has one of the most powerful OO systems plus refactoring tools, plus IDE, plus many nice toys.

Smalltalk is that extremely rare case of software that it makes coding just flow, with no interruptions and no small annoyances. We call this style of coding "Live Coding" and its definetly the biggest reason to try smalltalk and even more try Pharo.

Give a try and register in our mailing list, you will find many people passionate about smalltalk and yet a very welcome atmosphere for beginners.

I am also a recent convert to Pharo from Python. I love Python but I dont miss it. So far Pharo has been very productive , fun and eye opening experience.

You can find more info here -> http://www.pharo-project.org/home

also a forum for the mailing list can be found here -> http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.ht...

3 comments

"Smalltalk is that extremely rare case of software that it makes coding just flow, with no interruptions and no small annoyances. We call this style of coding "Live Coding" and its definetly the biggest reason to try smalltalk and even more try Pharo."

These couple of sentences give the reason that made me persist with Smalltalk (Pharo mostly). For those of you who come from, say Python, Java, C#..., this may be unsettling at first. The way you use the debugger to point you in the right direction and keep working without stopping. It feels all wrong in other, more pedestrian languages.

If any language dominates the desktop it would be c++
I am using TIOBE INDEX as reference. According to TIOBE not only C++ is not even half as popular as C, but its also on a steady decline.

http://www.tiobe.com/index.php/content/paperinfo/tpci/index....

Though I agree "dominates" maybe a bit too heavy of a word to describe the desktop landscape.

You forgot to mention it is also an OS. :)
IMO, it's not an OS, but the living proof that OSes are the wrong approach to computing! :)
I agree with both of you, its more like an "OS inside and OS". However do note here that there is a project to make smalltalk into a true standalone OS called SqueakNOS. Of course I dont think of this as a special feature of Smalltalk, any language could be used to do the same. This is because modern languages come with loads of re factoring tools, GUI APIs and user environments. Smalltalk may have been the first to implement this approach (GUI wise) but no longer the only one.

Its not so much that smalltalk is an OS , but rather that is a Live Coding OS. The ability to hack application while they run, is something that could have a profound effect on user experience. Such features are hard coded to apps themselves and are not considered languages features for all non smalltalk apps.

But with smalltalk is not that you run an OS as much that you can hack any application on the spot , while it runs and see your changes immediately. This happens because smalltalk does not compile source files but rather methods and of course because of the flexibility of the whole system.

Smalltalk is an extremely user friendly environment for users that love to hack the easy way and not get insane in the process.

Niklaus Wirth used his experience with Smalltalk to build the Native Oberon OS.

Where you could get almost a similar experience while using a strong type language, with help of reflection and by having dynamic libraries as the only form of executables.

The System 3 version with its Gadgets toolkit was quite nice.

Sadly another GUI desktop OS that didn't managed to become mainstream.