AnyLang 编程语言比较/介绍
本书是为想要快速比较不同编程语言中常见操作的人设计的。还有一些背景和指导,适用于想要提高对基本编程概念理解的人。
以下链接有助于快速比较编程语言概念
- PLEAC 交叉引用 包含指向 PLEAC 中各节的链接。
许多编程语言被认为是“主流”,并被计算机程序员普遍使用。对于特定语言,也存在强烈的感受和偏好,这些偏好因人而异。这种差异是多样性和众多选择的原因。它也可能成为混淆的根源,尤其对于那些有责任或有兴趣了解不同编程语言如何相互关联的人来说。
AnyLang 编程语言比较旨在作为指南,帮助个人了解一些主流编程语言之间的差异和相似之处。它也旨在帮助解释一些在一些主流编程语言以及当代计算机编程文化中普遍存在的概念和思想。
本指南旨在作为通用概述,因此最好与其他权威来源一起使用,以便那些希望详细了解任何特定语言或概念的人。本指南中的一些内容来自维基百科的英语版本。[1]
跨多种语言比较和统一概念的难点之一,源于术语数量和种类的庞大。此外,对于常见术语,存在一些细微的含义差异。还有一些非常常见的术语经常被使用,但很少被明确定义。
在一些计算机编程圈子里,常见术语使用模糊和含糊不清的情况,可能会让那些刚开始了解一些定义更明确的术语的人感到困惑。此外,术语的通俗解释可能很难找到,因为理解上的差异可能会使核心概念的翻译极其困难,即使对于那些有动力解释和澄清的人来说也是如此。
多义术语 (MMJ) 例子
- 面向对象
- 多态
- 强类型
- 弱类型
- 鸭子类型
- 重载
- 闭包
需要强调的是,任何个人或群体都可能理解这些术语,并为其制定清晰、明确的定义。问题不在于术语的有效性,而在于它们在将想法传达给那些未在任何给定编程子文化中使用这些术语的人时,在多大程度上保持实际相关性。
帮助减少多义术语固有的混淆和模糊的一种方法是,尽可能用实际术语重新表述问题。实际考虑因素包括:
- 创建获得特定、定义明确结果的程序需要多少输入
- 比较语言时,输入(手动输入)所需的输入量差异有多大
- 组织手动输入代码有多少种不同的方式
- 组织包含手动输入代码的文件有多少种不同的方式
- 与了解编程的个人朋友相比,拥有关于编程的书籍有哪些实际好处
由于本书强调这些实际考虑因素,因此主要关注的是比较源代码。各种语言背后的理论和特定领域动机留给专家。对于本书来说,除了以源代码作为比较的主要依据之外,几乎没有其他方面。