引言
好久没写点东西了,乘假期有时间赶紧补上几篇。在这篇文章里我将要非常简单地谈一谈几中热门的程序设计语言。常有人问我学语言应该选哪一门学比较好。这问 题还真是比较难说,要看个人了,所以今天就讲这个,让大家对各种语言都有所认识,自己选择适合自己的语言。当然,语言这东西还是有很多相同的内容的,比如 算法。掌握了计算机基本理论知识和一些算法,学语言,说夸张点,就一通百通了。好,言归正传,让我们进入正题。
程序设计语言概述
程序设计语言的历史虽然不长,但是发展快速。不久前,系统语言就开始引领计算技术的前沿。从那以后,程序设计语言取得了长足的进步,从面向对象到可视化编程工具,不断地融入新的理念和技术。目前,存在3种主要的程序设计类型:面向过程(如C和Pascal)、面向函数(如Lisp和ML)、和面向对象(如Java、C++和SmallTalk)。另外,逻辑型或说明型的程序设计语言(如Prolog)也提到了理论研究的日程上。
每种类型的程序设计语言都提供了一个清晰独特的分析和解决问题的方法。面向过程程序可以看作是一组指令序列,每一个语句修改位于某些内存空间的数据。这些 程序也可以包含特定任务的副本的构造过程,如循环和过程。面向函数程序就给定的输入被组织成一系列数学函数。真正的面向函数程序不需要变量赋值,数据清单 和函数足以获取所需的输入。面向对象程序是以类的形式来组织的。类的实例称作对象,包含数据以及操作数据的方法。对象和对象之间的通信通过发送完成某些操 作的请求消息来完成。
理解程序设计语言对于使用和测试应用程序的程序员和安全人员来说都很是重要的。每种语言都有自己的安全特性,这在攻击应用程序的时候是必须要了解的。举个例子,在测试Java应用程序的时候,习惯为C程序编写缓冲区溢出exploit的程序员可能无从下手。通过阅读以下的内容,也希望大家理解C、C++、Java和C#的安全特性、存在的风险以及相关缺陷产生的影响。
在20世纪60年代后期和70年代,在UNIX计 算技术逐渐被接受的期间,一度为降低小规模任务的总开发时间而存在的计算机脚本语言逐渐成为主流技术。程序员和技术人员可以使用脚本语言创建计算机能执行 的脚本和解释型指令集。从表面上看,如内存管理和底层系统指令等任务都是后台完成的,从而降低了执行特定任务的整体复杂性和必须的代码量。到目前为止,脚 本语言都是基于懒人模式的。
脚本最接近的祖先是作业控制语言(Job Control Language, JCL)。OS/360的作业控制语言通常用于将卡片式数据同步并调整成可用的数据集合。相对于作业控制语言的性能数目和最初的特性而言,它的开销是极高的。第一个大众化的普及型脚本语言是基于UNIX的shell(sh)。最初,sh是作为管理和设计工具出现的,用户可以将sh作为解释型语言来快速创建脚本,以协助完成网络和系统管理任务。
随着硬件性能和底层平台功能的快速提升,除了完善的可兼容程序设计语言外,还出现了更多的脚本语言。脚本语言已经包含了许多复杂的技术,这足以证明PHP、Python、Perl和 JavaScript等应用已经获得了巨大的改善。当前,高级脚本语言也扩展了其功能,包括面向对象的能力和类创建、内存管理、套接字创建、循环、动态数组合正则表达式等,甚至有的脚本语言还提供了图形界面的功能,如流行的TCL/TK。
Conan
0:33,12.21.2006
