Mac VS Windows
Mac电脑,喜欢的人特别喜欢,不喜欢的人都说不好用,软件都是付费的软件。Windows电脑,用的人更多,用非正版软件的也大有人在,简单易用,缺点是弹窗软件太多,各种广告铺天盖地,很多软件自动安装全家桶,教人难以忍受。所以,笔者在Windows和Mac的对决中,选择了Linux。
sed与awk
这两款程序是合作的关系。使用正则表达式来处理文件。在Linux系统构建之初,发挥重要作用。然后保留下来,成为系统工具。笔者偶尔会用grep作为它们的补充。
lex与yacc
这两个程序可以看作编译器的编译器。有的Linux下用bison代替lex。也是构建系统用的工具。属于合作关系。一个断句用,一个重新组合语句。
tar与gz
命令行工具。一个打包文件,一个压缩文件。有令人眼花缭乱的选项。也属于合作关系。
make与m4
make可以根据文件运行命令,进行自动的编译,拷贝,移动文件等操作。m4是一种复杂的编程语言,使用宏替代,可以自动生成配置脚本。
sh与bash
都属于console。Linux下的terminal不止这两种。而是有很多种。这两种很有代表性。都可以用来接受命令,或者运行脚本。不同的是各种终端接受的命令稍有不同,或者格式存在某些差异。
cat与echo
这是两个命令。前者原样输出文件,后者原样输出命令行参数。用途不同。看起来不重要,但实际上很重要。
vi与Emacs
这是两款文本编辑器。都有不同的方式扩展自己的功能。vi的体型相对小一些,是某些linux自带的默认的编辑器。emacs则需要用户自己安装。emacs的功能越来越庞杂,甚至连煮咖啡这种事情也能完成。这两者之间的关系是竞争关系。关于两者的争论,已有圣战发生,没有结论。
Perl与Python
这是两种编程语言。尽管无意竞争,但Python诞生之初就被拿来与perl比较。且它们的格言是针锋相对的。Perl说,做事的方式不止一种,也就是说条条大路通罗马。Python说,有一种最好的方式来做事,也就是说,有条康庄大道,就问你要不要走。
在构建linux这事上,perl占了先行的优势,很多脚本都是perl写的。很多人准备用python来替换perl,于是,系统中也有很多python脚本。老脚本perl多,新脚本python多。替代没有完成,系统中必然有这两种语言。将来,完全的替代也不会发生。因为Perl早已在某些系统中扎了根。于是,这两种语言在各自的领域发挥作用。
编程语言之间很容易引发圣战。得益于Python的大度,Perl与Python之间的圣战不那么激烈。
Delphi与VB
TuborC与VisualC++
Netscape与IE
等
以上列表之间的战斗是生死之战。但随着历史的进步,即使胜者,也渐渐被淘汰或替代,败者则消失在历史的长河中。有公司的软件和开源软件是如此的不同。竞争失败,开源软件可以苟活,有公司的软件只能消失。
Windows与Intel
曾经无敌天下的组合。Intel负责让处理器更快更强,Windows负责吃掉和压榨这些性能。逼迫用户不断的升级硬件和软件。