一场旷日持久的战争
聊到java,不得不说c语言的帝国
- 1972年c语言的诞生
- 贴近硬件,运行极快,效率极高。 (因为它也有汇编语言的特点)
- 操作系统,编译器,数据库,网络系统等
- 但是c语言为程序员按上了两个沉重的枷锁 指针和内存管理虽然指针无比的强大,能够直接去操作list,但是c语言并没有给程序员一个工具,去做一些越界的检查。导致新手程序员经常容易犯错至于内存管理,c语言完全的放任的。自己申请的空间,自己去释放。这对程序是要命的,因为这些错误在编写的时候是看不出来的。只有在运行的时候才会突然暴露。常常让程序员手忙脚乱,昏天黑地的去调试。他们大量的时间和精力都被花费在小心翼翼的去处理指针和内存的分配上。正是这样,所有的程序员都被搞得焦头烂额。 在开始的时候,c语言告诉人们,他们是可移植性的。它说我们只要在这一台机器上写的代码,在另一个机器上编译就可以了。它要求所有的人尽可能的去使用它们c的一个函数库。针对不同的平台,每个平台它都要写一份函数库,有一点小小的错误就会导致编译失败。 真是因为这样的 “暴政”,固然c语言效率特别的高,也慢慢不再受喜欢了
- 1982年c++诞生
- 面向对象
- 兼容c
- 图形领域,游戏等
真是因为这样的缺点,使的有一群人想要去建立一种新的语言。那么对于新的语言为了让更多的人接受,这个新语言就要具备更多的有点
- 建立新语言
- 语法有点像c
- 没有指针
- 没有内存管理
- 真正的移植,编写一次,到处运行
- 面向对象
- 类型安全
- 高质量的类库
- ...
最开始 他们起了一个名字叫做 c++--,就是在c++上去掉它的一些不好的地方。后来发现设计理念偏差的太多了,因为他们想要另起炉灶重新定义一门语言。有换名字叫做oak,后来注册的时候发现有人已经注册了,后来讨论的许久就命名为了java。 另外为了实现真正的移植性,他们在每个操作系统之上又抽象了一层,叫做jvm 虚拟机。
- Java出生创建完成java之后,他们为了吸引更多的人加入,他们搞了一个演示。向大家展示java的能力。但是刚刚出生的java还没有完善。演示点什么好呢,于是他们把眼光定向了1995年刚刚兴起的一个互联网,所有的网页刚刚出生的时候特别的丑
- 1995年的网页简单粗糙,缺乏互动性
- 图形界面的应用程序(Applet)于是他们在浏览器上弄了一个小插件,把java运行环境放了上去。然后在上面开发了一个叫图形界面的程序Applet,Applet早年我们都是要学习的,当然现在己经被淘汰了,现在的js比较流行对不对。但是在这让早年的程序看到都会发出:哇!这是什么东西,这么厉害。它让那些简单粗糙的网页看起来更美轮美奂,震撼人心了一些。于是乎,java活了,通过Applet,无数的程序员看到了java这门语言。了解了java语言的特性之后呢,许多无法忍受c语言暴政的程序员很快加入了他们,就连当时的网络巨头也纷纷加入合作(包括Oracle,微软),从此,java越来越强大了。
- java 2 标准版(J2SE):去占领桌面
- java 2 移动版(J2ME): 去占领手机
- java 2 企业版(J2EE):去占领服务端
- Java的发展
- 他们基于java开发了巨多的平台,系统,工具
- 构建工具:Ant,Maven,Jekins
- 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
- web开发:Struts,Spring,Hibernate,myBatis
- 开发工具:Eclipse,Netbean,intellij idea,Jbuilder
- ...
- 2006:Hadoop(大数据领域)而在2006年一支叫做Hadoop的军队使得java入侵了大数据领域。
- 2008:Android(手机端)2008年Android横空出世,java王国在谷歌的帮助下,以意想不到的方式占领了手机端,完成了当年j2ME没有完成的事业从此 一个伟大的帝国诞生了!故事到这里就结束了。大家可以从故事中吸收一些有效的信息来对自己有帮助。
- 他们基于java开发了巨多的平台,系统,工具
那么截止到目前,有几千万的程序员会java。但是将java精通的人我认为只有百分之一。所以我们要争取做那百分之一的人。