从编程的4个角度尝试这4种语言

2020-06-29 20:12:47

有数以千计的编程语言,每种语言都有不同于其他语言的独特功能。有些更具可读性,有些更具表现力,有些很简单,有些很复杂。在这里,我将从编程的4个不同方面为您介绍4种不同的编程语言。我邀请你试一试,欣赏他们的长处,找出他们的弱点。他们中的每一个人都与其他人有很大的不同。对于某些类型的问题,它们各有优势。他们会用不同的方式教你同样的问题。

在贝尔实验室研究Unix操作系统时,Dennis Ritchie想要一种适合编写操作系统各部分的语言。他从BCPL和B中得到灵感,编写了C语言。

许多C';的语法直接映射到机器代码。C具有汇编的能力,但与汇编不同的是,它是跨平台的,如果您在编写代码时考虑到了可移植性,那么它可以在多个操作系统和CPU架构上工作,而不需要太多的代码更改。

当您想要直接与机器对话,移除您和机器之间的所有抽象时,那么C语言就是用于这类任务的语言。

Square(Int):PUSH RBP mov RBP、RSP mov DWORD PTR[RBP-4]、EDI mov eax、DWORD PTR[RBP-4]IMUL EAX、EAX POP RBP ret。

当我想出面向对象这个术语的时候,我可以告诉你,我的脑海中并没有C++这个概念。--艾伦·凯。

Smalltalk是为了教孩子们编程而创建的。创建者艾伦·凯(Alan Kay)对编程应该如何进行提出了革命性的想法。他首创了单个单位通过消息传递进行沟通的想法。他认为语言应该建立在一个普遍的概念之上。SmallTalk和面向对象编程给编程世界带来了革命性的变化,但这肯定不是一种好的方式,因为世界误解了面向对象编程的整个概念。类成为面向对象编程的史诗中心。

如果您已经了解Ruby,SmallTalk不会花很多时间来掌握,但是它的实时调试器完全是另一个世界的东西。

如果您正在寻找函数式编程领域的语言,那么您很有可能听说过LISP。LISP是一种极简主义编程语言。ITS实际上没有语法。LISP就是其中一种具有启发性的语言。目前最流行的LISP变体是Clojure。

LISP是可编程的。这意味着如果您不喜欢该语言的任何构造,您可以用更适合您的团队的方法来覆盖它。想象一下,如果javascript是LISP,我们可以修复它的许多错误部分。

;;定义a var(Def A 42);;=>;#';user/a;;调用名为`+`(+a 8);;=>;50;;调用名为`Even?`(Even?a);;=>;true;;定义一个函数,该函数除以10(Defn foo[n](Rem N 10));;=>;#';user/foo;;调用函数(Foo A);;=>;2;;否则(str";2是";(if(Even?2)";Even";";奇数";))。

Haskell是从数学界发展而来的语言,它是一种静态类型(也许是最好的静态类型)、函数式编程语言。与大多数主流的静态类型语言不同,它具有强大的类型推理,因此您不必在任何地方编写类型,但是仍然可以确保类型安全。

如果你是用静态类型语言编写的,你应该试试Haskell,它有非常强的类型推断。您可以看到下面的代码具有类型安全性,但是我没有编写任何类型。Haskell拥有模式匹配、递归、列表理解、一流函数以及函数式编程语言中所有其他很酷的功能。

--使用递归(使用";If Then";表达式)阶乘n=If n<;2 Then 1 Else n*阶乘(n-1)