免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux

[其他] Linux/Unix弥久长青,设计思想有何独特之处?(获奖名单已公布-2012-5-22) [复制链接]

论坛徽章:
4
CU大牛徽章
日期:2013-04-17 11:48:26CU大牛徽章
日期:2013-04-17 11:48:40CU大牛徽章
日期:2013-04-17 11:48:45摩羯座
日期:2013-12-06 18:10:04
发表于 2012-03-28 21:59 |显示全部楼层
其实linux/unix能长时间保持占有率,有一个很重要的原因是转换成本——如此大量的软件、系统都是架构在原有体系之上的,想设计一个新体系取代它几乎是不可能的,所能做到的只有向下兼容、渐进发展。
这样的进化机制决定了linux/unix的结构一定不会差,但不一定就是最优秀的(也可能是最优秀的)。
当然了,unix对IT界的贡献实在没法用数字、短小的文字衡量,我只能说对其崇拜如黄河泛滥、一发不可收拾。

论坛徽章:
0
发表于 2012-03-28 22:08 |显示全部楼层
下来看看到底怎么样?

论坛徽章:
0
发表于 2012-03-28 23:46 |显示全部楼层
最近貌似流行哲学,先下来看看再说。。。

论坛徽章:
0
发表于 2012-03-29 00:59 |显示全部楼层
我一直都喜欢类似轻松风格但又提纲挈领的书,
<Unix编程艺术>我这里收藏了两个版本,
刚开始读样章就觉这就是我的菜,一定要拥有.
里面写的东西是你我胸中有,下笔纸上无的东西.
有一种相见恨晚的感觉,不得不佩服原作者的表达能力.

我接触到的unix.有Solaris和FreeBSD, Linux主要就是Redhat.
石油行业中Sun小型机微型机很常见.
因为几年之前很多勘探资料处理软件只有Solaris版本,
而Sun+Solaris仅仅是为了使用这些软件而购买的平台.
目前,很多Sun的机器也都装上了RHEL.Readhat上的专业软件也越来愈多.
很多原本只能在Solaris上运行的软件纷纷移植到了Linux平台上,不由得感叹Sun的衰落.

最近一年来我们公司一直在参与一个项目,
要把公司的windows下的程序都迁移到linux环境下.
其中的艰辛不言而喻.当初写这个程序之时,正是九十年代,
那时国内电脑本来就少见,并且都是windows一统天下.
由于时代的局限性,当初写代码的时候完全没有考虑到可移植性.
就拿一个简单的例子来说,程序里充斥着MFC下最常用的CString.
为此,我们用标准C++实现了MFC的CString的一个兼容版本DString.
相当于加了一个中间层来实现可移植性.
如果现在重新写的新程序的话,肯定会把可移植性放在首位,
目前公司的规定就是首选用标准c/c++来实现,
其次考虑boost等准标准库.最后再考虑Qt等跨平台库.

我们重写后的程序和Linux的思想不谋而合:
用大量小程序通过脚本来连接,来完成一个大任务.
各个小程序之间是通过文件作为数据的管道来传输.
当数据文件从最后一个处理程序传递出来,任务也就完成了.

中间遇到的的最大麻烦,
是Windows与Linux之间一些很微妙的区别.
比如说Linux和Windows都有所谓的命令行脚本
(在linux下叫做Shell脚本,在Windows下是dat批处理)
其中有很多类似的命令,比如说cd,rm,等等,
正是这些微妙差别之处,浪费了我们大量的调试时间.
为了解决这个问题,我们写了一个脚本生成器,定义了一个新的脚本语言
然后在不同的平台下,生成对应平台的脚本.

为了能最大程度上保证程序在windows和Linux下的一致性,
所有的核心程序都是命令行界面(CUI)而非图形界面(GUI),以标准C/C++写成
在可执行文件内部标志一个字符串,然后用Qt写一个解析程序,
能自动解析可执行程序文件里面包含的标记字符串,生成对应的输入对话框.
这样核心功能由CUI程序完成,CUI程序又被GUI程序包装起来.方便用户的交互操作.
正应合每个程序只完成一个任务.把界面交互交给一个单独的任务来完成的思路.

之所以觉得此书相见恨晚,
这几天我正打算在去读博士之前的半年时间,把我之前写的程序重构一遍,
就我自己而言,心中那种构建高大全程序的冲动一直在心中翻覆.
现在下手重写的时候,我用到了模板库,多线程,智能指针,Boost库.各种新的技术无所不用其极.
看了此书,条条建议对我都是淳淳教诲.是我该重新审视的时候了.
或许对我来说,迅速搭建一个可运行的原型才是正途.或者说简单就是美好.
至于性能和先进性,此后再慢慢优化.

论坛徽章:
0
发表于 2012-03-29 08:59 |显示全部楼层
“L'i'n'ux is not Unix”这句话经典,和GNU is NOT Unix有异曲同工之妙啊。

论坛徽章:
208
巨蟹座
日期:2013-09-02 09:16:36卯兔
日期:2013-09-02 20:53:59酉鸡
日期:2013-09-05 21:21:45戌狗
日期:2013-10-15 20:51:17寅虎
日期:2013-10-18 21:13:16白羊座
日期:2013-10-23 21:15:19午马
日期:2013-10-25 21:22:48技术图书徽章
日期:2013-11-01 09:11:32双鱼座
日期:2013-11-01 20:29:44丑牛
日期:2013-11-01 20:40:00卯兔
日期:2013-11-11 09:21:32酉鸡
日期:2013-12-04 19:56:39
发表于 2012-03-29 09:03 |显示全部楼层
给了大家一个深入底层的机会,把怎么用,变成怎么去玩

论坛徽章:
2
巳蛇
日期:2014-10-26 22:38:12天蝎座
日期:2016-01-08 09:25:17
发表于 2012-03-29 09:54 |显示全部楼层
看了样章,很是喜欢这本书。
就是喜欢linux的开放性。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
发表于 2012-03-29 11:11 |显示全部楼层
因为ITer想享受一下装逼较圆的感觉

论坛徽章:
0
发表于 2012-03-29 11:18 |显示全部楼层
仅围观

论坛徽章:
0
发表于 2012-03-29 11:39 |显示全部楼层
:wink::wink::wink:哲学   神马东东
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP