`
- 浏览:
99416 次
-
编程语言分类及入门
代码:
Author: Felix Huang
Date: 20031002
Rev. 1.0
编程的语言按照编程思想可以分成几类:
=================
分类介绍
1. Register Machine 类
-------------
C/C++
-------------
C 语言是基于 Register 的图灵机的实现,一般来说,目前流行
的语言都是这一类。这种语言相当传统,思想比较接近计算机,
其中又以 C 为最,最初 Ken Thompson 设计 C 出来就是为了实现
Unix 的。因此有人称 C 作``中级语言''。事实上 C-like 语言的长处
就在于跟计算机的思想接近,因此执行效率高。缺点在于入门困难,
毕竟人脑可不是由 0 跟 1 组成的(不由另我想起 Donald Knuth 的名
言:Rewriting the Bible in 0's and 1's)。
在1980年代以前,一般的*作系统都是由机器的汇编码甚至机器码写
成,所以移植十分困难。最明显的例子是 RMS 曾经工作过的 ITS 系统
(全称是 Incompatible Time Sharing System,MIT 的 AI 实验室搞出来的
古怪名字),在 PDP-7 上的系统无法移植到 PDP-10 与 PDP-11 上,结果
被 AI lab 放弃使用。于是有鉴于此,AT&T 的 Ken 设计 Unix 的时候,
为了方便移植起见,就首先搞出来一个 C ,于是自此之后 Unix 大行
其道,几乎所有机器都可以运行 Unix ,只要重新编译一下就可以了。
C 的特点在于与系统联系紧密,语法松散。所以不是初学者的好选择。
C 的国际标准为 ISO C,目前的版本是 ISO C99,上一版是 C90。ANSI C
是国际标准化组织 ISO 接受 C 标准前的名字,ANSI 表示此乃美国标准。
C++ 是 AT&T 的 Bjarne Stroupe 设计的。设计 C++ 的目的是把面向对象
思想加到 C 中,使在抽象模型的时候更容易,也更方便大规模的代码
重用与代码管理。事实上,C++ 的代码效率略低于 C。但长处也是极其
明显的,C++ 代码的开发周期会明显短于 C,特别在大项目上。
C++ 的国际标准是 ISO C++,目前版本是 ISO C++ 98.
目前常见的 C/C++ 的编译器有:
Visual C++ Compiler MS 出品 Win32(贵)
Borland C++ Compiler Borland 出品 Win32(有免费版本下载)
Intel C++ Compiler Intel 出品,专为 Intel CPU 服务,Win32/Linux
(Linux下有免费非商业版授权)
GNU Compilers Collection 中的 C 编译器(gcc)
win32/linux/bsd/…… 免费,自由软件
Linux 下还有一个超小型的 C 编译器 Tiny CC,可以把 C 源文件以脚本
形式运行。
------------
Perl
------------
Larry Wall 的作品。此人非常强悍,写 Perl 出来只是为了解决建网站的
时候要写 CGI。他在 Perl 之前的作品是 patch 。ESR 对 patch 的评价非
常高,认为 patch 促成了被 Linux 开发模式所验证的高度分布的现代化
的开发模式。
Perl 是一门凌乱的语言,语法没有很具体的规则。如果你一个月没看过
perl 的代码,甚至会连自己的东西都看不懂。但事实上, perl 的效率
相当高,web 上大部分的应用,都是用 perl 写成的,包括 yahoo。入门
的 programmer 最好不要学,应该等你对 c 都有一定熟悉之后,才开始学习
perl。
linux 及其它 unix 类的*作系统下一般都会自带 perl。windows 的用户
可以到 www.activestate.com 下载 ActivePerl。
-----------------------------------
Pascal/Object Pascal/Delphi
-----------------------------------
Pascal 是一门语法相当严谨的语言,搞竞赛的同学一般都是先接触到它。
它的长处在于严谨的语法与类型检查,弱点是与平台相关的硬件控制、
指针的支持比较弱。这些方面 Borland 公司在开发 Delphi 的时候加以
改进,加入了对对象的支持、对指针的改进。然而 Pascal 并没有一个统
一的标准,所以不同编译器之间互不兼容的情况相当严重。但这并不能
阻止 pascal 成为一种好的入门语言。
pascal 的编译器有数种。目前常见的是 borland 的 delphi,gnu pascal
compiler 以及 free pascal。后两者是自由软件。
2. OO 类
-----------------
Smalltalk
-----------------
面向对象语言的鼻祖。其 OO 的程度比 Java 更彻底,也更适合作为 OO
的入门语言。其语法相当接近英语的自然语言,消息体系更为合理,
对理解 OO 有帮助。
编译器可到 www.gnu.org/software/smalltalk 下载。上面还有一份不错的
入门教程。
-------------
Java
-------------
笔者对 Java 的了解不多。Java 是一种完全面向对象的编程语言,其特点
为跨平台,应用广泛。
Java 编译器及库可以在 java.sun.com 下载。
--------------
Python
--------------
Python 是一门运行效率跟 Perl 可以比较的语言,而且 Python 揉合了 OO
与部分 Functional Programming 的优点,在最近发展得相当迅速。
Python 编译器可以在 www.python.org 下载。
3. Functional Programming
这类语言一般是基于 Church 的 Lambda 演算理论,有志学习数学与计算
的同学不可不学。
-------------
Lisp
-------------
最经典的 FP 语言,厉害之处在于定义了一种数据结构(表)与七个基本操
作就可以表示所有程序的运行结构了。能力无限强的一种语言。Emacs 之
所以如此强大,其原因是,Emacs 实际上是一个 Lisp 解释器,它的界面、
功能全部是由 Emacs Lisp 的子程序提供的,扩展相当容易。
解释器有几种,包括 gnu common lisp, clisp 与 cmucl. 前者可在 sf.net
找到,后两者可在 cons.org 找到。
---------------
Haskell
---------------
相当专业的一种语言,不搞数学不需要看。 www.haskell.org
=================
入门建议
=================
初学编程,应该从语法严谨的语言入手。因此 pascal 是一个不错的选择。
应该以 pascal 为基础去了解各种数据结构与算法,并掌握一定的数学基
础。当对数据结构与算法有一定熟悉后,便可以学习其它一系列的语言。
如果是想学习 OO 的话,推荐学习的是 java,但同时应该看 smalltalk 的
东西,因为 smalltalk 对 OO 的理解非常有帮助。而且 smalltalk 本身并
不困难,很容易就可以理解。
进一步学习,应该对带来不同编程思想的语言都有一定了解。上面提到
的语言都是不同编程思想中的皎皎者,对它们不一定要精通,但最好有
一定了解。
当遇到任何一门语言,你都可以快速应用的时候,你就成为真正的高手了。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在探讨单片机编程语言的选择时,我们首先需要了解单片机编程语言的分类,以及它们各自的特点和适用场景。单片机编程语言主要可以分为三大类:机器语言、汇编语言和高级语言。 机器语言是最底层的编程语言,它由一...
《算法竞赛宝典1:语言及算法入门》是一本针对初学者精心编写的教程,旨在帮助读者快速掌握算法竞赛的基础知识,包括编程语言基础和常用算法。这本书将带你步入算法的世界,通过深入浅出的方式,让你理解并掌握解决...
易语言的概述,编程环境与输入法的讲解,易语言数据类型的分类和使用,运算符和表达式的介绍,变量、常量的定义和使用, 资源的添加和使用,子程序的编写与调用。 第二部分 易语言的命令与组件 详细学习如何使用...
Apple Swift编程语言是一种由Apple公司推出的现代化编程语言,主要用于iOS和macOS应用的开发。它在2014年发布,旨在提供一种更安全、高效且易于学习的编程体验,同时保留了Cocoa和Cocoa Touch框架的兼容性。Swift在...
1. 编程语言的分类: 根据描述,编程语言可分为强类型与弱类型语言,静态类型与动态类型语言。强类型语言对变量的数据类型有严格要求,在编译时会进行类型检查。而弱类型语言则对类型检查相对宽松,变量的数据类型...
R语言是一种广泛应用于统计分析、数据可视化和预测建模的编程语言和环境。它以其强大的数据分析功能和开源特性,受到了全球科研人员和数据科学家的热烈欢迎。本篇将基于提供的"R语言入门_R语言_R语言入门教程_"主题...
《语言及算法入门》是一本非常经典的编程和算法入门书籍,它不仅全面介绍了编程语言和算法的基础知识,而且通过大量引人入胜的段落、实际应用案例等,激发读者的学习兴趣和培养编程思维。这个书的亮点在于它不仅注重...
本书从 PLC 编程入门和工程实际应用出发,详细讲解了西门子 S7-1500 PLC 的编程及应用。主要内容包括: 1. PLC 的基础知识:介绍 PLC 的定义、基本功能与特点、应用和分类,以及西门子 PLC 简介,还介绍了 PLC 的...
内容概要:本文档是一份全面而详细的 Scratch 图形化编程语言教程,涵盖从Scratch简介到具体的应用案例。主要内容分为六个部分:①Scratch 是一种由美国麻省理工学院开发的专为初学者尤其是儿童设计的图形化编程语言...
- **编程语言分类**:主要包括高级语言(如Java、Python、C#)和低级语言(如汇编语言)。高级语言更接近人类自然语言,易于学习和使用。 #### 二、游戏编程入门 - **目标受众**:适合具备基本C++知识的学习者。 -...
OpenCV为计算机视觉领域提供了大量的工具和函数库,支持多种编程语言,包括C++、Python等,并且可以运行在不同的平台上。 《opencv3 编程入门》这本书,顾名思义,是为了帮助初学者快速入门学习OpenCV 3版本的...
1. "数字图象处理编程入门.chm" 和 "图形图像编程技术.chm" 这两个CHM文件可能包含了丰富的教程和实例,可以作为学习的基础资料。 2. 在线课程:Coursera、Udemy、edX等平台上有专门的图像处理和图形编程课程。 3. ...
编程语言分类** - **机器语言**:由二进制指令构成,计算机可以直接识别和执行。 - **汇编语言**:接近机器语言但更易于阅读和编写。 - **高级语言**:如Python、Java等,接近自然语言,易于理解和编写。 **3. ...
内容概要:本文档介绍了Object-C编程语言的定义与特点、开发环境与安装、基础语法、面向对象编程、内存管理与引用计数、Foundation框架与常用类、分类与协议、动态特性与运行时、错误处理与调试,以及实践项目与案例...
Python编程是一种广泛应用于数据分析、机器学习、Web开发和自动化任务的高级编程语言。"Python编程入门经典源代码"是为初学者设计的一套教程资源,它包含了一系列与Python编程相关的源代码实例,按照教程章节进行...
ABB机器人编程基础入门实战教程主要围绕ABB机器人的编程语言RAPID展开,旨在帮助初学者掌握基本的编程概念和实践操作。RAPID是一种高级的、基于计算机的编程语言,设计用于控制ABB工业机器人的运动和逻辑操作。以下...
2. **PIL(Python Imaging Library)/Pillow**:Python语言下的图像处理库,支持多种图像格式的读写及基本操作。 3. **Matplotlib**:Python中用于数据可视化的库,可以绘制各种类型的图表,包括数字图像。 4. **...
答案是锐角,这个问题考查了学生对scratch编程语言的理解。 知识点:scratch编程语言、变量、角度概念 4. 欢迎来到小猫的变装走秀表演 这个问题考查了学生对编程猫游戏元素的理解和理解能力。答案是1467,这个...
内容概要:本文为一份全面的基础与进阶相结合的 JavaScript 教程,涵盖从语言的基本构造到实际编程应用,具体而言分为 JavaScript 基础介绍、进阶特性讲解以及实际项目实践三个部分。JavaScript 基础主要介绍了变量...
此外还涉及具体的编程实践活动指导、对于现成程序的解读技巧及进一步研究的方向,如特定架构平台上的应用和与其他高级语言间的互操作。 适合人群:正在探索编程底层逻辑并对计算机体系结构有一定兴趣的学生和技术...