第一代语言:
机器语言(二进制方式)
第二代语言:
汇编语言
- 解决人类无法读懂机器语言的问题
- 指令代替二进制
第三代语言:
摩尔定律:当价格不变时,集成电路上可以容纳的晶体管数目,大约每18个月就会增加一倍,性能也将提升一倍,换而言之,就是每一美元能买到的电脑性能,将每隔18个月翻两倍以上
高级语言
-
大体上可以分为两大类:面向过程和面向对象
-
C语言是典型的面向过程的语言,C++,Java是典型的面向对象的语言
-
各种语言:
-
C语言 :1972年诞生。C语言是一门面向过程的计算机编程语言,C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
贴近硬件,运行极快,效率极高;
操作系统,编译器,数据库,网络系统;
指针和内存管理。 -
C++(比C更复杂):
1982年诞生;
面向对象,兼容C;
图形领域,游戏等。 -
C#
-
Python
-
PHP
-
JavaScript
… -
Java:
在 C++之后,人们想建立一种新的语言:语法有点像C;没有指针;没有内存管理;真正的可移植性,编写一次,到处运行(在每个操作系统之上增加一个抽象层,叫做JVM,Java虚拟机,所有平台只要安装JVM,就可以跑Java程序);面向对象;类型安全;高质量的类库;…
微软的BillGates说Java是迄今为止设计最好的语言,但是他买了Java的许可证之后,再自家的浏览器上支持applet(图形界面程序),想偷偷修改Java,把Java绑死在Windows上赚钱,最后Java逼着微软退出了Java领域,然后微软自家开发了.NET
1998,Java2标准版(J2SE):占领桌面
Java2移动版(J2ME):占领手机
Java2企业版(J2EE):占领服务器
后来JavaEE发展了下来,人们发现他适合团队开发大型项目
他们给予Java开发了很多平台,系统,工具:
构建工具:Ant,Maven,Jekins
应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
web开发:Atruts,Spring,Hibernet,myBatis
开发工具:Eclipse,Netbean,Intellij Idea,Jbuilder
…
2006:Hadoop(大数据领域)
2008:Android(手机端)
然后,一个伟大的帝国诞生了
三高:高可用,高性能,高并发
-
Java的特性和优势:
- 简单性
- 面向对象
- 可移植性(跨平台,write once,run anywhere)
- 高性能
- 分布式
- 动态性(反射机制)
- 多线程(交互)
- 安全性(每次运行之前对内存进行检查,确认合法)
- 健壮性