Linux中国 | Linux.cn - 我们的Linux中文社区

 找回密码
 加入

QQ登录

QQ登录

搜索
Linux中国 | Linux.cn - 我们的Linux中文社区 论坛 新闻与杂谈 我们对于Linux的误解和错误认识(转)
go

我们对于Linux的误解和错误认识(转)

查看: 966|回复: 5
kvsh.hi 发表于 2010-3-7 21:43 |显示全部帖子
tt的马甲发表于2010-01-24 23:12 584次阅读 来源:www.pccppc.com


1、linux下的软件太少

回答:linux 下的软件一点也不少。windows还在娘肚子里的时候,Unix已经如日中天了。要知道微软公司开发的第一个操作系统是什么吗?是一个叫做Xenix的 东西,是Unix的一个分支,后来才去搞DOS的。有人又问了,Unix不是Linux阿,要知道,Linux完全重新的实现了Unix,是一个完整的类 Unix系统,几乎所有的Unix下的软件要移植到Linux下不费吹灰之力,甚至把二进制代码拷贝过来就能用(前提是硬件平台相同)。另外,GNU旗下 的自由软件更是数不胜数,完全能满足你的任何需要。

如果硬要说Linux有什么硬伤的话,那就是游戏软件不足。windows下的许多大家耳熟能详的游戏,是不能直 接在linux下玩的,但是现在出来了一些软件,可以似得windows下的软件在linux下直接运行,如wine.据我所知,在Linux下安装 wine后,可以跑起来许多游戏,包括魔兽争霸等等,而且不卡,很流畅。但可惜的是,wine还不太成熟,还有部分软件跑不起来。

但是Linux下的游戏软件仍然很多,不过许多大家都不熟,但在欧美很流行。要知道Linux在欧美是相当流行 的。

撇开游戏软件来说,Linux下的软件完全能取代windows。有许多重要的软件甚至只有Linux版的,没有 windows版的(要知道,在好莱坞,制作电影特效,windows就完全败给了Linux)。下面把我们常见的软件在linux下的代替品罗列一下

Photoshop---> Gimp

Office------> OpenOffice 等等

……

其中只有autoCAD的替代品不行,也有可能是我不知道。

2、linux下的软件难用

说句实话,许多软件是基于命令行的,没用习惯会很难受,因为要记大量的命令和参数。但是用习惯了后,会疯狂的爱上 他。理由如下:GUI的界面虽然用起来很方便,但是等功能复杂到一定程度后,你一定会有找了N久都找不到一个功能藏到哪个菜单里的经历。此时调用命令是很 方便的。在画图方面,GUI的界面精确度不够,如autoCAD就设计了命令接口。如果工作量很大,又都是些重复的操作的时候,使用GUI就不再是享受, 而是折磨。此时你肯定非常的需要一个程序能自动化操作这些,也就是所谓的脚本化。而脚本化在命令行是很自然的事情。用GUI可以做大量工作,但是表现力不 够,不能表达复杂的东西:比如在word中,大家一定有这样的经历,想调整一些位置和间距,但word死活不按自己的意思来,光点鼠标又没办法传达自己精 确的意思,只有恼火而已。我说这些,并不是有意敌对GUI,而是想说明一点,GUI并不是万能的,他的缺陷恰好命令行可以完美的弥补.

Linux也不是只有命令行,也有丰富的GUI,你可以充分的按你的意愿来配置你的桌面,玩一些花哨的特效,如 3D,模仿苹果的酷眩的应用程序栏,你可以做任何你想作的事情。

不过有一点是要承认的,Unix是为程序员设计的系统,因此普通用户觉得难用是不可避免的。不过这一点已经通过 GUI得到了很大的弥补。

3、linux下的开发环境不友好,没什么好的集成开发环境

说到这里,我只想说一句,阁下你一定是一个菜鸟。你肯定不知道你在VS下编译程序时后面都发生了什么事,你调试程 序时都调用了什么程序,你的模块是怎么连接起来的,你只知道点一下按钮。集成开发环境,也叫IDE,意思是把编辑器,编译器,调试器,文件管理器等等集成 到一起。

在这里插入一点Unix的知识:Unix的文化有这么几点:

1、一个程序只做一件事,并且把这件事做好。

2、程序之间通过协作来做一个复杂的任务。

因此在这些思想的指导下,Unix骨子里是比较反对IDE这种东西的。像IDE这种软件背后隐藏了许多 windows背后的价值观:

1、把功能集成到一个软件里,大而全。

2、如果功能需要改进,就等着软件升级下一版。

两者的差别显而易见,windows下会经常对某一个功能实现一次又一次。如VS有实现了编辑器,word也实现 了编辑器,记事本也实现了编辑器,每个软件如果需要编辑器,如果有特殊的需要,就需要自己实现一次。而在Unix下,编辑器是分开的,几乎所有的软件如果 设计到编辑工作,一定会开一个分进程调用专门的编辑器程序,如果你习惯了vi ,你可以总是选择用vi进行编辑。

当然了,Linux下也有IDE,Emacs就基本上说可以是。有人笑话说Emacs是一个伪装成编辑器的操作系 统。你可以搜一下用Emacs的人有多少,有多少牛人在用这个东西。

编辑器用vi或者Emacs,编译器用gcc,调试器用gdb(可以和vi和Emacs联合起来用),编译整个软 件用make,自己写makefile,或者用工具自动生成makefile。这些用习惯了,就会发现一点都不麻烦。另外,Linux下编程经常的会用到 一些代码生成器,如lex,yacc,这些都是标准化了的基本工具,这些在IDE下不太好用(WINDOWS),在makefile 里写则稀松平常。

在windows下习惯了的用户,一定会对软件不停的更新换代记忆颇深,还以为世界本来就是这样的,而在Unix 下,因为都是分开的程序,你对编辑器不满意,你换一个编辑器就完了,而没有必要等升级换代。

windows下的东西没有核心价值,许多技术随着时间会贬值甚至消亡。

Unix下的东西拥有核心价值,技术几乎没有贬值,如vi编辑器,80年左右就出来了,发展到今天,基本操作变化 很少,仍然流行,你掌握的技能不会失去作用。

如perl,lex,yacc,等等,这些使用了数十年的程序太多了。

而在windows下,远的不说MFC,现在已经没什么人用了,VB也被改成了几乎成了另一种语言,现在又 是.net,我去年开发项目还在用.net 2.0,现在都已经出到.net 4.0了,总感觉在微软后面不停的追阿追,新东西还没学会,可能就要淘汰。微软又在搞一个什么M语言,我的天纳,技术贬值的速度也太快了。

而我在Linux下,可以开心的学几十年前就有的软件,而不用担心会过时。并不是说在Linux下就不会有软件过 时,而是你会很清楚什么东西不会过时,什么有可能过时。在windows下就做不到。

4、说一下windows下文化与Unix/Linux下文化的差别

在一个操作系统上呆久了,一定会造就相应的文化。windows下的文化,也就是大家所谓的常识,有这么些:软件 比较庞大,软件越来越胖;每隔数月要重装系统;软件频繁的升级换代;杀毒;混乱的注册表;新装好的系统啥都干不了,满天下的去找破解版软件,找到后又满天 下的搜注册码,装好软件有可能还中毒……

在Unix/Linux下,这些文化几乎都不存在。新装好的操作系统,除非是自己要搞坏,一般是不可能坏的。前提 是不用root登录桌面,养成用sudo的习惯。几乎没有病毒,反正我用了一年了,从来没遇到病毒。软件多而全,一般体积都很小,不是那种一个大型软件包 干一切,而是许多专门性的小程序在一起协作搞定,需要的时候,很容易自己写一个小软件出来和原来的软件集协作,极端的时候只要10行以内的C代码就可以搞 定。配置文件放到/etc下,整洁有序;有些读者可能想知道详细一点的内容,在这里我略微说一些:

Linux下每一个设备(除了网卡)都是一个文件,基本都放在/dev下,你可以用基本的拷贝,等命令来操作这些 文件。因此,Linux不需要虚拟光驱。一个iso文件,只需要将其放到回环设备上,然后挂载到主文件系统就行:

# losetup xx.iso /dev/loop0

# mount /dev/loop0 /mnt/cdrom

或者简便一点,只用mount命令:

# mount -o loop -t iso9660 xx.iso /mnt/cdrom

这些命令都是每个Linux发行版一定都有的基础命令。

备份硬盘的MBR: 这个在windows下没有专门软件,还做不到,而在Linux:

# dd if=/dev/sda of=/home/MBR.backup bs=512 count=1

搞定。dd命令是Linux基础命令。

建立一个内存磁盘,就是在内存中虚拟一个硬盘分区出来,在windows下要专门软件,而在linux下用基础性 的东西轻松搞定:

如果要小分区,就直接用/dev/ram0-15 系统自带了16个内存设备文件,只要把这些设备文件格式化,然后挂载到文件系统就行:

$ sudo mkfs.ext2 /dev/ram0

$ sudo mount -t ext2 /dev/ram0 /mnt/my_directory

sudo 意思是用超级管理员的权限来执行这个命令。这样挂载上来的假分区,一般只有64MB大。如果要很大的分区,可以用tmpfs文件系统:

$ sudo mount -t tmpfs 任意名 /mnt/my_directory

搞定。默认情况下这个分区会占用一半的内存。

现在你看到了吧!什么叫做把设备当作文件,就是可以用操作一般文件的命令来操作设备文件!不需要额外的软件。不知 道这个算不算做方便?

统计某篇英语文章的词频:在windows下要专门编程或者专门的软件吧?在linux下且看:

tr 'A-Z' 'a-z' | tr -cs 'a-z' '\012' | grep -v '^\s*$' | sort | uniq -c | sort -n

结果就出来了。解释下:表示管道,意思把前一个程序的输出作为下一个程序的输入,这样形成一系列的过滤器。第一个 tr命令,把所有的大写字母转换为小写;第二个tr命令把不是a-z的字母转换为换行符,接下来的grep过滤掉空行,然后sort排序将重复的单词排到 一起,uniq 将重复单词的数目放到单词前面,最后又用sort对单词的数目排序。怎么样?漂亮吧。这里所有用到的命令,都是Linux下的基础命令。

再者,如果你写了个排序的程序,想测试性能,可以如此:

seq 1 10000 | shuf | time sort

seq命令产生一个数字序列,这里是1到10000,结果通过管道传递给shuf命令,shuf是用来将输入行的 顺序随机打乱的,之后送给sort。time放到sort前面是测试sort执行的时间。

在Linux下,这样组合各种小程序来完成一个任务是再稀松平常的事情了,现在你能理解为什么Linux许多的程 序不会过时的原因了吧?编程会让你感到十分有趣,因为写一个程序只要做一件事,其他的和其他程序协作就可以了。许多程序不用写的很多,就是产生些文本,过 滤些文本而已,简单,搞定一切。

这些,恐怕是在windows下想都不敢想的吧。听说现在windows 7出了个power shell, 意思是要超越Unix/Linux shell的强大功能,姑且拭目以待!

帖子信息

无极

经验
233  
金钱
248  
贡献
0  
注册时间
2010-3-7 
最后登录
2010-4-19 
在线时间
0 小时 
回复 引用 收藏0 分享0 支持0 反对0
分享到外站: QQ空间 腾讯微博 腾讯朋友 新浪微博

举报 返回顶部

task 发表于 2010-3-8 13:31 |显示全部帖子
很不错。学习了
福尔摩斯 发表于 2010-3-8 17:53 |显示全部帖子
对于这篇文章, 我实在不敢苟同!
关于第一点, linux软件少, 这点我不同意, linux软件是很多, 但是关键是都是由自由软件者写的, 重复比较多, 管理比较散漫
但是你要说 linux 下完全有软件能替代 windows, 我觉得这是谬论!
按照作者的说 GIMP 可以替代 Photoshop, 我的回答是  GIMP 可以替代 Photoshop CS, 但是能替代 Photoshop CS4吗?
至于作者说linux在欧美很受欢迎, 我觉得这个很低级!
Adobe 公司 可是有 Photoshop for MacOS, 偏偏就是没有 for linux, 这是为什么?
其次再拿游戏举例, 我想问作者 除了wine以外还有哪些 热门 游戏能在 linux 玩? 国际最大体育游戏软件发行公司 EA可是从来没有发行过 FIFA/NBA for linux。 这又说明了什么?
看看WCG, 所有的比赛都是使用windows。 按照道理竞技比赛需要的是计算机的稳定, linux 比 windows 相对稳定, 但是却没有使用 linux 为什么? 难道还不能说明linux 的游戏不行吗?
至于作者说的 好莱坞 电影特效 是 linux 完胜, 我不想直接证明, 但是我建议这个作者先买本 李开复老师的《世界因你而不同》, 看看李开复老师  在SGI 工作的情况(SGI可是当时世界第一的电影特效软件供应商)
linux下的开发环境不友好,没什么好的集成开发环境

说到这里,我只想说一句,阁下你一定是一个菜鸟
我尤其不喜欢这句! 就算是我菜鸟, 作者又怎么能随便给人扣帽子? 在文革时期, 有人提出要给人民更舒适的生活条件, 就被人扣上一顶 “反革命” 的帽子, 然后武装批斗?
MS嘲笑linux 就曾讲过: linux 离 真正的桌面化 还差很远。 linux界面不友好是公认的。 如果你愿意去gnome-look下载一个主题, 一步一步做下去你就知道有多烦! 而windows 一个 setup.exe 就完成。 孰更人性化自然而知!

至于剩下篇幅, 我就不想多说了。 在我学习linux的时候, 我看过一篇文章: 不要当传教士! linux有它好的地方, MS也有。 不然MS也不会成为现在桌面系统唯一的霸主! 优势是相对的, 不是绝对, 如果MS不继续创新, MS必然被淘汰, 同样 linux 不自我改造也一样被Chrome OS, BSD, SolarOS 替代。
shengyouxiao 发表于 2010-3-8 20:28 |显示全部帖子
呵呵,楼上的,微软说.EXE的确很方便,但是我偏偏喜欢玩困难。。。因为那是唯一的,主题几乎每个人都能做出来(只要有时间)
autoCAD这个在Ubuntu里面有个绘制设计图片的专业软件,等我下次回复在发个图片和名字来。

对了,我只能说楼上的一句,没错,我不会去当传教士,因为我不想当,每个人都有自己选择的权利和感觉,我没有权利去说它。

己所不欲勿施于人!
还有,photoshopCS4真的很强大,插件也很多,现在有能3D了。

但是我也能看出来阁下你也没经常使用GIMP吧。
GIMP在他的首页上面有个链接(使用说明里面也有),说的就是关于photoshop和GIMP的。

翻译下其中的几句(我是个高中生,英语也不怎么样的,哎。。。希望及格。。):

没错!你可以使用photoshop,但是请你不要把GIMP比作废物,没有photoshop强大,是的,一些时候的确是那么样子。
可以我们使用GIMP不是让你和photoshop比较的,因为GIMP也不是吃干饭的,也有两把刷子。
什么都可以做,但是可以不能让你觉的很舒适或者同意,但是那GIMP和photoshop比较本身就是对于两种软件的误解和不公平。。

没错,photoshop没有LINUX所以你不会使用GIMP,但是换句话说,photoshop知道LINUX上有GIMP了。(这句话我翻译不出它的本义,不知道GIMP在说什么,什么photoshop什么知道了GIMP。。。翻译的功力还是不够啊。。。)

阿门,世界上面的LINUX编程人员就是因为LINUX的自由而都到了一起,做自己的软件!
不要说GIMP比photoshop烂了,因为设计的GIMP的人是为了FOR FAN!而设计photoshop的那两个人是为了MONEY.所以没有可比性。。。

没错,photoshop有MAC版,但是GIMP也有windows版。(不是巧合,不是故意的)

因为Adobe for Apple 看得出,Adobe的photoshop就是为了在apple上面使用GUI图像个设计的,可以去看photoshop1.0的说明。相反,GIMP也是那个欧洲的学生在学校使用那个高档的软件为依托写的程序。

所以他们是两个根本不相干的人,而被某些不相干的人拿来比较。。。
jun413947139 发表于 2010-3-8 23:02 |显示全部帖子
在中国特色社会主义下  只要一个政策下达  不管linux好坏 立即就会很流行的
kvsh.hi 发表于 2010-3-9 22:24 |显示全部帖子
commando怎么说呢,linux比较适合喜欢折腾,或者想折腾的,但是呢,现在的linux越来越能满足日常的使用了,这也不是折腾了,也算是给人们更多的选择的自由了,至于photoshop,相信有不少电脑里面有这个东西,但是多少人是真正的需要里面的不可替代的功能?再有就是游戏,win占的市场很大,而这么大的占有率中偏偏有那么一些人喜欢玩游戏而不喜欢折腾系统,他们为了游戏肯出$,
你需要登录后才可以回帖 登录 | 加入

无觅相关文章插件