我知道这是一个非常晚的回复,但我不得不说。
这是一种华丽的语言。它是您尝试的语言之一,如果您 /get/ 它,您将被包装。我已经将它用于公司的一个非常严肃和关键的内部产品,它的服务令人钦佩。我称它为我最喜欢的语言;当用于正确的任务时,它使用起来很有趣并且非常高效。
我的第一个好奇心/如果它有效的话可能有用的项目是从 F77 到 C 的翻译。我的第一次剪辑是废话且缓慢,一段时间后我的第二次尝试更甜蜜和快速 - 那是我真的开始正确地利用字符串扫描。我从未完成这个久违的项目,因为它变得无关紧要;我不再与一些工程师合作,他们一直试图让我相信 FORTRAN 很好。
很明显,像 Larry Wall 和 Guido van Rossum 这样的人都知道 Icon 和 Unicon。他们知道多少我不能说,但我敢打赌,因为他们似乎是语言疯子。正在感受到影响。 Icon 和 Unicon 有点像音乐界的 Velvet Underground 或 Captain Beefheart;它远非主流,但知情人士了解他们并受到强烈影响。
顺便说一句,与 VU 或 Beefheart 不同,(Un)Icon 并没有得到它的优点,因为它对普通人来说太难处理了,所以这个类比在这方面很糟糕......事实上,语法和它的所有功能都非常干净,令人赏心悦目。与帕斯卡的任何相似之处都是肤浅的。语法在未经训练的人看来确实像 Pascal,但在行为上却大相径庭。
它适合哪里?它不会与 C 竞争硬核高性能编码,但这就像大多数语言一样,当纯粹的 CPU 性能是唯一的解决方案时,它们无法击败 C。它比不上 Perl 在 CPAN 中的大量库集合,但这可能是 Perl 中唯一能吸引它的东西!地狱,如果你想要 CPAN 提供的东西,重写并将其捐赠给 Unicon 存储库。它没有像 Java 的安全模型那样的东西,但这就像大多数其他语言一样。您现在可能明白了。
我从 Icon 开始,几年后转到 Unicon,这是如今的主要活动。 Icon 一直保持“稳定、干净和完整”。 Unicon 汇集了一堆扩展,并将其变成了一个有凝聚力的项目。最重要的是更好地覆盖标准 O/S 调用,以及完整的鸭式 OO 系统。
Unicon 的 OO 甚至支持循环继承,更不用说 MI!这主要是为了大脑-f**k,但也因为它被证明是可行的。当然,任何明智的程序员通常都不应该变得那么愚蠢,除非他们真的在数学(例如 Polar
首先要回答这个简单的问题,是的,它是编译的,但是是一种 PCODE,然后由虚拟机执行。构建的可执行文件有一个 hash-bang 标头,因此它们可以直接执行。在 Windows 上,它们有一个 .EXE 标头(或者是 .COM?),因此它们也可以直接执行。不用说,这些在 Unix 和 Windows 之间是不可移植的,尽管 Powershell 可能能够做一些事情来允许 Unix 可执行文件直接在 Windows 上运行。实际上,编译步骤非常快,并且由普通的 makefile 处理。 Unicon 也有一个 quick-n-dirty compile-n-run 步骤来解决问题,但任何项目都最好使用 make 阶段。
网络功能是 Unicon 的一部分。 Icon 长期以来一直可以使用便携式图形库,它也是 Unicon 的一部分。垃圾收集是给定的,因为它是一种非常高级的语言。
两个最重要的独特功能是它的生成器和字符串扫描。我不会涉及这些 - 最好下载并通过教程播放直到它沉入其中。一旦生成器可用于一种语言,字符串扫描就会很好地工作。我不认为没有它,字符串扫描就不能这么巧妙地工作。再一次,玩到有意义为止。它是使用正则表达式的一个非常有趣且强大的替代方法,它是我工作的关键部分。
生成器是任何一种新的语言都需要使用的东西。它不在雷达上的事实是恕我直言的悲剧。如果我要认真坐下来梦想制作下一个流行的开源语言,这将是核心的一部分。但谁有时间?我有账单要付。
2012 年以后的最新版本现在具有真正的多线程,并且在我写这篇文章时可能很稳定。
如今,Unicon 中的 Windows 版本基本上是最新的。 Windows 构建已经整理好,我已经成功地将我的主要项目放到了 Windows 上,除了不得不使用 Windows 的明显悲伤之外,我几乎没有任何悲伤。