由操作系统的没落和虚拟机的崛起看性能和开发效率之争

2023-11-29 03:08

本文主要是介绍由操作系统的没落和虚拟机的崛起看性能和开发效率之争,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由操作系统的没落和虚拟机的崛起看性能和开发效率之争
性能和开发效率之争,是编程世界恒久的话题。来自不同开发技术背景的程序员对此有不同的看法。性能和开发效率孰轻孰重,这个问题没有普遍适用的答案。对于某些要求高性能的特定应用,肯定是高性能更重要一些。但是,对于绝大部分的软件开发领域,应该来说,还是开发效率比性能更重要一些。
随着CPU的发展,即使不对软件进行性能优化,也能够提升软件的性能。而且根据摩尔定律,这种性能的提升也是非常快的。
当然,进入多核、超线程CPU时代,CPU技术的发展,将只能够提升多线程程序的性能。关于这一点,请参考我的文章 多核、超线程CPU时代将成就Java性能之王的地位
我们都知道,微软是在Windows时代,凭借对本机操作系统的控制实现了软件霸业!在DOS时代,区区的几条中断,毫无秘密可言。第三方厂商与微软出于同一条起跑线上。因此,掌握DOS操作系统的微软并没有发大财。
而进入Windows时代之后,微软凭借对Win32函数的控制和理解,在开发Win32基础之上的桌面软件上对于第三方厂商保持着技术优势。因此,在Windows平台上开发的软件,微软能够打败一个又一个强大的竞争对手,如有着强大技术实力的Borland公司。
VC++6.0可以说是微软Win32策略的巅峰之作。至今,开发C++程序的人大多还是用着它。
然而,随着Java的崛起,精明的Bill Gates敏感的意识到了它是对微软Windows垄断基础的致命挑战。软件运行在虚拟机上,而不是直接运行在Windows操作系统上,这就意味着微软技术垄断地位的丧失!
因此,微软想方设法废掉Java、接管Java。它提供的Java不满足Java规范,直接运行在Win32之上,不可移植。但是,由于SUN的坚决反对,它的阴谋没有得逞。
微软不得不推出了与Java竞争的.NET。.NET实际上就是Java的翻版。从此之后,微软自己也放弃了Win32,改为使用.NET虚拟机来开发和运行自己所有的程序。
这意味着,微软自己也接受、并推动了“操作系统没落和虚拟机崛起”的大趋势。没有了Win32的垄断优势,微软要再造一个虚拟机的垄断优势!
.NET的API库都是封闭的,微软独有的。因此,在.NET平台上开发程序的第三方公司将永远落后于微软。如,Borland试图参加微软的.NET平台。它推出了Delphi.NET,C#等开发工具。但是,当微软推出.NET2.0和支持.NET2.0的开发工具Visual Studio2005时,Boaland推出的开发工具依然只能支持.NET1.1。
因为,Borland只有在微软推出它的.NET2.0之后才能够知道什么是.NET2.0,如何支持它!
跟着微软的Borland因此完蛋了!不得不出售自己的IDE业务。而且,所有的买家都忌惮于微软在.NET上的垄断优势,没人敢接这个烫手山芋!可惜了Borland,可惜了Delphi!
今天推出的Vista,还有.NET3.0。表明,微软实际力推的还是.NET3.0这个虚拟机。未来,甚至微软打算废除Win32,让所有用户都使用.NET。
.NET的图形库,本来和Java的AWT一样使用本机的GUI组件。.NET3.0的WPF中,开始和Swing一样,用自己程序画出GUI组件。这样,它也实现了Java applet一样的效果,可以在Html中运行。
.NET和Java是越来越像了!谁的效率高,取决于谁的虚拟机设计的好,与操作系统无关!
操作系统的没落和虚拟机的崛起,表明性能和开发效率的权衡中,一般情况下,还是开发效率更重要。微软、SUN,所有采用.NET和Java的厂商都同意这一点。你呢?
 

这篇关于由操作系统的没落和虚拟机的崛起看性能和开发效率之争的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431217

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正在不断推陈出新,推出具有更低时延和更高 IOPS 性能的云硬盘产品。 8 月 22 日 2024 DTCC 大会上(第十五届中国数据库技术大会),XSKY星辰天合正式公布了基于星

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta