java背后的芸芸众生

一、前言

学校的java程序语言设计课程作业,要求选择几个当前热门的编程语言和java进行从市场、技术、设计、优劣等4个方面进行对比,下面我选择了经典的C语言和目前比较熟悉的JavaScript和java进行分析对比。

二、市场

  • Java
    • 2020年2月TIOBE编程语言排行榜第一位
    • 流行度:17.358%(对比上个月增长了0.462%)
    • 年度明星语言:
      • 2015
      • 2005
  • C
    • 2020年2月TIOBE编程语言排行榜第二位
    • 流行度:16.766%(对比上个月增长了0.993%)
    • 年度明星语言:
      • 2017
      • 2008
      • 2019
  • JavaScript
    • 2020年2月TIOBE编程语言排行榜第七位
    • 流行度:2.060%(对比上个月增长了0.391%)
    • 年度明星语言:
      • 2014

三、技术

  • Java
    • 后台服务端
    • Android开发
    • 大数据分析
    • Web应用程序
    • 分布式系统
  • C
    • 开发底层模块(比如驱动,解码器,算法实现)
    • 服务应用(比如Web服务器)
    • 嵌入式应用
  • JavaScript
    • 浏览器网页、手机端网页、小程序
    • 拓展node.js后端开发
    • 结合框架开发桌面级应用

四、设计

  • Java
    • 半编译半解释语言
    • 静态类型
    • 面向对象
  • C
    • 编译型语言
    • 静态类型
    • 面向过程
  • JavaScript
    • 解释型语言
    • 动态类型
    • 面向对象

五、优劣

  • Java
    • 优势:
      • 吸收了C++语言的优点,还摒弃了C++里难以理解的多继承、指针等概念
      • 具有功能强大和简单易用两个特征
      • 具有分布性、编译和解释性、稳健性、安全性、可移植性、多线索性、动态性
    • 劣势:
      • 为了跨平台的功能和极度的伸缩能力,增加了产品的复杂性
  • C
    • 优势
      • 能以简易的方式编译、处理低级存储器
      • 仅产生少量的机器语言以及不需要任何运行环境支持便能运行
      • 代码量少、运行速度快、功能强大
    • 劣势
      • 面向底层开发,复杂度高
      • 开发周期长
      • 可移植性不强
  • JavaScript
    • 优势
      • 轻量级、简洁性、用途广泛
      • 编辑、运行复杂度低
      • 事件驱动脚本语言
    • 劣势
      • 不同的浏览器的标准有或多或少的差异,兼容起来很麻烦
      • 不适合开发大型程序
      • 全局变量难以控制
      • 脚本语言,代码会在浏览器暴露,安全性不足

六、总结

整体上看,java这门语言的流行指数常年稳居前三也不是没有道理的,java毕竟应用范围广大,具有多方面开发拓展的优势,可以跨平台多领域上运行。代码的编写也有完善的体系和标准,不像JavaScript一样标准一直修改更新。而且这门语言理解起来并不复杂,不想C那样面向底层,有着极其复杂的指针拓展应用。

猜你喜欢

转载自www.cnblogs.com/wsg1111/p/12616350.html