所以,我正在编写某种统计程序(实际上我正在将它重新设计为更优雅的东西)而且我应该使用为这种东西创建的语言(处理大量的统计数据,它们之间的连接和一些缺乏遗传/神经编程).
说实话,我只是想借口潜入lisp/smalltalk(不是smalltalk/lisp/clojure一样吗? - 比如python和ruby? - 语义 - 但是我也想要一种易于理解的语言其他喜欢BASIC语言的人(这就是为什么我没有选择LISP - 但是:D).
我还检查了Prolog,它似乎是一种非常酷的语言(容易在数据之间建立关系,比Lisp更容易),但我想听听你的想法.
谢谢
编辑:我总是把常见的lisp与smalltalk混淆.很抱歉把这两个郎放在一起.我所说的" 喜欢BASIC语言的其他人 "的意思是我不喜欢像lisp这样的语言语言(对于没有CS背景的人)而且我觉得Prolog更直观一些(但那是我的我刚刚与他们两个人搞砸了之后的意见).
有没有特别的理由不使用R? 这是一种构建与购买(或在本例中为下载)决策.如果你正在进行统计计算,那么R就有很多现成的软件包.这些包括用于各种类型数据源的许多库和接口.还有用于在其他语言(如Python)中嵌入R的接口库,因此您可以使用Python(例如)和使用R的核心计算引擎构建混合应用程序.
在这种情况下,您可以减少实施所需的工作量,并使用更灵活的应用程序.
如果你已经开始学习另一种语言,那么一定要做.Smalltalk, Prolog和LISP有几个很好的免费(一些在语音中,一些在啤酒中).
如果您在系统上放置用户界面,Smalltalk可能是更好的选择.如果要将大型规则集创建为应用程序的一部分,Prolog就是为此类设计的.各种各样的人都写过LISP ephiphany,它影响了你对编程的看法,但我无法从经验中证实这一点 - 我只是真的使用AutoLISP在AutoCAD上编写自动化脚本.
冒着冒犯别人的风险,我很难与你提到的任何一种语言协调" 其他喜欢BASIC语言的人容易理解 ".这不是一种批评,而是作为观察,你提到的每种语言都有一种与BASIC完全不同的风格和自然习语.
Smalltalk - 从头开始的纯OO,通常(例如Squeak)与集成环境相结合,同时是IDE和运行时.如果您进入Smalltalk Vm并在其中工作,而不仅仅是编写"源代码"文本.
LISP - 更接近函数式编程(虽然有强制性的泛音); 前缀符号是大多数"喜欢"其他语言的人的第一道屏障,但宏的概念和使用是一个更为重要的概念.
Clojure - LISP,OO和JVM集成的结合使得它更像BASIC.
Python和Ruby - 我把它们混为一谈(冒着进一步讨厌粉丝的风险;-)因为它们都是具有不同符号的OO语言,会让局外人有点学习曲线.在Python中使用缩进仅用于控制嵌套,以及在Ruby中使用类似Perl的特殊字符通常是新手的抱怨点.虽然两者都可以用命令式的方式编写,但经验丰富的用户认为这是非标准的.
Prolog - 这与所提到的所有语言的BASIC最不同.您提到的所有其他语言都可以(ab)以半过程的方式使用,但在Prolog中基本上是不可能的.它需要彻底了解和舒适的递归,以做任何不平凡的事情.
基本上所有这些语言(但特别是Prolog,恕我直言)使用"本地口音"编写的代码将使用超出常规BASIC编程规范的习语和概念.换句话说,如果您选择其中一个,然后编写"带有BASIC重音"的代码,您几乎浪费了该语言可以提供的好处.
我相信所有这些都值得学习他们可以教授的概念(或者至少根据你的背景加强).但是与语言X(对于X的各种值)的相似性并不是你得到的.