因此我很好奇,是否有人在使用Smalltalk进行开发?Smalltalk是否可以用于在Mac上开发软件?或者说Smalltalk的目标平台是什么?这个貌似非常棒但不受欢迎的语言的代表是谁?
Smalltalk在Mac上并没有被广泛用于GUI应用程序的开发。目前唯一能够生成本地应用程序的分发版是Ambrai Smalltalk,但据我所知它还处于测试阶段就死亡了。Squeak现在是最受欢迎的Smalltalk变体,但如果你发布一个看起来像Squeak的Mac OS X应用程序,你将会被撕成碎片。如果你对学习这种语言感兴趣,可以值得一试(因为它在很多方面仍然是独特的),但你可能不会使用它来开发OS X应用程序。
如果你想找一些类似的东西,请查看MacRuby。Ruby是最接近Smalltalk的语言,具有完全的对象导向、动态性、100%的消息传递、大量使用块等特点。MacRuby是由苹果专门为制作OS X应用程序而开发的一个实现。
Mac OS X的本地Objective-C也受到了很大程度的Smalltalk启发(它基本上是把Smalltalk的对象系统和语法大块添加到C上),但由于其极高的C兼容性,它与原始的Smalltalk略有不同。
Luis: 你是想为Mac做桌面应用程序吗?还是想在Mac上编程?如果你想做一个Web应用程序,例如,你可以完美地使用Squeak或Pharo。如果你想做本地的mac应用程序,你应该看看Squeak的Mars项目:
http://smallworks.com.ar/productos/Mars
作为一个例子,大多数Pharo用户和开发者都使用Mac。http://www.pharo-project.org/home
下载并至少试用几个小时!
我仍然相信Squeak值得研究,即使只是为了开阔一下思路。至于Smalltalk的代表人物,可能就是Seaside了。
Squeak不是其用户界面(UI)。你可以对Morphic进行大量配置(例如,看看Pharo的UI与OSX多么相似)。或者,你可以使用wxSqueak来使用本地小部件。