计算机语言发展史

计算机语言发展史

第一代语言:机器语言

最基本的计算机计算方式是基于二进制的方式

二进制:01010101111010110100

现在的代码最底层的计算还是二进制,是与计算机进行交互的直接语言

第二代语言:汇编语言

解决了人类无法读懂机器语言的问题

指令代替了机器码

第三代语言:高级语言

大体分为:面向过程和面向对象两大类。普遍意义上说:C语言是面向过程的语言,C++和Java是面向对象的语言

各种语言(有时间的话,要详细研究一下):

  • C语言
  • C++
  • JAVA
  • C#
  • Python
  • PHP
  • R语言
  • ...

JAVA的崛起

强大的C和C++帝国

  1. 1972年,初代魔王C语言诞生!凭借其超强的运算速度和极高的处理效率,在操作系统、数据库和网络系统等重要基础领域应用广泛,是现代编程语言的鼻祖。但是由于其指针和内存管理的应用,导致他的可移植性极差,并且学习困难,容易出错。
  2. 1982年C++诞生,在C的基础上引入了面向对象概念,在图形、游戏等领域吃的比较开。

java的诞生

为了对抗C和C++帝国,一些人(Patrick Naughton和James Gosling)在1991年试图设计一种语言(由于其开发背景,以C+为基础),需要具有一定的特点:

  • 没有指针
  • 没有内存管理
  • 真正的可移植性(编写一次!到处运行!!!)
  • 面向对象
  • 类型安全
  • 高质量的类库
  • ...

于是,java就诞生了

java的发展

刚刚诞生的时候,由于网页的简单且粗糙,缺乏互动性,java开发出了applet图形界面程序,迎来了第一个春天。

但是人们发现java,除了在图形界面有用处之外,其他并没有多大用处。于是,Java派出三路大军,java2标准版,去探索桌面端;java2移动端,去探索手机端;java2企业版,去探索服务器端。

最后,惊奇的发现:java太TM适合服务器端了!(三高:高可用、高性能、高并发)

随后,各大巨头进军java,开发出非常多的平台、系统和工具:

  • 构建工具:Ant、maven、jekins
  • 应用服务器:tomcat、jetty、jboss等
  • web开发:Struts、Spring、Hibernate、mybatis、springMVC
  • 开发工具:Eclipse、Intellij Idea、netbean
  • ....

后边又开发出:Hadoop(大数据)、Android(手机端)

JAVA的特性和优势

  • 简单性

java是C++语法的简化版,可以叫做”C++--“,相对于C++,java简化了很多东西:指针、内存管理、头文件、结构、联合、操作符重载、虚基类等等。

  • 面向对象

万物皆可对象!面向对象是一种程序设计技术,非常适合大型复杂软件的设计与开发。C++在C的基础上兼容了C,具有一定的面向对象特性。java是比较彻底的面向对象语言,但面向对象和面向过程在程序设计中是一种相辅相成、相互促进的关系。

  • 可移植性

java!核心科技!java的设计初衷之一就是创造一个可移植性强的语言。比如:Java的int永远都是32位。不像C++可能是16,32,可能是根据编译器厂商规定的变化。

  • 高性能

java最初发展阶段,总是被人诟病“性能低”;客观上讲,高级语言的运行效率总是要比低级语言低。随着java的发展,java虚拟机的优化提升了java几十倍的运行效率。

比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。 将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使Java程序的执行效率大大提高,

某些代码甚至接近C++的效率。因此,Java低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多C++应用转到Java开发,很多C++程序员转型为Java程序员。

  • 分布式

java是为internet的分布式环境设计的,因为它能够处理TCP/IP协议。事实上通过URl能够方位一个网络资源和访问本地文件一样简单。并且java还支持远程方法调用(RMI,Remote Method Invocation)

  • 动态性

java的动态性主要体现在java的反射机制,能够通过改变外界文件,对程序进行更改。

  • 多线程

多线程的使用可以带来更好的交互响应和实时行为。 Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。比如,你可以听歌的同时,玩游戏。

  • 安全性

Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以很容易构建防病毒,防篡改的系统。沙箱机制、类加载等

  • 健壮性

针对内存,建立了较好的内存管理机制(自动垃圾回收机制GC),并且针对程序异常,创建异常机制。

JAVA三大版本

  • JavaSE:标准版(桌面程序,控制台开发)
  • JavaME:嵌入式开发(手机、小家电)
  • JavaEE:企业级开发(web端、服务器开发)

JAVA运行环境

  • JDK:Java Development Kit
  • JRE:Java Runtime Environment
  • JVM:JAVA Vir tual Machine

三者关系图

posted @   疯狂的豆包  阅读(586)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示