acm编程环境linux版本,linux - ACM程序设计 - 蛋蛋网 - 师大人的精神家园

fc00a93b168f7fb68a1378341ab2e85e.gif

linux

算起来,我用linux半年了,期间有些感想,所以就在这里说说了。

我是从上学期期末的时候装的ubuntu9.04(linux的一个发行版),就一直是一个单系统在运行,在这学期换成了9.10。仔细算起来的确有半年了吧。但是真正开始熟悉linux应该是从这学期开始算起。

上学期刚装的时候,非常的不习惯,应该说接触过的童鞋都有这个感觉吧。可以说不只是习不习惯的问题了,有些时候甚至怀疑linux能干好哪些东西。整个暑假都在这个不熟悉的状况下使用电脑,在网上找了些资料,查了下命令。会用apt-get的命令了,下了个vi新手命令大全,但是当时感觉vi一点都不好使(后来发现那是传说中的vi-tiny,甚至在Insert模式下按退格都不会删除字符的,还是vim好使)。还有因为对codeblocks的依赖 ( 我的IDE发展史:WIN-TC,vs2008,devcpp,codeblocks ,VS最高级,但是CB很方便而且语法很标准) ,所以我在ubuntu下仍然使用的codeblocks,但是ubuntu下的codeblocks明显逊色于windows下的codeblocks。比如就没有了时间的计数,黑框没有右边那个拉窗口的条,还有字体和大小都不习惯。更要命的是,在codeblocks下写代码,光标有延迟感,这个在写代码的时候是很不爽的。有些时候我都想换回windows,vista,xp都行。

这个时候我开始怀疑,linux真的犹如传说中的那么高效简洁吗?或者说还是我的使用方式有问题呢?为什么被称为世界上最好的两个文本编辑器之一的vi(另一个是emacs)我用着会感觉很烂?为什么广受赞誉的linux我用着会感觉如此的不好用呢?我想应该是我的使用方式或者使用思维的问题吧。

当这学期开学之后,我去买了一本很厚的linux入门书   (如果你想知道的话,《Linux命令,编辑器与shell编程》"A Practical Guide to Linux——Commands, Editors, and Shell Programming"  Mak G. Sobell 清华大学出版社,98块。现在图书馆理科阅览室有一本,是本很好的书)。我发现以前的确是思维和使用方式的问题,然后这学期也越用越顺手,不过仍然水平不是太高。到现在,我的感想是: (抛弃版权问题和费用问题)

Windows很不适合用来学习和科研,至少对于计算机的学习来说是这样的。对于其他理科我也不认为windows是一个好的选择。

这不是针对两个系统的功能与执行效率来说的,Windows是一个非常优秀的系统(至少我就是被Windows吸引而喜欢电脑的),windows下的软件执行效率不一定比linux下的低,Windows能实现的功能也不会比Linux少(至少在桌面版上)。

这也不是从开源与否来说的。也许有人会说因为Linux是一个开源系统,所以更加便于学习计算机。但是真正的情况是,除非对Linux系统非常好奇的人,是不会去看Linux内核源代码的。也很少有人会去看Linux下一些工具的源代码,不过那些代码犹如STL的源代码一样的不容易阅读 (虽然STL的可读性应该算很高的了,但是整个构造非常复杂,如果感兴趣的话,WIndows下的codeblocks里面的有个文件夹里面应该有STL的所有代码,Linux的应该在/usr/include文件夹里面)。况且Linux并不是一个教学用的操作系统,他和Windows一样,是一个实用的系统,用户在不关心内部代码的情况下也能很好的使用。

那么为什么我觉得Windows很不适合学习呢?我觉得是一个文化问题,或者说是一个思维问题。Linux下的很多东西需要自己有清楚的概念,shell就是一个典型(比如bash,这里shell指类似的),当你用shell用和计算机交互的时候,你会不由自主的清楚的知道自己应当干什么以及下一步要干什么。这样,很多时候注意力会快速集中在自己需要处理的东西上。

而在Windows下,很多时候我是处于迷糊状态的。比如当要拟合数据的时候,我完全不知道怎么拟合,但我知道肯定会有按钮帮我拟合,至于那个按钮我是不知道的,到时候在摸索吧,一般都这么想的。但是我现在会写出带系数的函数式,然后交给gnuplot把最近的系数给拟合出来。

然后对于写代码来说,以前有很多现成的IDE,非常方便。但是却连编辑器和编译器都没区分开,以前会把VS和codeblocks等给叫做编译器。对这些IDE非常依赖,甚至离开了这些IDE,就感觉像离开水的鱼一样。根本就没想过编译器和编辑器是不同的两个概念。

对于编辑器,很多人第一眼看见VIM的时候,肯定会觉得不可思议,就像看着过时的DOS一样。对于习惯在IDE上写代码的人来说,总会觉得那个空荡荡的界面少了很多东西,心里可能在不由自主的把VIM和记事本相比较。但是我们仔细一想,到底是少了什么呢?或者说,文本处理我们需要哪些东西呢?这时候我们应该就会发现了,VIM一样东西都没少,它只是专注于文本处理罢了。文本处理的时候我们也就在专注的处理文本,那些多余的东西对我们来说有什么用呢?

(建议大家试试VIM,Windows也有vim,或者emacs)

(emacs的作者是一个超级牛~Stallman~~超级牛牛牛,是俺认为的现在计算机界4大牛之一:Stallman, linus, jobs, gates):)

所以我觉得Linux之所以适合学习科研用,是因为一种思维和文化。这样我们能迅速聚焦到我们真正需要的事情上,如果一道手续能解决并且解决好的事情,我们为什么要用多道手续来复杂化呢?(当然,如果增加步骤数能解决的更好,那么是可以增加的,依据具体情况而定了)还有在使用的过程中的一些必要的思考也是很有益处的,我相信这个会让人的思路更加清晰,至少不会太迷糊吧。我是这么想的,这个应该也是一种务实的风格和精神吧。

==============================================================================================

以上也算是打个广告吧

acea4143f3de0e463f96ecff18ad08ed.gif

顺手再冒几句:

很多人都觉得Linux是一个高手系统,只有高手才会使用的系统。其实Linux就像Windows一样,也是一个给任意手用的系统~任何人花些时间都能用的。不过用不用的好就不知道了,至少有一点是肯定的,用windows的思维和操作方式是肯定会很不爽滴~~相信我吧

157e902e3745f806bf6fc542813f5a3a.gif

Linux传承了Unix的一些哲学吧,偶觉得这个应该可以算是闪烁着智慧的光芒吧(抄的书上的词~)。比如工具尽量设计成只做一件事并且做好,用户可以让他们合作来完成任务。Linux下软件的配合会让人惊叹的,反正当我看见如此简单的输入输出重定向的时候,俺是灰常的震惊和惊叹滴~~~

[本帖最后由 CRF 于 2009-12-16 14:59 编辑]

+1

最近准备研究linux,顺便来试试评分~ ...

2010-5-23 14:35

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值