IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    现今主流的编程语言的来历

    summer发表于 2016-10-28 08:32:28
    love 0

    这个数据主要根据TIOBE进行按序说明,目前是2016年10月,挑选前七名进行说明。

    Java

    • 生日:1995年5月
    • 起源:20世纪90年代,sun公司为了在电视机顶盒等电子产品智能化过程中抢占先机,成立了一个叫Green的team。由于C++嵌入单片机过于复杂和庞大,另外由于跨平台的问题,Green在C++的基础上开发了Oak。1995年,由于网页传播的需要,sun公司使用Oak推出了Applet,并更名Oak为Java(原因是Oak已经被人注册了)
    • Java的编译器和虚拟机(解释器)主要是用C和C++(界面)写的,夹杂少量汇编
    • Java之父:詹姆斯·高斯林(James Gosling)
    • 应用领域:
       Android应用
       在金融业应用的服务器程序
       网站(只能说能用,绝不是好的选择)
       嵌入式领域
       大数据技术(hadoop)
       高频交易的空间
       科学应用(nlp包)
       

    C

    • 生日:1972年
    • 起源:1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。20世纪60年代,美国AT&T公司贝尔实验室的Ken Thompson闲着没事,背着老板想用一台闲置的没有系统的电脑打游戏,由于没有系统不行,他就开发了Unix系统,Dennis M.Ritchie为了更快玩上游戏,就改造了B语言。1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了C语言
    • 第一个C语言编译器应该是用汇编写的,但是第一个成熟的C语言编译器应该是由汇编和C语言共同写的。使用“自举编译器”的原理。
      自举编译器的一点说明(来自知乎):
      你想创造一门V语言而且用V语言来写V编译器的话,你得按照下面的方法做:
      1、用C++把那个编译器(A)写出来,顺便留下很多测试用例。
      2、用V语言把那个编译器写(B)出来,用A.exe来编译B,修改直到所有测试用例都通过为止。
      3、B.exe来编译B自己得到B2.exe,修改直到B2.exe所有测试用例都通过为止。这是为了保证,就算B本身有很多bug,至少编译自己是没有bug的,从而你就可以走到第四步。
      4、当你觉得有信心了,用A.exe把B编译一遍,就得到了B.exe。然后A的代码和A.exe都在也不需要存在了,删掉他们。以后你就不断的用B.exe来编译下一个版本的B就好了。就自举了。
    • C语言之父:丹尼斯·里奇(Dennis MacAlistair Ritchie)
    • 应用领域:
       应用软件(linux上大部分软件均用C开发)
       对性能要求严格的领域
       系统软件和图形处理(绘图能力)
       数字计算
       嵌入式设备开发
       游戏软件开发
       

    C++

    • 生日:1983年
    • 起源:20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。他对Simula的类体系感受颇深,对ALGOL的结构也颇有好感,以C为背景,以Simula思想为基础,正好符合他的设想。1979年,Bjame Sgoustrup到了Bell实验室,从事改良C的工作,1983年该语言被正式命名为C++
    • 据说cfont是让C++代码编译成c代码.然后用c语言编译器来编译成可执行文件
    • C++之父:本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)
    • 应用领域:
       游戏
       科学计算(数值计算库)
       网络软件(网络通信库)
       分布式应用
       操作系统
       设备驱动程序
       移动(手持)设备
       嵌入式系统

    C#

    • 生日:2000年6月
    • 起源:C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了 Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角
    • C#之父:安德斯·海尔斯伯格 (Anders Hejlsberg)
    • 应用领域:
       Windows窗体应用程序
       Web应用程序(中国移动的部分业务平台)
       移动设备应用程序,即嵌入式开发领域

    Python

    • 生日:1991年
    • 起源:1989年圣诞节期间,在阿姆斯特丹,Guido(龟叔)为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承
    • Python的解释器有多种实现方式,通常意义上是用C
    • Python之父:吉多·范罗苏姆(Guido van Rossum)
    • 应用领域:
      数据库
      Windows编程
      多媒体
      科学计算
      网络编程
      图形用户界面
      开发环境与编辑器
      集成开发环境(IDE)
      代码编辑器(gvim,emacs)
      嵌入和扩展
      游戏编程
      企业与政务应用

    Javascript

    • 生日:1992年
    • 起源:工作于 Netscape 的 Brendan Eich,开始着手为即将在 1995 年发行的 Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言,当时的目的是在浏览器和服务器(本来要叫它 LiveWire)端使用它。Netscape 与 Sun 及时完成 LiveScript 实现。就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。
    • JS一般都通过JS引擎去解析的,google chrome的js引擎是v8,使用C++编写的
    • JS之父:布兰登·艾奇 (Brendan Eich)
    • 应用领域:
       网站开发
       移动开发
       桌面开发( chrome 等浏览器能把 js 写的程序打包成桌面应用)
       插件开发

    PHP

    • 生日:1994年
    • 起源:1994年Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序
    • 解释器开始是用Perl语言编写的,后来又用C语言重新编写
    • PHP之父:拉斯姆斯·勒多夫(Rasmus Lerdorf )
    • 应用领域:
       服务端脚本
       命令行脚本
       编写桌面应用程序(PHP-GTK)


沪ICP备19023445号-2号
友情链接