5

有没有人有学习埃菲尔语言的经验。

Eiffel Studio 和 Visual Studio 一样吗?

这是学习 OOP 的好途径吗?

等等

4

3 回答 3

16

我大约 15 年前学会了这门语言,从不后悔。

Eiffel 与主流语言有点不同,并且具有一些在其他环境中不易获得的机制。从某种意义上说,它比主流更具学术性。

EiffelStudio 环境也采用了一些普通 IDE 中不存在的方法。(例如,它支持类似于 Drag&Drop 的 Pick&Drop 功能,但在拖动所选项目时不需要按住鼠标按钮。)它提供了非常先进的浏览功能,因此在这个意义上它非常接近 Visual Studio。它还具有一些内置工具,例如图表和度量工具,最近添加的 AutoTest 等。您可以查看EiffelStudio 文档以了解其功能。

由于该语言缺乏引入基本类型的技巧,支持多继承和泛型类型,并且从一开始就集成了按合同设计,因此即使您不打算每天使用它,它也非常适合作为 OOP 的学习工具- 以天为单位。为此,我推荐“面向对象的软件构建”,第 2 版。由伯特兰迈耶。它不包括该语言的最新添加,但它确实为整个 OOP 提供了一条很好的途径。

于 2010-05-05T03:16:21.787 回答
2

我认为这是采用 OOP 的最佳途径,因为它非常适合面向对象。我还没有见过一种在面向对象方面如此干净和一致的 oop 语言。因此,学生了解应该如何正确完成它是有益的。

作为一种语言,如果将它与 python、rebol 等脚本语言进行对比,它的重量会更大。最适合您想要保持质量的大型项目。它完全专注于正确的面向对象。(所以你不会看到所有的编程概念,但 OO 是一个主要的范式)它的速度非常好,因为它编译到 C,所以我只指重量级的结构。它促进了迭代开发和深思熟虑的设计,因此这也是一种很好的技术。

您可以阅读Eiffel 教程以获得全面的概述,但请谨慎阅读,因为它是一百页的“教程”。

于 2011-07-03T12:54:59.347 回答
1

实际上,我认为学习 OOP 的学生应该学习最简单的语言,这样他们就更容易在概念上挣扎,而不是语言。我学习了 Java 和 C++。前者没问题,但后者是一场噩梦。Python将是我的建议

关于埃菲尔,我尝试在埃菲尔做博士项目,但遇到了严重的问题。我绝对不建议使用 GUI,因为它几乎没有文档。编译器也非常错误。我一直与他们就完全奇怪的行为保持联系。例如,放置一个打印语句将解决编译时错误!

Eiffel 提供了一些最好的多重继承选项,但即使这样有时也会变成一场噩梦。我记得从多个类继承,这些类都继承自一个主类,然后必须从中SELECT重新定义一个函数,或者必须重新定义RENAME一个函数。

契约式设计是一个很好的补充,变体有助于避免无限循环,但在其他时候,当你进行这样的检查时,你看起来就像个白痴(我的埃菲尔有点生疏了)

foo (something)
    do
        x = x + 1
    ensure
      updated: x == old x + 1

还有其他一些小问题。埃菲尔工作室经常会损坏,您必须删除某些备份文件才能使其正常工作。

于 2011-11-17T21:05:39.473 回答