主要是学习成本和交流成本太高,抬高了Linux的使用门槛。 学习成本我刚工作时,听说过一件(对计算机专业从业者来说)颇为震撼的事:某市第四人民医院,一万块钱一台买了几台高配置的奔腾四机器;但他们删除了机器原装的、正版的Windows XP,在硬盘上安装了DOS 6.22——因为他们不会用Windows,只会用dos! 是不是很震撼? Windows再难用,能比DOS难用? 尤其是,DOS默认只能支持640K内存,而当时的计算机普遍配备64M甚至256M内存;想要利用这些内存,你就要自己修改配置DOS的autoexec.bat和config.sys文件,把himem.sys加载进去,这才能使用640K以上的“扩展内存”。 但即便如此,扩展内存仍然复杂、难用;而且,当时的程序虽然可以想办法使用640K以上的扩展内存,但程序代码仍然必须加载到640K的低位内存才能执行——高位扩展内存仅仅是方便加载ovl文件以及控制数据而已。 这什么意思? 意思是,当你要运行一些稍大的程序(比如当时DOS下想要运行仙剑奇侠传这个游戏)时,你必须确保640K以下的低位内存还有足够的、没有被人占用的空闲空间! 比如说,为了支持中文,你加载了一个UCDOS,UCDOS会把自己藏身于高位内存,但低位内存仍然必须留下一些“入口”,不然无法提供中文支持。 那么,你就必须想办法配置好config.sys和autoexec.bat,加载UCDOS、加载五笔或者全拼输入法,然后还要确保640K以下的低位内存有500K以上的空闲空间,这样才能运行仙剑奇侠传(或别的大程序)。 但这事并没有那么简单。因为当时利用高位内存的技术有很多种,什么himem.sys、emm386、dos4gw等等;你得知道各种软件依赖哪种技术,然后通过配置文件告诉相关软件、让它们把自身尽可能的放入高位内存、尽量不要占用基本内存…… 稍有不慎,哪怕你有1G的空闲内存,只要640K以下的内存只剩450K,仙剑奇侠传也会立即退出,并给你一个警告:“没有足够的内存!” 这还仅仅是内存。如果你有打印机、传真机、声卡、数据采集卡……那么你都要配置config.sys和autoexec.bat,利用其中的drv节为它们加载驱动——同样的,你要尽量把这些驱动送进高位内存,别占据基本内存哦。不然随时内存不足! 这些东西还经常相互打架。什么声卡和显卡的IRQ冲突啦、声卡和数据采集卡冲突啦、显卡和数据采集卡冲突啦、打印机和声卡冲突啦…… 那怎么办? 重启,哈哈。 重启后,通过autoexec.bat里面的批处理程序,选择用途! 运行仙剑奇侠传按1,运行FoxPro按2,运行acdsee按3,运行红警按4…… 一个程序一套配置;运行完了就重启,加载另一套配置才能跑别的程序…… 不然?真没法尽善尽美。配置一套满足所有程序的运行环境,结果必然是基本内存被压缩到400来K甚至300来K,于是绝大多数大程序都将无法运行! 更不要说,当时的TSR(停止并驻留内存)技术是日常软件所必需;于是很多大型程序执行过之后,基本内存往往就会被占据很多、使得它自己都无法再次运行! 重启重启,那么麻烦搞什么! 于是,DOS时代,reset键那可真是门庭若市——反正重启也快,十几秒的事。一件事做完了随手重启一下做另一件事,这是当时的日常…… 你敢相信,连这个都必须玩转的DOS用户,居然学不会用Windows吗? 那不是……打开,双击图标,别的什么都不用管吗? 问题正在于此:对于很多人来说,学习一门新技术是痛苦的,不管这门技术(如使用Windows xp)有多简单;更不要说学习这门技术是拿来替换自己好不容易学会的另一门技术(如DOS)了。 因此,对一个人来说,如果他必须痛苦一次、学会一种操作系统才能使用电脑的话,那么第一次遇到的是什么就是至关重要的——之后,那是头可断、血可流,也绝不会再学第二种了。 亦因此,各大商业软件公司,尤其是微软,对学校/学生教学用的电脑是有专门优惠的——简单说就是只要你能证明自己是学生,那么操作系统免费、office免费、mssql免费、vs免费……Photoshop、Maya、AutoCAD……莫不如此。 它就希望你用它的这些软件入门;一旦习惯它,那么你这辈子大概率是不会改了——收你两千三千甚至三二十万甚至几百万,你都会继续用它。 包括软件企业,当你能招到的人全都只会Windows、vs时,你敢不为他们配正版开发环境吗? 这点软件费用,总比你从头培养他们、开着工资教他们学Linux更便宜、风险更小吧? 交流成本只要你参加了(非软件开发方面的)工作,那么一定遇到过“文件打不开”“文档格式错乱”等等尴尬场景。 当你竞标时,你敢指望甲方自己下载个pdf阅读器吗?你敢指望他装个libreoffice、否则你的docx文档对齐就会出现问题? 不敢?那好,掏钱买ms office吧。 这些软件才几个钱;因此耽误了竞标…… 类似的,别人用qq聊天,你得弄个wine、费劲巴拉的配置一大堆东西、甚至配置到unreal 3D都能运行的程度,才能用上qq……累不累? 别人给你发个什么文件,你打不开;对方告诉你安装一个小软件——然而只有Windows版、而且使用了ole/com技术所以在Linux下用wine很难跑起来……怎么办? 用个网银,绑定了ie,Linux下只有Firefox……又怎么办? 我早就完全在Linux上面工作了;但那是在公司;一旦回到家、和同学一起玩,那自然还得是Windows。 所以很久以来,我都是Linux上配置全套开发环境,Windows纯娱乐。 这样有时候很不方便,毕竟工作、学习和娱乐有时候并不能截然分割。所以我用VMware跑物理硬盘上的Linux或者用kvm跑物理硬盘上的windows;但后者显卡性能难以完全发挥。因此就成了绝大多数情况下启动Windows、把Linux跑在VMware里…… 你看,全都是成本,对吧。 相比之下,西方知识分子危机感比较强,往往会在大学期间想办法推广Linux,包括用Linux授课、日常使用Linux软件等等;Linux作为开源软件,在软件相关专业授课中也有得天独厚的优势…… 不过,Linux社区是义务劳动,没钱;而把界面做的无可挑剔且足够傻瓜化,这需要大量有组织有标准的琐碎工作,是需要很多很多钱的。 最终,就形成了“巫师世界(IT界)”习惯于使用Linux、而“麻瓜界(普通用户)”习惯用Windows的局面。 |
|