Programming languages 比较语言的好参考? 我熟悉一些计算机语言(java、C++、python、方案、JavaScript),但我只是模糊地用术语来分析和比较它们(动态/静态绑定、动态/静态类型、通过值与通过引用、闭包、运算符重载等)。 P>有一本白皮书或易读的书,这些书足够深入地讨论这些问题,让我能够看一种不熟悉的计算机语言,并对自己说:“哦,它有动态绑定和静态类型”,并说“这与C++不同,因为……但类似……”?

Programming languages 比较语言的好参考? 我熟悉一些计算机语言(java、C++、python、方案、JavaScript),但我只是模糊地用术语来分析和比较它们(动态/静态绑定、动态/静态类型、通过值与通过引用、闭包、运算符重载等)。 P>有一本白皮书或易读的书,这些书足够深入地讨论这些问题,让我能够看一种不熟悉的计算机语言,并对自己说:“哦,它有动态绑定和静态类型”,并说“这与C++不同,因为……但类似……”?,programming-languages,language-comparisons,Programming Languages,Language Comparisons,这本免费电子书可能比您正在寻找的内容重一些,但内容全面: (pdf 1.5Mb) 以下是TOC的摘录: I Judgements and Rules 1 Syntactic Objects 2 Inductive Definitions 3 Hypothetical and General Judgements II Levels of Syntax 4 Concrete Syntax 5 Abstract Syntax III Statics and Dynamics 6 S

这本免费电子书可能比您正在寻找的内容重一些,但内容全面:

(pdf 1.5Mb)

以下是TOC的摘录:

I Judgements and Rules 1 Syntactic Objects 2 Inductive Definitions 3 Hypothetical and General Judgements II Levels of Syntax 4 Concrete Syntax 5 Abstract Syntax III Statics and Dynamics 6 Statics 7 Dynamics 8 Type Safety 9 Evaluation Dynamics IV Function Types 10 Function Definitions and Values 11 Godel’s System T 12 Plotkin’s PCF V Finite Data Types 13 Product Types 14 Sum Types 15 Pattern Matching 16 Generic Programming VI Infinite Data Types 17 Inductive and Co-Inductive Types 18 Recursive Types VII Dynamic Types 19 The Untyped l-Calculus 20 Dynamic Typing 21 Hybrid Typing VIII Variable Types 22 Girard’s System F 23 Abstract Types 24 Constructors and Kinds IX Subtyping 25 Subtyping 26 Singleton Kinds X Classes and Meth 27 Dynamic Dispatch 28 Inheritance XI Control Effects 29 Control Stacks 30 Exceptions 31 Continuations XII Types and Propos 32 Constructive Logic 33 Classical Logic XIII Symbols 34 Symbols 35 Fluid Binding 36 Dynamic Classification XIV Storage Effects 37 Modernized Algol 38 Mutable Data Structures XV Laziness 39 Lazy Evaluation 40 Polarization XVI Parallelism 41 Nested Parallelism 42 Futures and Speculation XVII Concurrency 43 Process Calculus 45 Distributed Algol XVIII Modularity 46 Components and Linking 47 Type Abstractions and Type Classes 48 Hierarchy and Parameterization XIX Equivalence 49 Equational Reasoning 50 Equational Reasoning 51 Parametricity 52 Process Equivalence XX Appendices A Mathematical Preliminaries 一、判决和规则 1句法宾语 2归纳定义 3假设和一般判断 二、句法层次 4具体语法 5抽象语法 三、静力学与动力学 6静力学 7动力学 8类型安全 9评价动态 四、功能类型 10函数定义和值 11戈德尔系统T 12普洛金氏PCF V有限数据类型 13种产品类型 14和类型 15模式匹配 16泛型编程 VI无限数据类型 17感应和共感应类型 18个递归类型 VII动态类型 19非类型l-微积分 20动态打字 21杂交分型 VIII变量类型 22吉拉德系统F 23种抽象类型 24名施工人员和种类 九分型 25分型 26种单身人士 X类和Meth 27动态调度 28遗产 席控效应 29个控制堆栈 30例外情况 31延续 十二、类型和建议 32构造逻辑 33古典逻辑 十三符号 34个符号 35流体结合 36动态分类 十四储存效果 37阿尔戈 38可变数据结构 十五懒惰 39懒惰评估 40极化 十六平行性 41嵌套并行 42期货和投机 十七并发 43过程微积分 45分布式算法 十八模块化 46组件和链接 47类型抽象和类型类 48层次和参数化 十九等价 49等式推理 50等式推理 51参数 52过程等效性 XX附录 数学预科
如果你喜欢以身作则,这是一个很好的资源。这可能是一个好的开始

我发现它对于理论上的比较(“C++和java各自的异常处理系统是如何不同的”)和实际工作(“我知道如何在PHP中做前部”)是有用的,Perl中的等效操作的语法是什么?