时间:2020-8-24来源:本站原创作者:佚名
北京中科白殿疯怎么走 https://handan.house.qq.com/a/20160726/025122.htm

人与人之间进行沟通交流需要人类语言,而且语言之中蕴含有一套规则,意思怎么表达,话该怎么说,这就需要用到规则。程序员与计算机沟通交流,则需要使用计算机语言,计算机语言也有自己的一套规则。因此,我们学习计算机语言,实际上就是学习这套语言规则。

1.计算机语言发展历史

正确认识并了解计算机语言,以及它的过去和未来,更有助于计算机技术的普及发展以及人们的使用。计算机语言发展是一个不断演变的过程,其根本的推动力就是计算机程序的易用性与共享性需要不断提高,计算机程序的设计要逐步趋于合理化。

计算机语言的发展历程可以简单划分为以下几个阶段:

机器语言---汇编语言--高级计算机语言

机器语言:最初的计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,计算机只能被少部分人使用,人们需要用0、1组成的指令序列交由计算机执行,对于机器语言的使用与普及都是很令人头疼的问题。对于程序的移植能力几乎没有,从而时间成本,人力成本十分昂贵。但机器语言也不是没有优势,由于这种语言是直接对计算机硬件进行操作,所以在特定型号的计算机上面,运算效率也是很高的,机器语言的出现对于未来的计算机语言发展起到了很好的推动作用,所以机器语言也是第一代计算机语言。

程序员利用纸带穿孔来编程(机器语言)

汇编语言:汇编语言是在机器语言的基础上诞生的一门语言,用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,这也提高了语言的记忆性和识别性。对于程序的开发与维护起到了积极作用。汇编语言同样也是直接对硬件进行操作,这样依然局限了它的移植性。但是使用汇编语言针对计算机特定硬件而编制的汇编语言程序,对于计算机硬件的功能和特长的发挥已有了很大进步,它精炼而质量高,所以至今仍是一种常用的程序开发语言。

高级计算机语言:在与计算机的不断交流中,人们对计算机程序的移植性需求不断提高,此时急需要一种不依赖于特定型号的计算机的语言,用这种语言编写的程序能在在各种平台都正常运行。从最初的语言诞生至今,已经相继出现了几百种语言。高级语言的发展也从最初的结构化语言发展成为面向过程语言设计和面向对象语言设计。面向过程语言设计的代表有:C语言,Fortran,cobol,pascal,ada等等一系列语言,而面向对象语言设计的代表则为:java,c++,c#等。对于面向过程的程序来说,执行顺序是流水线似的,在一个模块被执行完成前,人们不能干别的事,也无法动态地改变程序的执行方向,这恰恰与人们的日常处理事情的方式相矛盾。而对于面相对象的程序设计来说,很好的将事物象的部分抽取归类,各个累与模块之间能相互组合,完成特定的功能,同时又能重复使用。对使用者的技术要求也相对降低。

这里讲一下C语言的故事。

20世纪60年代,贝尔实验室的研究员KenThompson(肯·汤普森)发明了B语言,并使用B编了个游戏-SpaceTravel,他想玩自己这个游戏,所以他背着老板找到了台空闲的机器-PDP-7,但是这台机器没有操作系统,于是Thompson着手为PDP-7开发操作系统,后来这个OS被命名为-UNIX。Thompson(肯·汤普森)发明了UNIX。

年,KenThompson的同事D.M.Ritchie(DM里奇),也很想玩SpaceTravel,所以加入了KenThompson,合作开发UNIX,他的主要工作是改进Thompson的B语言。最终,在年这个新语言被称为C,取BCPL的第二个字母,也是B的下一个字母。

年,C主体完成。KenThompson和D.M.Ritchie迫不及待的开始用C语言完全重写了UNIX。此时编程的乐趣已经使他们完全忘记了那个“SpaceTravel”,一门心思的投入到了UNIX和C语言的开发中。自此,C语言和UNIX相辅相成的发展至今。

KenThompson(左)和D.M.Ritchie(右)

2.目前常见计算机语言简介

(1)C语言

C语言是一种通用型命令式计算机编程语言,可以用它开发操作系统、开发软件和硬件设备。它的优势很多:比如可移植性强,体型小巧,几乎所有的现代编程语言,都脱胎于C,也就是说,如果了解C语言,会很容易掌握其他类语言。它的缺点是:没有的面向对象的概念,不提供命名空间功能。

(2)C++

它是一种面向对象编程的语言,被广泛视为最出色的大规模应用构建语言。它可以用来开发软件、搜索引擎、操作系统、视频游戏等。比起Java,C++的编程过程并不友好,但它很灵活。C++是目前我国信息学奥赛的指定语言。

(3)C#

它是一种强大而灵活的编程语言,事实上C#的功能仅限于我们的想象力。它可以用来开发windows应用、企业级业务应用、开发软件等。C#全面集成了.net库,可转换型强,需求也极其旺盛。它的缺点是学习曲线很陡峭,不具备跨平台的能力,因此不大适合新手学习。

(4)JAVA

Java无疑是目前市场需求量最大的语言。它的用途非常广泛,可以用来开发AndroidIOS应用、视频游戏开发、桌面GUIs、软件开发。它的缺点是:比如占用内存高于C++、学习曲线不是很友好,应用启动时间较长等。尽管这样,依然无法阻挡java前进的脚步,Java工程师的需求量也是远大于其他语言。

(5)Python

近年来随着AI的普及,Python的热度不断增长。它学习起来相对简单,上手难度低,拥有很广泛的工具及功能库。它可以用于web开发、视频游戏开发、桌面GUIs和软件开发等。目前Rasp-berryPi等新兴平台已经将其作为开发基础。同样,Python的缺点也很多:速度慢、移动领域表现糟糕、由于是动态语言,因此需要进行更多测试,并且会带来某些只在特定运行中出现的错误。不过,Python还将随着物联网技术的普及进一步发展。

(6)JavaScript

移动时代的到来,使得JavaScript的需求量增加了很多。它可以做很多事情:网站前端、分析、功能控件、web交互。并且,JavaScript的速度很快、容易学习,它还可以与其它多种语言协作。但是Javascript没有名称空间很难模块化,不太适合开发大型程序。

?

(7)Ruby

属于面向对象的通用型语言,可以用来开发桌面GUIs、web应用、和开发等。Ruby的工具和库很多,社区也很庞大。但Ruby也有很多问题,比如运行速度慢、缺乏说明文档等。

(8)PHP

它有很多用途,比如WordPress插件、web开发、创建包含数据库功能的页面等等。它易于上手、社区庞大、数据库丰富。但是由于学习门槛过低,导致项目中存在大量的经验不足开发者,某些开源代码甚至已经存在十余年之久。并且目前市场对PHP的需求量也不及其他语言。

年6月份编程语言排行榜TIOBE编程语言变化图

3.学好计算机语言和编程的方法

学习计算机语言与编程的方法很多,关键是要适合自己的。以下方法仅供参考。

(1)建立基本的编程思想

编程语言本身的难度并不高,只要掌握了相应的编程规则就能逐渐建立起自己的编程思想。建立编程思想的第一步是了解编程语言的基本语法规则,以Java语言为例,要掌握各种抽象概念,比如类、对象、属性、方法等;第二步是了解基本的编程过程,比如类的定义、对象的创建、方法的调用;第三步是学习经典的编程模式。

(2)注重动手编程练习

学习编程语言一定要重视编程练习,动手编程练习不仅能够帮助理解各种抽象概念,也能在一定程度上积累编程经验。

(3)学习相关知识

在学习编程语言的过程中,也需要同时学习其它相关的知识,比如数据结构与算法、计算机网络、数据库等,在当前的云计算和大数据时代背景下,还需要掌握如何通过云计算(PaaS)来辅助开发,以及如何利用大数据平台的各种资源。

总之,就是多学多问多练!特别是多练!

谢谢阅读,欢迎点赞、评论、转发和
转载请注明原文网址:http://www.helimiaopu.com/bbqb/7989.html

------分隔线----------------------------