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

Zub*_*air 5 lisp objective-c

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

G G*_*III 7

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

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

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

如果你没有检查过,或者后来有人来阅读这个问题需要它,请查看有关Objective-C语法的Wikipedia部分.

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

  • 如果您在开发iPhone时宁愿继续使用Lisp,请考虑加入[iOS上的ECL](https://github.com/TerjeNorderhaug/ecl-iphone-builder/)项目: (2认同)