尚学堂JAVA最全教程配合JAVA300集视频课程,一集一个文档本文档配合:java300集第一季002集【最新文档更新请加入尚学堂】【专业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基础上,一九八三年又由贝尔实验室的BjarneStrou-strup推出了C++。C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。JAVA语言SUN公司的JAVA也是以C/C++为原型开发的,甚至有人将JAVA称之为“C++-”(C加加减).看名字就知道是将C++中某些不太好用的地方砍掉!Object-C语言现在IOS和Mac开发中的主流语言。根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。它主要使用于MacOSX和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。C#语言微软发明的一种希望替代JAVA的语言。盖茨曾经非常认可JAVA,,“JAVA是我见过最好的语言”,因此,微软跟JAVA曾经有一段蜜月期,合作非常好。但是后来由于版权纠纷,闹掰了。盖茨一怒之下,就要搞一个比JAVA更好的语言。因此,我们在C#中可以看到大量的JAVA中有的特性,非常明显的”山寨”,当然也可以称为”微创新”。创新都是源自”山寨”。但是,微软山寨了JAVA的细节,但是没有学到JAVA的精华,即跨平台。当然,这跟微软本身的公司特性有关,微软名字叫做:Microsoft,但是我们知道他的核心产品是windows,所以他希望将他所有的产品都跟windows绑定再一起,这样C#就失去了JAVA的跨平台的优势。附:贝尔实验室(IT行业的圣地)晶体管、激光器、太阳能电池、发光二极管、数字交换机、通信卫星、电子数字计算机、蜂窝移动通信设备、长途电视传送、仿真语言、有声电影、立体声录音,以及通信网、C语言、C++语言等许多重大发明的诞生地。详情请参考百度百科:附:历史上最古老的IT公司IBMIBM(InternationalBusinessMachinesCorporation),国际商业机器公司,或万国商业机器公司的简称。总公司在纽约州阿蒙克市,1911年创立于美国,是全球最大的信息技术和业务解决方案公司。详情请参考百度百科:附:微软的前景堪忧微软的核心产品是windows.微软的成长基本上跟个人电脑PC的普及和发展是同步的。但是,随着手机、平板电脑的发展,我们发现个人电脑的地位明显的在下降,这也意味着windows的地位在显著的下降。“成也PC,败也PC”.如果,微软不在手机和平板电脑上发力,将不可避免的沦为”第二个诺基亚”。---尚学堂老高扯淡预言附:山寨和创新任何一种创新都不是凭空天上来的,都是基于以前的旧事物发展的。都是一种”山寨”.我们看到计算机语言的创新史其实就是一部山寨史。当然,如果把别人的跌出拿来只换个名字那叫耍流氓、不要脸,是真的”山寨”。如果把别人的东西拿来进行改进,做的更好,那才就叫”创新”。---尚学堂老高扯淡语录附:到底应该学哪门语言很多童鞋会有疑问,到底应该学什么语言呢?纠结了很长时间,仍然没有下手。我的说法是,JUSTDOIT!学了再说。其实,天下文章一大抄,语言之间固然有差异,但是隐藏在语言背后的编程思维方式没有差别。如果你精通了一门语言再去学其他语言,很快就可以上手。纠结是个坏毛病。小时候,老是纠结于以后做爱因斯坦呢还是盖茨呢?纠结了很多年。长大了,才发现真的是想太多了!---尚学堂老高扯淡语录JAVA语言的发展史SUN公司介绍SUN公司全称是:StanfordUniversityNetwork.SUN公司是从斯坦福大学孵化器出的高科技公司。创立后,曾经市值名列IT公司第一位。在2001年时,市值2100亿美元,远超过google公司、IBM公司。SUN公司不仅打败了包括IBM在内的全部工作站(WorkStation)和小型机(MiniComputer)公司,而且依靠它的Solaris(一种Unix)和风靡世界的Java程序语言,成为在操作系统上最有可能挑战微软的公司。太阳公司不乏能人,它不仅为Google培养了CEO埃里克.施密特和首任工程部副总裁韦恩.罗森(WayneRosen),并且在一定程度上奠定了今天Google工程部门的基础。当然,今天的SUN公司已经一落千丈,并且被oracle公司收购。sun公司从成立到市值2000亿美元经过了20年,但是走下坡路只用了1年时间!这就是IT行业的残酷性!JAVA的诞生和核心特点上世纪90年代初,SUN公司的JamesGosling(高司令,^_^)领导的Green项目,着力打造一个分布式的、可以在消费类电子产品(如电视机顶盒)使用的系统架构。这种架构中,要求写的代码可以运行在各种消费类电子产品中,即要求代码的中立性、跨平台性。最初,Green项目使用的C++,但是在研发过程中发现C++并不能很好的适应新的需求。于是,这些高人对C++编译器做了改写,仍然不太理想,不太符合跨平台的特性。牛人有牛人特有的牛脾气,于是,大家决定重起炉灶,开始研发一种新的语言,即JAVA.经过一年半的研发,整个产品研发完成。但是,很遗憾,消费类电子产品并没有高速的发展起来,JAVA进入蛰伏期。【注】跨平台特性,始终是JAVA的核心优势!JAVA的飞速发展无心插柳柳成荫!90年代中末期,有一个改变世界的大事出现了:互联网的爆发式增长。在传统产业,例如钢铁产业要想取得产量翻番,那需要很多年的时间。但是,在互联网行业都是呈指数级增长,爆炸式的增长。google可以在短短几年就增长到上千亿美元市值。互联网将各种各样的电脑连到了一起,这时,我们发现电脑的操作系统各种不同。因此,急需一种跨平台的语言,通过它编写的程序可以在各种平台上运行。JAVA正好符合这种需求。使用JAVA编写的applet程序给了90年代的人们极大的震撼,于是JAVA迎来了他的黄金时代!JAVA诞生后,经历了如下版本的发展变化:•1991年,Sun公司的Green项目,Oak•1995年,推出Java测试版•1996年,JDK1.0•1997年,JDK1.1•1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,更名为Java2•2004年,J2SE5.0(1.5.0)Tiger老虎•2006年,J2SE6.0(1.6.0)Mustang野马•2011年,JAVASE7.0JAVA的特性和优势简单性就是c++语法的纯净版。没有头文件,指针运算,结构,联合,操作符重载,虚基类等等。由于语法基于c,因此学习起来完全不费力。面向对象面向对象是一种程序设计技术,他将重点放在数据(即对象)和对象之间的接口上。可移植性(跨平台性)这是JAVA的一个重要的优势。JAVA代码或者说字节码、二进制码可以跨平台的移植,而不用管具体的操作系统和硬件环境。JAVA本身就是面向网络的,只有在网络环境中才能显示出他的优势,比如:现在我有一个网络环境,要让我的笔记本和手机