java(计算机语言发展历史)

计算机语言如果你将它当做一个产品,就像我们平时用的电视机、剃须刀、电脑、手机等, 他的发展也是有规律的。

任何一个产品的发展规律都是:向着人更加容易使用、功能越来越强大的方向发展。

那么,我们的计算机语言的发展也是这样,向着人更加容易使用,即更加容易写代码、更加容易实现现实逻辑的方向发展。套用奥林匹克的口号“更高、更快、更强”。那么计算机发展的主线可以总结为四个字:“更易、更强”。

这个”更易、更强”的主线,也适用于任何的产品。如果,读者朋友以后要开公司创造自己的产品或者服务(服务也是一种产品)。你的产品是否符合”更易、更强”这个规律,也决定了产品能否取得成功,能否击败现有市场上同类型的产品!当然,也直接决定了你能否发财,能否养得起老婆孩子啦!

计算机语言一般意义上划分为:

第一代语言:机器语言

 我们都知道计算机的基本计算方式都是基于二进制的方式。如下就是一段典型的机器语言代码:

  这种代码是直接输入给计算机使用的,不经过任何的转换!当然,在计算机刚发明的时候,计算机也是稀罕物,人却有很多。物以稀为贵嘛,人就只能迁就计算机,采用了这样一种计算机可以直接识别的代码。当然,这种代码计算机非常受用,不需要做任何转换,直接执行,太爽了!

可是,人就不爽了!这样的代码,又有几个人能写,又有几个人能读懂!如果用来解决最简单的计算问题,凑合着用,没问题。如果要解决复杂问题,需要写几千行、几万行这样的代码,估计谁写谁疯。如果现在我们仍然使用第一代语言,我相信所有程序员最终只能将精神病院作为最后的归宿了。

第二代语言:汇编语言

 为了解决机器语言无法读懂的问题。很自然,我们就想到能不能使用人可以读懂的单词来代替一些二进制指令和数据,方便我们人去读、编写代码。于是,汇编语言诞生了。他使用了大量的助记符来代替二进制指令,方便我们人去编写代码。如下是一段典型的汇编语言代码:

显然,这样的代码,要比起机器语言来,对于我们程序员来说,爽了很多,至少不需要再去背诵那些难记的二进制指令了!于是,有了更好的武器,意味着我们可以解决更复杂的代码,写个几百行、几千行汇编语言代码也成为不那么复杂的事情。

【注】现在仍然有很多领域在使用汇编语言,比如:操作工业机器人、单片机编程、甚至某些计算机病毒的编写等。

第三代语言

随着晶体管、集成电路的出现,计算机的功耗越来越小、速度越来越快,计算机很快深入到了各行各业。有个很著名的定律叫做摩尔定律,他深刻的展示了计算机发展的规律:

“当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18个月翻两倍以上” 

         英特尔公司创始人---戈登·摩尔

摩尔定律在我们身边有着实实在在的体验,我们现在手边用的电脑、手机比起十年前强大的很多倍,但是价格实际上确越来越低!十年前,北京房价是3000一平的地方,现在涨到了4万,涨了十多倍。十年前,一个笔记本需要两万人民币,现在只需要几千元,但是性能确更好。我们多么希望,房价也能遵循摩尔定律啊!

这样,随着计算机深入更多的企业、单位、甚至更人。我们很自然的就希望使用计算机解决我们身边的问题。这种需求越来越明确,越来越复杂。汇编语言在体系结构设计上的缺陷,根本无法胜任解决复杂问题。使用汇编语言写几万行代码,几十万行代码,那真的可以称之为”噩梦”.

于是,各种各样,结构化设计更加优良的第三代语言诞生了。例如:C语言、Fortran、cobol、pascal、ada、c++、java、c#。

第三代语言数量众多,大体上分为:面向过程和面向对象两大类。C语言是典型的面向过程的语言。C++、JAVA是典型的面向对象的语言。

大家在学习过程中,不要有这样的误解。学了面向过程会对学习面向对象有不好的影响,影响思维。那纯属扯淡,只能说明你面向过程根本没入门! 事实上,面向过程和面向对象是相辅相成的。 在面向对象编程中,也离不开面向过程。关于,面向过程和面向对象的区别,我们将在面向对象章节中详细说明。

C语言

第三代语言中,C语言是最重要的!可以称之为“现代语言的鼻祖”。其他很多语言都跟C语言有千丝万缕的联系!

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发

C++语言

显然就是C语言的升级版,看名字我们就知道了,就是C语言面向对象的版本!在C基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。

JAVA语言

SUN公司的JAVA也是以C/C++为原型开发的,甚至有人将JAVA称之为“C++-”(C加加减).看名字就知道是将C++中某些不太好用的地方砍掉!

Object-C语言

现在IOS和Mac开发中的主流语言。 根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。 

C#语言

微软发明的一种希望替代JAVA的语言。盖茨曾经非常认可JAVA,,“JAVA是我见过最好的语言”,因此,微软跟JAVA曾经有一段蜜月期,合作非常好。但是后来由于版权纠纷,闹掰了。盖茨一怒之下,就要搞一个比JAVA更好的语言。因此,我们在C#中可以看到大量的JAVA中有的特性,非常明显的”山寨”,当然也可以称为”微创新”。创新都是源自”山寨”。但是,微软山寨了JAVA的细节,但是没有学到JAVA的精华,即跨平台。当然,这跟微软本身的公司特性有关,微软名字叫做:Microsoft,但是我们知道他的核心产品是windows,所以他希望将他所有的产品都跟windows绑定再一起,这样C#就失去了JAVA的跨平台的优势。

附:贝尔实验室(IT行业的圣地)

    晶体管激光器太阳能电池、发光二极管、数字交换机通信卫星、电子数字计算机、蜂窝移动通信设备、长途电视传送、仿真语言、有声电影立体声录音,以及通信网、C语言、C++语言等许多重大发明的诞生地。 

详情请参考百度百科:http://baike.baidu.com/view/37115.htm 

附:历史上最古老的IT公司IBM

    IBM(International Business Machines Corporation),国际商业机器公司,或万国商业机器公司的简称。总公司在纽约州阿蒙克市,1911年创立于美国,是全球最大的信息技术和业务解决方案公司。

 

 详情请参考百度百科:http://baike.baidu.com/view/1937.htm 

附:微软的前景堪忧

        微软的核心产品是windows. 微软的成长基本上跟个人电脑PC的普及和发展是同步的。但是,随着手机、平板电脑的发展,我们发现个人电脑的地位明显的在下降,这也意味着 windows的地位在显著的下降。“成也PC,败也PC”. 如果,微软不在手机和平板电脑上发力,将不可避免的沦为”第二个诺基亚”。

---尚学堂老高扯淡预言

附:山寨和创新

        任何一种创新都不是凭空天上来的, 都是基于以前的旧事物发展的。都是一种”山寨”. 我们看到计算机语言的创新史其实就是一部山寨史。当然,如果把别人的跌出拿来只换个名字那叫耍流氓、不要脸,是真的”山寨”。 如果把别人的东西拿来进行改进,做的更好,那才就叫”创新”。

---尚学堂老高扯淡语录 

附:到底应该学哪门语言

       很多童鞋会有疑问,到底应该学什么语言呢? 纠结了很长时间,仍然没有下手。我的说法是,JUST DO IT!  学了再说。 其实,天下文章一大抄,语言之间固然有差异,但是隐藏在语言背后的编程思维方式没有差别。如果你精通了一门语言再去学其他语言,很快就可以上手。

纠结是个坏毛病。小时候,老是纠结于以后做爱因斯坦呢还是盖茨呢?纠结了很多年。长大了,才发现真的是想太多了!

猜你喜欢

转载自www.cnblogs.com/xinshang520/p/9199447.html