Python与Ruby的元编程比较

2024-05-28 23:05:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前主要是一个D程序员,希望在我的工具箱中添加另一种语言,最好是一种支持元编程技巧的语言,这种技巧在静态编译语言(如D)中是做不到的

我读过一些关于Lisp的文章,我想找到一种语言,它允许Lisp做一些很酷的事情,但是没有Lisp的奇怪语法等。我不想发起语言火焰战,我相信Ruby和Python都有自己的折衷方案,所以我会列出对我个人来说重要的东西。请告诉我Ruby、Python或其他语言是否最适合我。

重要:

  1. 良好的元编程。能够在运行时创建类、方法、函数等。最好是代码和数据之间的最小区别,Lisp风格。
  2. 好的,干净的,理智的语法和一致的,直观的语义。基本上是一个深思熟虑,使用有趣,现代语言。
  3. 多种范式。没有一种范式适合于每个项目,甚至是项目中的每个小的子问题。
  4. 一种有趣的语言,它实际上影响人们思考编程的方式。

有点重要:

  1. 表演。如果性能不错的话会很好,但是当性能是一个真正的优先级时,我将使用D来代替。
  2. 有据可查。

不重要:

  1. 社区规模、图书馆可用性等等。这些都不是语言本身的特征,而且都可以很快改变。
  2. 工作可用性。我不是一个全职的,专业的程序员。我是一名研究生,编程与我的研究无关。
  3. 任何主要由一百万代码猴子参与的大型项目设计的功能。

Tags: 项目代码语言技巧编程静态语法工具箱
3条回答

I've read up on Lisp a little and I would love to find a language that allows some of the cool stuff that Lisp does, but without the strange syntax, etc. of Lisp.

我们不是都会。

minimal distinction between code and data, Lisp style

可悲的是,代码和数据之间的最小区别和“奇怪的”语法是相互作用的结果。

如果你想简单易懂的语法,你有Python。但是,代码是而不是表示在任何常用的内置数据结构中。它失败了,就像大多数语言在“重要”列表的第1项中所做的那样。所以很难提供有用的帮助。

你不可能拥有全部。记住,你不是第一个有这种想法的人。如果有你理想的语言,我们都会用它。因为现实世界没有你的理想,你必须重新排列你的愿望清单。“重要”部分必须重新排列,以确定对您真正重要的是什么。

python和ruby之间并没有太大的区别,至少在思想层面上是这样的。在很大程度上,它们只是同一事物的不同口味。因此,我建议您看看哪个更符合您的编程风格。

老实说,就元编程工具而言,Ruby和Python比他们的一些追随者喜欢承认的要相似得多。这两种语言的回顾提供了一个很好的比较/回顾:

所以,只要根据一些标准选择一个。也许你喜欢Rails并想研究它的代码。也许你喜欢的是SciPy。看看图书馆、社区等的生态系统,选一个。基于你的选择,你当然不会输在一些元编程的涅盘上。

相关问题 更多 >

    热门问题