当前位置: 首页 > news >正文

论《Java替代C语言的可能性》

论《Java替代C语言的可能性》

在CSDN BLOG上看到孟岩兄的文章:《Java替代C语言的可能性》,挺有意思的,自己也来凑个热闹。瞎说两句。

1. Java真的不可能替代C语言吗?
引用一下孟岩兄中的文字:“C语言目前称王的主要领域是作系统、虚拟机和设备驱动程序开发。”,对这点,大家都没有异议,这太明显了,在这些领域,以目前的计算机技术现状来看,Java不太可能替代C语言。
然而,这只是现状,现在是这样,不等于永远是这样。

如果随着硬件的发展,将JVM直接做到硬件中,让计算机一起动就自动执行JVM,那么,Java倒也真的成为“底层语言”了,让C走开不是不可能的,使用这样的硬件基础,用Java开发一个操作系统又真的是一句笑话?我看不出有什么理由说这件事100%不可能发生。这种操作系统,可以说是一种抽象层次相当高的“操作系统”,底层硬件完成许多原先由软件完成的功能,因此,“Java操作系统”不可能是象Vista这样占了我十几个G的“霸道”OS,会变得相当简单,但会提供独具特色的服务,与现在的当红OS会有很大的不同,同志们:喝点啤酒,在头脑有点晕乎乎的时候想象想象吧!

如果没记错的话,计算机技术发展史上曾出现过ROM-BASIC(还记得那古老的时代吗?绿色的显示器,闪烁着一个光标,输入一句代码计算机就执行一句……)。这种电脑一启动就自动进入BASIC解释执行状态。当时在这种计算机上编程BASIC是绝对的“主流”,没C什么事,Java就更不知道在哪里了。

计算机硬件是“经济基础”,操作系统/应用软件是“上层建筑”,经济基础决定上层建筑。我们只能说在目前的计算机“经济基础”之上,Java取代C还是看上去不太可能的事。

2.JVM与OS一定要用C来开发?
不管用什么语言,编写出什么样的软件,最终都是由CPU执行的。但CPU根本不认识任何高级语言,它直接执行0和1的二进制代码
所以,JVM与OS也不一定非要用C来开发。从理论上说只要是一种能生成可供特定硬件架构执行的机器指令代码的语言可以开发JVM和OS,最极端的,不用任何高级语言,用0和1直接编出JVM和OS(呵呵,梦回穿孔纸带的年代……),只是这样做,等把OS给写出来,地老天荒了……
当然,目前好象还找不到比C更合适开发JVM和OS这种基础软件的高级语言。用Java取代C只能当成笑话说说。

直接用0和1编程只具有理论上的可能性。现实开发中若真有人这么做,也许他不是天才就是疯子了。 :)

相关文章:

  • vue添加定位功能_Vue项目引用百度地图并实现搜索定位等功能
  • 通讯中的字节网络顺序和字节主机顺序
  • python tableau自动化导出_使用 Python 导出 Tableau 自定义形状 (Extracting Tableau Custom Shapes Using Python)...
  • tableau三轴该怎么做_在视图中为多个度量添加轴
  • 投资者的七个等级
  • python正则表达读取word_python 正则表达
  • python中土耳其编码范围_Python-编码这趟浑水
  • 做聪明的人很容易,但做善良的人很难
  • webis个人主页设计_个人网页(个人主页)设计论文
  • [个人] 确立了新的研究方向
  • java读书心得_范文精选-读书心得体会-java夜未眠读书心得
  • 经典导航菜单脚本收藏
  • axure 导入元件库显示不出白框_如何用Axure画出Web后台产品的面包屑组件
  • Oracle常用命令
  • echarts 使用热力图 如何能做到在每一个热力点的方格内显示自己需要的数据_3种高级分析型图表,直观解读数据,手把手教你制作...
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [数据结构]链表的实现在PHP中
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • ➹使用webpack配置多页面应用(MPA)
  • CentOS6 编译安装 redis-3.2.3
  • CSS3 变换
  • docker-consul
  • eclipse的离线汉化
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • es的写入过程
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Just for fun——迅速写完快速排序
  • python docx文档转html页面
  • Rancher-k8s加速安装文档
  • React 快速上手 - 07 前端路由 react-router
  • Redis字符串类型内部编码剖析
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 阿里云应用高可用服务公测发布
  • 初识MongoDB分片
  • 基于遗传算法的优化问题求解
  • 聊聊flink的TableFactory
  • 前端之React实战:创建跨平台的项目架构
  • 小程序 setData 学问多
  • 追踪解析 FutureTask 源码
  • 字符串匹配基础上
  • 自制字幕遮挡器
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (0)Nginx 功能特性
  • (70min)字节暑假实习二面(已挂)
  • (C语言)逆序输出字符串
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (一)RocketMQ初步认识
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)