Objective-C与Lisp相比有多抽象?

时间:2011-04-23 13:27:30

标签: objective-c lisp

我来自Lisp并希望开发一款Iphone应用程序。我希望听到关于Objective-c如何在抽象方面与Lisp进行比较的其他lisp或python开发,例如闭包,一等函数,宏等等。

1 个答案:

答案 0 :(得分:6)

Objective-C的历史源于SmallTalk,因此,像Lisp一样,很多使语言有用的东西存在于函数(在本例中为类的方法)中,您可以在运行时使用自己的函数覆盖它们代码,可以在运行时向类添加函数。但是,在Objective-C中,底层C从来都不是很远,所以与Lisp不同,你必须担心内存管理等问题,语言显然比程序性更强大。

最近,Objective-C编译器增加了对“块”的支持,即闭包。

当然,Objective-C仍然是一种编译语言,所有能够在Lisp,Python或SmallTalk中找到它的功能都建立在它之上。我可能会得到一些投票,但鉴于你的背景,我认为你会发现Objective-C是用最完整的动态解释语言开发的最接近的东西,你可以用编译语言得到它。 / p>

万一你没有检查过,或者后来有人来阅读这个问题需要它,请看the Wikipedia section on Objective-C syntax

作为一个PS,根据你正在做的事情,你可能也会对像PhoneGap这样的工具感兴趣,这些工具允许你用JavaScript开发iPhone(和其他移动平台),因为JavaScript,尽管它的名字和类似C的语法,你在Lisp中拥有很多权力。