编程

编辑
本词条由“匿名用户” 建档。
编程计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的机器语言。这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分...

执行原理

编辑

计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的机器语言。

这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。

解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。

编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。

基本简介

编辑

编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

语言沿革

编辑

1946

Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚附近的阿尔卑斯山上时,独立开发了Plankalkul。他把该项成果应用在其它的事物中,比如国际象棋

1949

动作顺序动作顺序

Short Code ,xxx种真正在电子计算设备上使用的计算机语言,尽管他是一个纯手工编译的的语言。

1951

Grace Hopper,为Remington Rand工作,是在xxx个著名的编译器——A-o上开始设计工作。当Rand在1957年发布这个语言时,它被称为MATH-MATIC。

1952

Alick E. Glennie ,他利用自己在曼彻斯特大学的课余时间,发明了一个名为AUTOCODE的编程系统,一个未能成型的编译器。

1957

FORTRAN——数学公式转换系统(FORmula TRANslating,FORTRAN名字的由来)——出现。开发队伍的领导者是John Backus,并且他还为ALGOL的开发和巴柯斯范式(BNF)做出了贡献。

1958

FORTRAN II出现,它能够处理子程序和连接汇编语言。由M.I.T的John McCarthy在LISP-LISt Processing上开始设计工作。原始ALGOL规范出现。该规范并未描述数据的输入输出方式;这些问题都留给独立的实现者。

20世纪六十年代末

Pascal 由瑞士Niklaus Wirth教授于设计并创立,具有简洁的语法,结构化的程序结构,是结构化编程语言,在许多学校的计算机语言课上教授的都是Pascal语言。

创建COBOL

1959

LISP1.5出现。COBOL在数据系统和语言大会(Conference on Data System and Languages)上被创建了。

编译器出现

1960

ALGOL 60 ,xxx种结构化语言出现。它是结构化语言家族中的根节点,并最终产生Pascal这样的语言。ALGOL成为六十年代中期至末期欧洲最为流行的语言。

六十年代早期,Kenneth Iverson开始语言方面的工作,最终产生了APL-A编程语言。它使用专门的字符集,为了正确地使用,你还需要兼容APL的I/O设备。

1962

APL被写入Iverson的《A Programming Language》一书中。

FORTRAN IV出现。

SNOBOL这个以“首字母拼词命名”的产品,在工作的初期就取得了xxx的成功,SNOBOL——面向字符串符号(StriNg Oriented symBOlic Language)语言。它衍生了其他一些以首字母拼词命名的产品:FASBOL,一个SNOBOL编译器(1971年),还有SPITBOL——Speedy ImplemenTation of snoBOL——同样在1971年。

1963

ALGOL 60进行修正。

PL/1的工作开始。

1964

APL360被实现。

在达特茅斯大学,John G.Kemeny和Thomas E.Kurtz教授发明了BASIC。最初的实现是一个编译器。xxx个BASIC程序在1964年五月一日下午四点运行。PL/1发布。

1965

SNOBOL3出现。

1966

FORTRAN 66出现。

LISP 2出现。

在Bolt,Beranek和Newman开始了LOGO的工作。小组的头是Wally Fuerzeig,而且还包括Seymour Papert。LOGO中最著名的便是“龟作图”。

1967

SNOBOL4,功能获得极大加强的SNOBOL,出现了。

1968

ALGOL 68,相对于ALGOL 60它是个怪物。一些规范委员会的成员——包括C.A.R.Hoare和Niklaus Wirth——却赞同该计划。事实证明ALGOL 68是难以实现的。

ALTRAN,一个FORTRAN的变种出现。

COBOL被ANSI正式定义规范。

Niklaus Wirth开始Pascal方面的工作。

1969

500人参加在纽约Armonk的IBM总部召开的APL会议。APL的分发需求如此之大,该活动此后被人们称为“The March on Armonk”。

程序编写

1970

70年代早期,Charles Moore在他的语言Forth中写下了xxx个有意义的程序。

Prolog方面的工作大约在此时开始了。

同样是在70年代早期的某一天,Xerox PARC由Alan Kay领导,开始了Smalltalk的设计工作。早期版本包括Smalltalk-72,Smalltalk-74和Smalltalk-76。

Pascal在CDC 6000-series电脑上的一个实现出现了。

Icon,SNOBOL4的一个后代产品问世。

1972

Konrad Zuse写的关于Plankalkul(见1946年)手稿终于出版了。

Dennis Ritchie设计了C。但是最终的参考手册却是在1974年发布的。

Prolog的xxx个实现——Alain Colmerauer和Phillip Roussel的功劳。

1974

另一个COBOL的ANSI规范出现。

1975

Tiny BASIC,由Bob Albrecht和Dennis Allison设计(由Dick Whipple和John Arnold实现),运行在2KB内存的微型计算机上。一台4KB的机器是较为合适的,它将有2KB的内存应用于这个程序上。

Bill Gates和Paul Allen编写的一个BASIC版本以抽取每份拷贝版税的形式销售给MITS(Micro Instrumentation and Telemetry Systems)。MITS生产Altair,这是一种8080结构的微型计算机。

Scheme,一个LISP的“方言”,由G.L. Steele和G.J. Sussman设计。

Pascal用户手册和报告出版,Jensen和Wirth编写。许多人至今都认为它是Pascal方面权威的参考书籍。

B.W. Kerninghan描述了RATFOR——RATional FORTRAN。它是预处理程序,并且允许在FORTRAN中使用类C的控制结构。RATFOR被应用到了Kernighan和Plauger的“Software Tools”中,它出现在1976年。

PostScript

1976

Design System Language出现,它被认为是PostScript的先驱。

1977

MUMPS的ANSI标准出现——麻省总医院多用途程序设计系统(Massachusetts General Hospital Utility Multi-Programming System)。MUMPS最初被用来处理医疗记录,它只能识别字符串类型。随后被重新命名为M。

设计竞赛将导致Ada的产生。由Jean Ichbiah带领的Honeywell Bull队伍,即将赢得比赛。

Kim Harris和其他人建立了FIG,一个FORTH兴趣小组。他们开发了FIG-FORTH,售价大约为20美元

70年代晚期的某天,Kenneth Bowles设计出了UCSD Pascal,它使得Pascal可以用在PDP-11和基于Z80 的电脑上。

Niklaus Wirth开始设计Modula,它Modula-2的先行者,Pascal的继承者。

语言程序

1978

AWK——一个文本处理语言,以它设计者Aho、Weinberger和Kernighan的名字命名。

FORTRAN 77的ANSI标准出现。

1980

Smalltalk-80出现。

Modula-2出现。

Franz LISP出现。

Bjarne Stroustrup开发了一个语言集——被总称为“C With Classes”——它成为C++的滋生土壤

1981

Effort开始成为一个LISP的“公共方言”,常被人称作Common LISP。

日本开始第五代电脑系统工程。主要语言是Prolog。

1982

ISO Pascal出现。

PostScript出现。

1983

Smalltalk-80公布:它由Goldberg等人完成。

Ada出现。他的名字来自Lovelace女伯爵Augusta Ada Byron,她是英国诗人拜伦的女儿。因其在巴贝奇分析机上设计了解伯努利方程的一个程序,而被誉为xxx位女程序员。在1983年,国防部指导的全新“任务评定”应用程序是使用该语言编写的。

1983年的后期和1984年早期,微软和Digital Research共同发布xxx个微型计算机的C编译器。

七月,xxx个C++实现露面。该名称是由Rick Mascitti取的。

11月,Borland的Turbo Pascal的“冲击”犹如一场核风暴,这得益于《BYTE》杂志的广告

1984

APL2的参考手册面世。APL2是APL的扩展,它允许嵌套数组。

1985

Forth控制着潜水器定位泰坦尼克号的残骸。

Vanilla SNOBOL4之微机版发布。

Methods,PC上的面向行(line-oriented)的Smalltalk出现。

微机版本

1986

Smalltalk/V露面——xxx个广泛应用于微机的Smalltalk版本。

Apple公司为Mac机器发布Object Pascal。

Borland发布Turbo Prolog。

Charles Duff发布Actor,一个开发微软Windows应用程序的面向对象语言。

Eiffel,另外一个面向对象语言出现。

C++露面。

1987

Turbo Pascal 4.0发布。

1988

CLOS规范——公共LISP对象系统(Common LISP Object System)——发表。

Niklaus Wirth完成Oberon,这是他继Modula-2的后续行动

1989

ANSI C规范公布。

C++2.0形成了一个参考手册的初稿。2.0版本增加了诸如多继承和成员指针等特性。

1990

C++2.1,B.Stroustrup等作者的《Annotated C++ Reference Manual》一书出版。这个版本增加了模板和异常处理特性。

FORTRAN 90包含了众多新元素比如case语句和派生类型。

Kenneth Iverson和Roger Hui在APL 90会议上提出了J语言。

1991

Visual Basic在COMDEX春展会上获得《BYTE》杂志颁发的最佳表现奖。

1992

Dylan——以Dylan Thomas命名——由Apple公司发布的一个类似Scheme的面向对象语言。

1993

ANSI发布X3J4.1技术报告——面向对象的COBOL提议初稿。真正的标准预计在1997年完成。

1994

微软将Visual Basic for Application整合到Excel中。

1995

二月,ISO接受Ada语言1995修订版。它被称为Ada95,其中包括OOP特性和支持实时系统。

1996

xxx个ANSI C++标准预发布。

语言目录

编辑

* CSS Cascading Style Sheets 层叠样式表

*.NET是微软2002年,为开发应用程序创建的一个富有xxx性的新平台

*ActionScriptActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种面向对象编程语言。

*APL、A+和J

*AdaAda是一种表现能力很强的通用程序设计语言

*汇编语言 汇编语言(Assembly Language)是面向机器的程序设计语言

*易语言是全中文语言编程中最为强大的一个编程语言

*AWKAWK是一种优良的文本处理工具

*Basic是一种设计给初学者使用的程序设计语言

oQBasicQBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初学者通用指令代码)语言的一个变种,由美国微软公司开发

oVisual BasicVisual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言

*VBScriptVBScript是Visual Basic Script的简称,即 Visual Basic 脚本语言

*BrainfuckBrainfuck是一种极小化的计算机语言

*C、C++ 、C# C语言是一种面向过程的计算机程序设计语言; C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。

oObjective-C通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言

*ClipperClipper芯片主要用于商业活动的计算机通信

*COBOL一种适合于商业及数据处理的类似英语的程序设计语言

*dBasedBASE是xxx个在微型计算机上被广泛使用的数据库管理系统(DBMS

E语言以简体中文作为程序代码进行编程操作。

*PASCAL、DelphiPascal是一种计算机通用的高级程序设计语言 ;Delphi是全新的可视化编程环境,是一种方便、快捷的Windows应用程序开发工具

*Forth由Charles H. Moore发展出来在天文台使用的电脑自动控制系统及程序设计语言,允许使用者很容易组合系统已有的简单指令,定义成为功能较复杂的高阶指令。

* Fortran 译为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。

*FoxPro是由美国Fox Software公司于1988年推出的数据库产品

*F#F#是由微软发展的为微软.NET语言提供运行环境的程序设计语言

*FavaFava语言是一个小型的解释语言,它主要面向于系统测试领域及小型嵌入式设备。

*IDLIDL 是一种数据分析和图像化应用程序及编程语言

*GoGo语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

*JavaJava是由Sun Microsystems公司于1995年5月推出的Java程序设计语言,他是一种面向对象的跨平台语言,可以在多种平台上运行。支持开源。大量的类库。大量的开源项目。是一种非常强大的编程语言!

*JavaScriptJavascript是一种由Netscape的LiveScript发展而来的脚本语言

*J#Visual J# 是一种工具,供 Java 语言程序员用于构建在 .NET Framework 上运行的应用程序和服务

*LISP一种基于λ演算函数式编程语言。

*LuaLua 是一个小巧的脚本语言

*LOGO是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它通过“绘图”的方式来学习编程

*Module在软件工程中,指较高一级程序或模块使用的一个单元或模块

*NuvaNuva语言是一种面向对象的动态脚本语言 Nuva语言的设计目的是用于基于模板的代码生成

*PerlPerl 一般被称为“实用报表提取语言”(PracticalExtraction andReportLanguage),也做“病态折中垃圾列表器”(PathologicallyEclectic Rubbish Lister

*PHPPHP 是一种 HTML 内嵌式的语言

*PL/IPL/I是Programming Language One的简写。当中的“I”其实是罗马数字的“一”。它是一只IBM公司在1950年代发明的第三代高级编程语言

*PrologProlog(Programming in Logic的缩写)是一种逻辑编程语言

*Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言

*RR是用于统计分析、绘图的语言和操作环境

*RubyRuby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言

*SchemeScheme,一种系统设计语言,由LISP语言发展而来,属于lisp的一种方言。与其他lisp不同的是,scheme是可以编译成机器码的。Scheme的一个主要特性是可以像操作数据一样操作函数调用

* Smalltalk 一种面向对象的程序设计语言 一种程序设计环境 一个应用开发环境(ADE)

* Tcl/Tk 是一种 脚本语言

*Visual FoxProVisual FoxPro原名FoxBase,是美国Fox Software公司推出的数据库产品

*快手(AAuto Quicker) AAuto是专用于桌面软件快速开发的新一代混合型编程语言, 兼具动态、静态语言优势,语法更可兼容大部分流行语言,学习成本低,开发速度快,并xxx免费.

语言排行

编辑
2012年4月编程语言排行榜 Top 20 具体榜单2012年4月编程语言排行榜 Top 20 具体榜单

2012年4月份前三语言分别为:C 、Java 和 C++

开发工具

编辑

关于C++的: CFREE(初学者适用),VC,MyC++,Magic C++,DevC++

关于JAVA的:JBuilder、Eclipse、NetBeans IDE、JCreator+J2SDK、JDK、Tomcat、Weblogic、JRun

关于C#的:VS Studio 系列(VS2003,VS2005,VS2008,VS2010,VS2011),SharpDevelop(开源的免费软件)

关于Delphi的:delphi2005

关于C的:Turbo C 2

关于PHP的:Dreamweaver_CS5、Notepad++

关于VB的:visual basic 6.0

关于汇编的:VisualASM

关于VBS的:按键精灵2014

可视化

编辑

可视化编程也越来越重要,所谓的可视化程序设计和Visual Basic或Visual C++并不同,支持可视化程序设计的IDE可以让开发人员直接移动程序单元来建立流程图和结构图,然后直接做编译或解释,这一类的流程图通常是以UML为基础。

这样的界面因为乐高的Mindstorms开始普及,一些公司也开始透过浏览器Mozilla和分布式程序设计(LabVIEW)往这方面努力。从1980年xxx始,xxx个可视化程序设计系统—Max,就是以类比合成器的设计为榜样,同时被用来开发即时音乐演出软件。

这种方法也被用在专业软件,例如Openlab,这类的使用者需要完整程序设计语言的弹性,并不想要传统的学习曲线。

可视化程序设计语言有另一个半免费和开放源代码的替代品-Mindscript,具有加密系统和连结数据库等等。

移动编程

编辑

主要指android/iphone编程开发,主要是针对3G智能手机应用、游戏进行开发。根据市场研究公司ChetanSharmaConsulting的研究数据显示,移动软件市场总额2011年为41亿美元,预计2012年将飙升到175亿美元。这使得技术公司对应用程序开发人才的需求越来越大。那些能够为苹果iPhone操作系统、谷歌Android操作系统和RIM黑莓操作系统等移动平台编写应用程序的开发人员非常抢手。这种巨大的市场需求直接导致了招聘公司之间激烈的人才争夺大战,也无形中提高了开发人员的薪水。3G梦工场在全国最先开始3G专业。

安卓编程

编辑

从人才需求类型来看,目前对Android人才需求一类是偏向硬件驱动的Android人才需求,一类是偏向软件应用的Android人才需求。从目前的招聘需求来看,后者的需求xxx,包括手机游戏手机终端应用软件和其他手机应用软件的开发。据职酷网职位搜索库统计显示,目前企业对这类应用软件的Android开发人才占总需求的72%。职业专家分析说,由于目前Android技术较新,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才的就业前景也非常广泛。

智能手机

编辑
文件系统驱动编程文件系统驱动编程

应用程序开发行业中xxx的新热潮是智能手机的应用程序。这种装置通常需要开发人员使用一种可将装置的功能发挥到极至的特定语言作为应用平台,至少要以官方认可的方式进行。

智能手机开发体系的一个新兴产业正在崛起,即允许开发人员用非智能手机平台原生的其它语言编写自己的代码,然后转化为原生语言的应用程序。 因为不需要学习任何特定的智能手机平台的官方应用程序开发语言,Web应用程序也沾了光,成为智能手机应用程序开发的一种方法。选择语言甚于平台的另一个方案是使用像诺基亚的N900这样的设备,它运行Debian发行的Linux系统,可以运行的软件范围很宽——包括很多不是为智能手机设计的软件。随着安卓和ios智能手机范围的不断扩大,安卓和ios编程人员企业急缺,3G梦工场软件学院在华中地区最早开设了3G智能手机编程相关的课程,为对编程感兴趣的人提供了一个学习平台。

编程学校

编辑

3G梦工场软件开发学校是湖北xxx3G软件工程师人才实训基地,由武汉四维创意育科技有限公司公司承办,2009年12月学校正式启动,致力于打造中国高端3G应用开发领域集技术培训、项目辅导创业孵化为一体的服务品牌。致力于培养J2ME游戏开发工程师、3G前端应用开发工程师、iphone 软件应用开发工程师、Android开发工程师、Windows Mobile开发工程师、Symbian初级、中级、高级开发工程师。

经过接近两年的努力,成为国内知名的3G培训品牌,并且已是国家工信部3G项目管理中心授权为湖北3G工程师指定考试中心,并且是3G工程师试题指定提供单位。并且和国内一些企业合作,开设了校企示范班,学员毕业后可进入合作企业进行工作。

3G梦工场采取小班授课、项目教学、商业项目开发的教学方式,通过企业定向培养,入学签订就业推荐协议等人才培养模式,吸引众多大学生就读。课程提供内容丰富、教材形式多样,配图教材,多媒体动画PPT,清晰的授课思路以及随时可以观摩的在线咨询。提高授课质量,降低学生学习难度。

3G梦工场地处湖北武汉广埠屯(华中师范大学正北门),属于武汉的中心地带,对面武汉大学,西邻武汉理工,东侧华中科技大学,背后是湖北工业大学商贸学院,有强烈的教育文化和浓厚的学习气氛!

为什么编程是21世纪的核心技能

编辑

在20世纪,最被看好教育科目是英语、数学、化学、物理,“学好数理化,走遍天下都不怕”。今天,编程技能变得越来越重要,很快就会变成21世纪生存技能中的核心竞争力。将在这个月上映的电影《The Internship》讲的就是自学编程的技术牛人到谷歌工作的过程。

编程能力有多大用处?

无论是互联网初创企业还是大企业,都需要建立自己的网站,需要通过网络帮助自己增加利润,编程人员需求量大增,这种需求迫使更多的人回到学校学习代码,学习编程等计算机技能,这已经是一个无法回避的事实。

美国第二大团购网站LivingSocial的副总裁曾说“我们相信,智慧和激情是钱买不来的,招聘一个员工不一定要有具体的技术、技能,更重要的是要有足够的DIY创作心态,也许这种人有点傲慢,但我们可以教他很多东西。”

新兴技能培训学校越来越多,各种各样的技术、技能日益普及,尤其是编程技能迅速上升,有些地区甚至儿童都在学习代码程序。通常情况下,编程人员的稀缺,谁拥有编程技能就意味着有更多的就业机会,企业也更容易招收会编程的新手。

编程岗位需求有多大?

随着时间的推移预计编码工作岗位有大幅增加。据美国劳工统计局,在2010年有91.3万个计算机程序员职位,到2020年这一岗位预计将增长 30%, 同时,其他所有的非农就业岗位平均增幅预计只有14%。

以现在的大学教育现状,偏重学术类人才培养,到时将没有足够的人来填补这些职位。很多优秀的互联网公司、软件开发公司创始人,大学都没毕业,编程技能使他成为一个优秀的人。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/2796/

(15)
词条目录
  1. 执行原理
  2. 基本简介
  3. 语言沿革
  4. 语言目录
  5. 语言排行
  6. 开发工具
  7. 可视化
  8. 移动编程
  9. 安卓编程
  10. 智能手机
  11. 编程学校
  12. 为什么编程是21世纪的核心技能
  13. 编程能力有多大用处?
  14. 编程岗位需求有多大?

轻触这里

关闭目录

目录