C&C++
C语言1972年诞生
特点:
- 贴近硬件,运行极快,效率极高。(有汇编语言的特点)
- 多用来开发:操作系统,编译器,数据库,网络系统
- “枷锁”:指针和内存管理
指针强大,可以直接操作内存,但是c没有提供内存管理工具,不熟练容易犯错。很多问题在编译时发现不了,只有运行了才知道
可移植性不强,很容易出错
C++1982年诞生
相比C有了一些静态类型的检查,性能比较好,但是语言更复杂
特点:
- 面向对象
- 兼容C
- 更多用于:图形领域,游戏等
Java
Java诞生与1995年
根据C创造,最初概念“C+±-”(移除不好的东西)
特点:
- 语法像C
- 没有指针
- 没有内存管理
- 真正的可移植性(只要安装JVM,java程序就可以运行)
- 面向对象
- 类型安全
- 高质量类库
兴起:网页图形界面的程序(Applet)
三大版本:
Java 2 标准版(J2SE):桌面
Java 2 移动版(J2ME):手机
Java 2 企业版(J2EE):服务器
三高:高可用、高性能、高并发
基于Java开发
- 构建工具:Ant,Maven,Jekins
- 应用服务器:Tomcat,Jetty,Jboss,Webshphere,Weblogic
- Web开发:Struts,Spring,Hibernate,myBatis
- 开发工具:Eclipse,Netbean,Intellij idea,Jbuilder
2006:Hadoop(大数据领域)
2008:Android(手机端)
特性和优势
- 简单性: 去除了指针和内存机制
- 面向对象: 符合人类的思维模式,万物皆是对象
- 可移植性: 跨平台性。java在jvm上运行,各平台系统只需要安装jvm就可以运行java。“write once run any where”
- 高性能: 拥有即时编译能力,媲美c的性能
- 分布式: 能访问网络url
- 动态性: 拥有反射机制
- 多线程: 更好的交互行为和事实行为
- 安全性: java花费大量精力完善安全性问题,防病毒、防篡改
- 健壮性: 运行时检查内存,设有异常机制防止程序崩溃