简体   繁体   English

Smalltalk是Mac OS X的可行开发语言吗?

[英]Is Smalltalk a viable development language for Mac OS X?

Every time I see a discussion on software development, always someone suggests or exalts the qualities of Smalltalk, be it the beautiful language constructs or the better implementation of basically everything. 每当我看到有关软件开发的讨论时,总会有人建议或提升Smalltalk的品质,无论是美丽的语言结构还是基本上所有内容的更好实现。

So I was curious, is anybody developing in Smalltalk? 所以我很好奇,是否有人在Smalltalk开发? can Smalltalk actually be used to develop software on the Mac? Smalltalk实际上可以用来在Mac上开发软件吗? Or what is the target platform for Smalltalk? 或者Smalltalk的目标平台是什么? What is the poster child for this apparently fantastic but unpopular language? 这个看似奇妙但不受欢迎的语言的海报孩子是什么?

Smalltalk isn't really used for GUI application development on the Mac in any major way. Smalltalk并没有真正用于Mac上的GUI应用程序开发。 The only distribution that could produce native apps was Ambrai Smalltalk, and that died in beta AFAIK. 唯一可以生成本机应用程序的发行版是Ambrai Smalltalk,并且在beta AFAIK中死亡。 Squeak is the most popular Smalltalk variant nowadays, but you will be torn limb from limb if you release a Mac OS X app that looks like Squeak. 吱吱声是当今最受欢迎的Smalltalk变种,但是如果你发布一个看起来像Squeak的Mac OS X应用程序,你将会被肢体撕裂。 It's worth checking out if you're interested in learning the language (which is still unique in a lot of ways), but you're probably not going to be developing OS X apps with it. 如果你对学习语言感兴趣(这在许多方面仍然是独一无二的),那么值得一试,但你可能不会用它来开发OS X应用程序。

If you would like something similar, check out MacRuby . 如果您想要类似的东西,请查看MacRuby Ruby is as close as you can get to Smalltalk without actually being Smalltalk — total object orientation, dynamic, 100% message-based, heavy use of blocks, etc. MacRuby is an implementation being developed by Apple specifically for making OS X applications. Ruby尽可能接近Smalltalk而不是Smalltalk - 完全面向对象,动态,100%基于消息,大量使用块等.MacRuby是Apple专为制作OS X应用程序而开发的一种实现。

Mac OS X's native Objective-C is also heavily Smalltalk-inspired (it's basically a big chunk of Smalltalk's object system and syntax bolted onto C), but owing to its extreme C compatibility, it falls a little further from the tree. Mac OS X的原生Objective-C也受到了Smalltalk的启发(它基本上是Smalltalk的一大块对象系统和语法固定在C上),但由于它具有极高的C兼容性,它从树上走得更远。

看看fscript ,它本质上是Objective C的一种类似于小字的语言。

Luis: do you want to do desktop application for Mac ? 路易斯:你想为Mac做桌面应用吗? or you want to program in Mac? 或者你想在Mac上编程? If you want to do a web application for example, you can perfectly use Squeak or Pharo. 例如,如果您想要使用Web应用程序,则可以完美地使用Squeak或Pharo。 If you want to do native mac applications, you should see the Mars project for Squeak: 如果你想做本机mac应用程序,你应该看到Squeak的Mars项目:

http://smallworks.com.ar/productos/Mars http://smallworks.com.ar/productos/Mars

As an example, most of the Pharo users and developers are under Mac. 例如,大多数Pharo用户和开发人员都在Mac下。

http://www.pharo-project.org/home http://www.pharo-project.org/home

download and try it at least for a couple of hours! 下载并尝试至少几个小时!

I still believe that Squeak is well worth investigating, if only to broaden your mind a little. 我仍然相信吱吱声是值得调查的,如果只是为了扩大你的思想。 As for the poster child for Smalltalk, it's probably Seaside . 至于Smalltalk的海报儿童,它可能是Seaside

Squeak isn't its UI. 吱吱声不是它的UI。 You can configure Morphic heavily (look at how similar Pharo's is to OSX, for instance). 您可以大量配置Morphic(例如,查看Pharo与OSX的相似之处)。 Or you can just use native widgets with wxSqueak . 或者你可以使用wxSqueak的原生小部件。

This deserves some attention: 这值得注意:

"Objective-Smalltalk was created specifically to solve practical problems that have been encountered in 25 years of Objective-C and Smalltalk use, but with a theoretical framework that solves many of these problems elegantly and minimally, rather than by bolting on special feature after special feature." “Objective-Smalltalk专门用于解决在25年的Objective-C和Smalltalk使用中遇到的实际问题,但是有一个理论框架可以优雅地和最低限度地解决许多这些问题,而不是通过专门的特殊功能来解决特征。”

http://objective.st/ http://objective.st/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM