一说起编程,大部分人觉得玄,一看到代码,大部分人都要炫。因为喜欢,就爱折腾,大一时,还经常折腾3寸盘,dos,不过没有走向这个路,进化为程序猿。如今层出不穷的per、ruby等简直迷糊了。就整理下计算机和编程语言,就为了大体明白,掌握趋势。
## 计算机的简要发展
1946年,在美国宾夕法尼亚大学,eniac,电子管技术,每秒千次以上。
1954年,贝尔实验室,tradic,晶体管技术。
1959年,IBM7090,开始使用印刷电路。
1962年,开始集成电路。
1985年6月,将军王震之子,王之率领的微机开发小分队(长城的前身)成功研制出中国第一台中文化、工业化、规模化生产的微型计算机——长城0520CH,在全国计算机应用展览会上正式发布,其性能超过当时的IBM PC和NEC 980,成为国家计算机工业发展史上最具历史意义的里程碑。
## 计算机语言简要介绍
### 低级语言
低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。
### 高级语言
高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法。
#### 1、命令式语言
这种语言的语义基础是模拟“数据存储/数据操作”的图灵机可计算模型,十分符合现代计算机体系结构的自然实现方式。其中产生操作的主要途径是依赖语句或命令产生的副作用。现代流行的大多数语言都是这一类型,比如Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各种脚本语言也被看作是此种类型。
#### 2、函数式语言
这种语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如 Lisp、Haskell、ML、Scheme 、F#等。
#### 3、逻辑式语言
这种语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog。
#### 4、面向对象语言
现代语言中的大多数都提供面向对象的支持,但有些语言是直接建立在面向对象基本模型上的,语言的语法形式的语义就是基本对象操作。主要的纯面向对象语言是 Smalltalk。
虽然各种语言属于不同的类型,但它们各自都不同程度地对其他类型的运算模式有所支持。
## 高级语言的简要演变
### 1957年开发成功fortran
是世界上第一种计算机高级语言,自1954年研发。
### 1961年,专用于商务处理的COBOL
美国的一些计算机用户于1959年组织设计了专用于商务处理的计算机语言COBOL,并于1961年美国数据系统语言协会公布。COBOL(CommonBusinessOrientedLanguage)是数据处理领域最为广泛的,是第一个广泛使用的高级编程语言。在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企管理问题,
### 1975年,初学者通用符号指令代码basic
1964年BASIC语言正式发布,1975年,比尔·盖茨把它移植到PC上。BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续即可执行.
### 1960年,自编译语言pascol
由瑞士Niklaus Wirth教授于六十年代末设计并创立,已成为使用最广泛的基于DOS的语言之一。有严格的结构化形式;丰富完备的数据类型;运行效率高;查错能力强。
Delphi是一个集成开发环境(IDE),使用的是由传统Pascal语言发展而来的Object Pascal语言。它在本质上是一个代码编辑器而不是一种语言,但是由于Delphi是几乎是市场上唯一一个使用Pascal语言的产品,因此有的时候Delphi也成为了人们称呼Object Pascal的代名词。Borland公司已经把Object Pascal语言改称为Delphi语言。
### 1970年,UNIX的副产品C语言
AT&T的Bell实验室的D.Ritchie和K.Thompson共同发明了C语言。研制C语言的初衷是用它编写UNIX系统程序。它充分结合了汇编语言和高级语言的优点,高效而灵活,又容易移植。
### 1998年,C++的ANSI/IS0标准
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
### 2000年6月微软公司发布C#
是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
### IBM公司1981发出SQL
1970年,美国IBM研究中心的E.F.Codd连续发表多篇论文,提出关系模型。
1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,为其配制的查询语言称为SQUARE(Specifying Queries As Relational Expression)语言,在该语言中使用了较多的数学符号。
1974年,Boyce和Chamberlin把SQUARE修改为SEQUEL(Structured English QUEry Language)语言。这两个语言在本质上是相同的,但后者去掉了数学符号,采用英语单词表示和结构式的语法规则,看起来很像英语句子,用户比较欢迎这种形式的语言。后来SEQUEL简称为SQL(Structured Query Language)语言,即“结构化查询语言”。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。
### 面向切面的脚本语言
脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本,如ASCII保存,只在被调用时进行解释或编译。
熟知的HTML(Hyper Text Mark-up Language)即超文本标记语言,就是一种脚本语言,它的解释器就是浏览器。JavaScript直到现在仍然是网页浏览器内的主要编程语言,它的ECMAScript标准化保证了它成为流行的通用嵌入式脚本语言。另外,随着动态网页技术发展,ASP、JSP、PHP等嵌入网页的脚本语言正被广泛使用,不过这些脚本要通过Web Server解释;
Perl、Python、Ruby等。由于“解释执行,内存管理,动态”等特性,它们仍被称为脚本语言。但它们已经用于应用程序编写,用户也不把它们看作脚本语言;
office中的宏,也是脚本语言。
### 普及几个名词
#### IDE
集成开发环境,功能齐全,调试功能很强,程序编好后,可以立刻在环境中调试以获得初步测试结果,然后,可以方便地做成beta版形式,拿到实际环境中进一步测试,最后做成软件发行版。
#### GUI
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
#### Mina
Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。他是腾讯推出的小程序的基础。
#### ThinkPHP
是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。