计算机语言发展简史

第一代语言

机器语言

  • 计算机的基本计算都是基于二进制
  • 二进制:0和1构成进制,逢2进1(满1进位) ,例: 101011100010011010111
  • 这种代码计算机可以直接使用不需要任何转换

第二代语言

汇编语言

  • 解决人无法读懂机器语言的问题
  • 指令代替二进制

目前应用

  • 逆向工程
  • 机器人
  • 病毒

第三代语言

高级语言

  • 大体上分为面向过程和面向对象两个大类.
  • C语言是典型的面向过程的预言.C++、Java是典型的面向对象的语言.

各种语言

C语言:

1972年诞生,面向过程的语言,他有高级语言的特点也有汇编语言的特点,广泛应用在操作系统编译器,数据库,网络系统中,适合编写一些不依赖计算机硬件的应用程序,更贴近硬件,运行极快,效率极高,应用广泛,数据处理能力强,是所有高级语言的鼻祖;指针和内存管理即时特点也深受诟病,指针能够操作内存,但没有相关工具去做越界检查,新手程序员容易犯错;内存管理则是自己分配的空间自己去释放,编译期间难以发现,运行程序大量报错

C++:

1982年诞生,C语言的面向对象的版本,兼容C的同时进一步扩充和完善了C语言,比C语言更复杂,学习难度提升,广泛应用在图形,游戏等领域;表面的可移植性,实际环境少有变动就容易编译失败,建议先学习计算机底层相关内容再考虑学c++

Java:

最开始准备叫C+±-,后来发现设计理念偏差太多,于是想取名叫oak,结果发布的时候才知道"名称已被使用",多次选择后最终选择了Java这个名字;

语法有点像C,删减去了C++中比较难学的部分,降低学习成本比较容易接受

没有指针,没有内存管理

真正的可移植性,一次编写随处运行,为了实现跨平台特性,java在操作系统之上又增加了一个抽象程——Java虚拟机(JVM);所有的平台上只需要安装上了Java虚拟机就能够运行java程序

面向对象

类型安全

高质量的类库,随语言发行提供给大家

1995年网页简单儿粗糙、缺乏互动性;Java的开发者在浏览器上制作了一个小插件,把Java的环境放在了上面,在上面开发了一个图形界面程序(Applet),这个程序可以让以前那些简单枯燥的网页看起来更加有意思,更加美观;趁着互联网时代来临,Java抓住这次机会给大家做了一次演示,成功吸引到了更多人来开发并使用这个平台

ps: Bill Gates说Kava是迄今为止设计最好的语言,并买了Java许可证,尝试把Java绑死在windows上赚钱,试图让Java变得不可移植,这与Java最初创立的目的背道而驰了,于是Java与微软就爆发了一次战争,最终Java逼着微软退出了Java领域,而微软自己也开发了一套新的环境——.net

但此时的Java还仅仅只能给网页增加效果,没有更多的程序环境支持,被嘲笑为只能在网页上玩玩的小玩具

其实背地里Java已经预谋了Java2版本的三个方案:

  • Java2SE用以占领桌面端;

  • Java2ME用以占领手机端;

  • Java2EE用以占领服务器;

其中两个方案很快被淘汰:

​ 开发桌面端的程序员接受不了Java,虽然Java有一个开发界面的程序,但是开发出来的界面非常难看,和原生界面差距比较大,尤其是为了运行程序还得安装虚拟机让人难以接受,与之碰到相同问题的还有Java2ME

失之东偶收之桑榆,Java2没能赶上手机和桌面端的潮流,却也凭借服务器的应用大受好评,大家发现使用Java后的服务器程序更强大,简单,安全,而且跨平台,在Java2EE的规范指导下,大家发现java特别适合一些团队开发复杂而大型的项目

三高问题:高可用,高性能,高并发

2006年java通过Hadoop进入大数据领域

2008年Java通过Android进入手机端

C#:

读C sharp,由微软开发,拥有大量的Java特性,但依赖windows环境,不跨平台不通用

Python:

大数据分析,人工智能领域广泛应用

PHP:

快速构建网页

JavaScript:

让网页拥有更多的动态效果

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值