程序员用linux还是win,如何从程序员的角度看Linux和windows的对比?

本人在Unix SYS5,DOS,Windows3。x,windows9。x/NT 和Linux几个不同时期流行的OS上写过程序。在Linux和windows的对比中,我主要是从一个程序员的角度来看的。

一 系统架构的对比

1 内核

(1) 内核的弹性

Linux的内核表现出了高度的可配置性和独立性,主要是完成:IO驱动设备管理,TCP/IP,以及任务调度。

Linux的标准内核发布版本有40~50MB,而我现在在一些评估板上试验的嵌入式Linux系统(使用arm或M68K系列的CPU)只用到了2MB,同样实现了网络功能和完整的任务调度,这使得Linux可以适用于从高端服务器到嵌入式应用的各个等级的计算平台上,与之相比,windows 没有明确的内核概念。

windows只适合台式机,NT从未真正的打入高端服务器,WinCE也遇到了一些结构性的困难。

(2) 内核的任务管理

衡量一个内核的重要指标是多任务环境下的安全性和任务调度的效率。

Linux在这方面继承了Unix的优点。而win9。

x(包括winme)从来就没有实现过安全的多任务环境,NT/2K 勉强做到了安全性,但是效率还是不敢恭维,我曾今将一个多串口并发驱动的应用程序改写成多线程的方式,原本希望提高处理速度,实际上速度降低了2到3倍。这也就不难理解为什么同样的企业级应用在低硬件的机器上跑得比高硬件配置的NT/2k快。

4 应用开发环境

Linux上的开发工具没有windows的容易入门,并不代表Linux上的开发环境比windows 差,其实linux编程入门慢,但是一旦熟悉了,以后就很少需要补充新的概念,与之相比,微软用一些很“简便”的编程概念吸引你,然后很快的淘汰这些概念,强迫你学习新的概念,你发现很多时间花费在气喘嘘嘘的跟着微软后面跑。

你在这方面花费的时间远远超过你去学习linux编程的时间。

另一方面,Linux上IDE的开发工具也在成长,最终会吸引更多的应用开发工程师

5 技术上的发展潜力

windows现在的技术架构基本上走进了一个死胡同,很难有大的创新。除非提出一个完全不同的系统,然后在里面做个win32子系统,以兼容现有的程序。

就像在nt上搞win16子系统一样:),并且体积再扩大一倍。

对于linux来说,一个很好的架构放在哪里,现在主要是填充内容,丰富应用。在可以预见的时间内,windows无法在架构上超过Linux。

6 多种平台互连的影响

如果linux在嵌入式应用中取得了成功,那么将来就会对台式机市场形成外围的压力。

随着PC机的控制与网络能力逐步融合到家电和传统设备中去,这一天一定会出现的。

微软以下压上的策略(用win9x的市场优势推win nt)会在Linux上重演

结束语

手也打酸了,最后我用最近看到的一段评论结束这篇文章,好像是这么说的linux就像internet一样,在开始的时候发展较慢,一旦过了起步阶段,就会取得惊人的发展。

全部

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值