五千年(敝帚自珍)

主题:关于Linux的推广——普通用户篇 -- 万斤

共:💬381 🌺357
全看分页树展 · 主题 跟帖
家园 我说的是微软应当学习那种态度,鸡对鸭讲的情况

还要持续多久?微软的产品线不光是操作系统,我的意思也不是让 windows 变成 Linux , OK ?我向你提到 FHS 为的是讨论微软在这些方面有什么相关的对程序员有利的举措。历史不能代表未来,不能因为微软过去勉强保证了软件的兼容性认为微软在未来也可以继续保证向下兼容。更何况,现在微软产品的向下兼容性已经很差了。而你的回答无法让这个讨论继续。对此我感到很意外。

而让我感到更意外的是,你不是介绍自己使用 .Net 编程兼容性方面的经验,而是引用什么 wikipedia ?你知道你在做什么吗?老实说,我有段时间很迷恋为维基撰写条目,(当然都是些与我专业相关的条目)。如果没有自己的经验,至少也应该拿出大拿们的相关发言吧?

使用微软提供的编程语言写出的程序,可移植性有多差,那是不言而喻的。如果你真的在跨平台编程上遇到了难题,想要快速解决,你应该学习是 (Sun) Java ,根本不是什么 Linux 编程。 但是如果你想在 Linux 上布署程序,学习一下 Linux 系统的维护是很正常。不要把编程与系统管理、维护看到一回事。

无论 tex 、 gcc 、 emacs 、 vi 都是可以在 windows 上运行的,而且我正在这么使用它们。 tex 甚至是用 pascal 写的。为什么 VB 写出的程序无法移植到 Unix 上?微软的提供的解决方案不是万能的,出现这种尴尬,原因很多。至少我觉得这是微软在对待开源、文档、用户等等一系列问题上的态度导致的。

算了,不空对空了,回答几个问题吧:

包的维护工作一般不是直接由上游程序员做的,包管理是另外一回事,你写了一个程序,给出源代码和编译方法就行。其余的事,在你的程序没有足够流行之前,没必要;如果程序足够的流行,更没必要。如果一直没有人愿意为你打包,我看也就算了吧。以 rpm 来说,你的软件如果有人为你打包,是件很有面子的事。至于进入发行版,那你就是牛人。

对用户而言,如果是使用 QT 写的源代码,很简单, qmake & make 就行了。就算一般的程序也就是 ./config & make 。在 Linux 的世界中二进制发布程序,也不是没有,但会被人极度 X 视。你不信任用户,用户自然不会信任你。所以,实在看不出来有什么必要使用二进制发布,当然不是说不可以。二进制发布,最常见的例子,你下载过 jre/jdk 的二进制发布包没有?退一步 google earth 呢?

另外,即使是像打包 rpm 这样的工作,只是一个 spec 的问题。你最多提交 src.rpm 包就足够了。编译是个自动化的工作,你的程序比 gcc 还牛不成?如果你连一个 spec 都不想写的话……

长寿也不是那么比的对吧?你怎么知道 dir 的源代码就没有重写过?关于你提到的用所谓 windows 2003 的库重新编译一遍,我很怀疑,你做过吗?怎么做的?介绍一下?

至于长寿的程序,很简单的一个例子就是 compat-gcc 。如果是 gcc 2.x 的最后一个版本,不算上 patch 的话,是十年以前的事了(想想真的是过眼云烟),但是至少我还是需要这个版本的 gcc 。如果你注意一下的话,像 tex 这样的程序,其实更加古老,尽管最新的版本是在零八年三月放出的,但从八二年(对的就是八二年,我都没想到会这么老)以来,这个程序没有过大的变动。如果你对 Knuth 还有一点敬意的话。

同一个二进制程序是否可以运行于不同的机器,你用 QT 写的 GUI ,结果,人家的机器上没 QT 当然不行了。你的抱怨很搞诶。随手写个 hello, world 就完事,还要提问……

QT 是用 C++ 写的没错,不过 QT 有不同的 bindings (绑定) python, C# , Ruby , java, Ada, pascal, Perl, PHP, Haskell ,写 QT 的 GUI 可能要一点 C++ 的常识,但是你还是可以用别的语言调用啊?叫你用 QT ,又不是让你去写 QT ……难道说我一定要懂 C++ 才能用 QT ,什么逻辑……如果你不是很了解 QT 的话,或是没有用过的话,这也许还有情可原。

最后,有人与程序只是为了做个台阶,向更高层的什么管理人员跳。但是也有很多人平平凡凡的写了一辈子的程序。我更喜欢做后者。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河