最近我在寻找图标(图形),但是我看到了一个非常有趣的链接,那就是一种叫做Icon的语言,然后我想知道:
- 这里有没有人尝试过使用Icon进行开发?
- 它是编译型语言还是解释型语言?
- 这种语言的优缺点是什么?
- 在哪些领域它比其他语言更好(垃圾回收...)?
最近我在寻找图标(图形),但是我看到了一个非常有趣的链接,那就是一种叫做Icon的语言,然后我想知道:
这里是否有人已经尝试使用Icon进行开发?
可能有,但它主要是一种在大学中使用的教育语言
这是一种编译语言还是解释语言?
这是一种编译语言
这种语言的优缺点是什么?
它是一种非常高级的编程语言,据说在字符串和更高层次的结构方面非常好,但Icon的许多新颖之处已经出现在其他语言中。你不能真正把这种语言看作是什么科学,虽然它擅长处理图形和字符串
在哪些方面它比其他语言更好(垃圾回收...)?
Icon很难用另一种语言替代,因为它相当独特。垃圾回收不是你需要担心的事情,但如果你今天使用Java、C#、Rebol或Ruby进行编程,那么Icon可能是一个不错的中断,但可能不会取代你当前流行的语言
我一直使用Icon,似乎已经很长时间了,现在仍在使用。它是“Snobol”和Snobol的继承者Spitbol(“Snobol的快速实现”)的后继者。它具有类似于Algol的语法(与C和许多其他变体一样),并通过其自己独特的语法支持内置的“魔术内存”(哈希表)。你可能以前在Icon中看到的许多内容现在出现在其他地方。例如,在Icon中,abc [“xyz”]是哈希索引到哈希表(在Icon中是“table”)中的一个键为xyz的abc,而Javascript具有类似的语法对象属性引用。它还具有内置列表、协程、递归(每种像样的语言都有递归)、任意大小的整数和字符串解析,通过替代备份 - 这可能是语言中最强大和有用的部分。我今天使用它来替换需要进行密集的字符串/哈希处理的shell脚本。多年前,在以前的生活中,我编写了一个与Oracle接口的C语言插件。它确实缺少PHP或Python或标准C库中内置的各种函数。但是,我猜对于我所做过的绝大多数编码,它们也不是必需的。它编码快速且易于阅读。与任何其他语言一样,当编程需要时,你选择它。我记得Icon中的另一个有趣的程序是将Ingress风格的SQL简单转换为Oracle的程序。甚至可以将其用于CGI编程。当需求和能力匹配时,它编程快速、易于使用,而且信不信由你,使用起来很有趣。多年来它没有被扩展(除了Unicon),但ksh(或类似bash)也没有。
这里讨论了 - http://lambda-the-ultimate.org/node/136
unicon是更受欢迎的扩展实现(它是icon的分支,得到了更好的支持并且有对象) - http://unicon.sourceforge.net/index.html
我没有使用过它,但我知道它有相当长的历史 - 它从未变得非常流行,但它使用生成器的方式影响了像Python这样的语言。
另请参阅
unicon 包括 icon 和 unicon 语言的解释器和编译器 - http://unicon.org/utr/utr11.html
此外,它在字符串处理方面特别好。