Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Programming languages 最有趣的非主流语言?_Programming Languages_Language Design - Fatal编程技术网

Programming languages 最有趣的非主流语言?

Programming languages 最有趣的非主流语言?,programming-languages,language-design,Programming Languages,Language Design,我对编译器、口译员和语言感兴趣 你所知道的最有趣但被遗忘或未知的语言是什么?更重要的是,为什么 我对编译、解释和VM语言都感兴趣,但对诸如空格或BF之类的深奥语言不感兴趣开源当然是一个优势,因为我计划学习,并希望从中学习。我想这很大程度上取决于你所说的“非主流”是什么意思 是否算非主流?以.NET框架为目标,并且是开源的。受Python启发。我喜欢编译器和虚拟机,我也喜欢Lua Lua不像其他脚本语言那样受支持,但从你这样的心态来看,我相信你也会爱上Lua。我的意思是,它就像lisp(据我所知,

我对编译器、口译员和语言感兴趣

你所知道的最有趣但被遗忘或未知的语言是什么?更重要的是,为什么


我对编译、解释和VM语言都感兴趣,但对诸如空格或BF之类的深奥语言不感兴趣
开源当然是一个优势,因为我计划学习,并希望从中学习。

我想这很大程度上取决于你所说的“非主流”是什么意思


是否算非主流?

以.NET框架为目标,并且是开源的。受Python启发。

我喜欢编译器和虚拟机,我也喜欢Lua


Lua不像其他脚本语言那样受支持,但从你这样的心态来看,我相信你也会爱上Lua。我的意思是,它就像lisp(据我所知,它可以做lisp所能做的任何事情),拥有ADA的许多主要功能,加上它内置了元编程,函数式编程和面向对象编程足够宽松,可以使任何类型的领域语言成为你想要的。此外,虚拟机的代码是简单的C,这意味着您可以很容易地深入了解它,甚至在该级别上也可以欣赏它

(这是麻省理工学院的开源许可证)

我最近发现了from的存在。 此后,我在回答几个问题时使用了它。(,)


它之所以有趣是因为它的评估策略——它是我所知道的唯一支持回溯的命令式语言。它为许多事情提供了一些简洁的代码:)

Smalltalk。有点像是动态语言的老爹(Lisp和SNOBOL可能是个例外)。与Java以及现在的Python和Ruby等较新的语言一起工作非常愉快,但不幸地受到了践踏。

FORTH是为早期CPU上的低级代码设计的语言。它最显著的特性是基于RPN堆栈的数学运算。与早期HP计算器上使用的数学类型相同。例如,1+2+3+4=将被写为1,2,3,4,+,+,+,+

我建议看一看Erlang-最近有点压力,所以一些学习资源非常好。如果您使用过OO和/或过程语言,Erlang肯定会以新的、令人兴奋的方式让您改变想法

Erlang是一种纯函数式语言,支持并发、分布式和容错程序。它有许多有趣的特性,包括变量根本不是真正的变量——它们一经声明就不能更改,事实上作为一种模式更容易理解


博客圈里有一些关于在Erlang平台(OTP)之上构建的话题,对Ruby等其他语言的机器支持将成为一种运行并发应用程序的虚拟机,这将是一种非常令人兴奋的可能性

Haskell和REBOL都是迷人的语言,原因截然不同

Haskell真的可以让你作为一名开发人员大开眼界,拥有诸如单子、部分应用程序、模式匹配、代数类型等概念。对于好奇的程序员来说,这是一个自助餐

REBOL也不是无精打采的人。一开始它看似简单,但当你开始钻研上下文、解析方言和结存学等概念时,你会意识到它远不止是表面上的。REBOL的好处在于,它比Haskell更容易开始使用


我无法决定我更喜欢哪种语言。

学习任何需要重新思考编程习惯的语言都是必须的。一个确定的标志是你浏览语言核心文档(不是库)的速度。快速的意思是没有结果

我的短名单是,按照我接触的顺序,我从他们那里学到了什么概念:

  • 汇编,C:非常适合学习指针及其算术
  • C++:与C一样,还介绍了泛型,只要你能忍受令人难以置信的冗长语法
  • Ruby/Lua:脚本语言,动态类型,为现有C库编写绑定
  • Python/C#/Java:跳过,在我看来,这些语言是源自其他地方的概念的翻版,有一个巨大的标准库。当然,整个软件包都很好,但在这里你不会学到新概念
  • OCaml:正确完成类型推断、部分应用程序、编译器推断的泛型性、默认的不变性、如何优雅地处理空值
  • 哈斯克尔:默认情况下是懒惰的,单子

我的.02欧元。

我最近爱上了通用语言和函数式语言


例如,Ocaml提供了所有可能的世界中最好的。您可以获得编译为可执行本机语言的代码,其速度与C或通用可移植字节码一样快。您可以使用一个解释器来提高REPL的开发速度。您可以利用函数编程的所有功能来生成完美的正交结构、深度递归和真正的多态性。最重要的是对面向对象的支持,在已经提供OOP承诺的一切(封装、模块化、正交函数和多态可循环性)的功能性语言的上下文中,面向对象意味着OOP必须真正证明自己

Modula-2是我发现最有趣的非主流语言。看起来是主流,但不像我们习惯的那样。从Pascal继承了很多东西,但差异很大,足以提供有趣的学习机会。

试试看

PROLOG是一种基于规则的语言,具有回溯功能。您可以生成非常可读的代码(如prosa代码)。

我是D编程语言的爱好者。这是一个和

维基百科文章中的一些片段:

D编程语言,也称为D,是Digital Mars的Walter Bright提出的一种面向对象、命令式、多模式的系统编程语言。它起源于C++的重新设计,但即使它