计算机的使用
作为程序员的我,每天的工作其实离不开计算机。然而,信息发展的今天无论是哪个行业,都离不开计算机。我们对于计算机的需求也随着科技的发展发生变化。我们要求越来越高的配置,因为性能就代表了一切。不过对于我现在所处的位置来说似乎是有没有神级配置也不怎么重要了。(然而我不否认看到MacBook或者是外星人这些笔记本的时候我没有心动的感觉)对于不玩游戏的我来说似乎是树莓派这样的电脑配置都能满足我的开发需要了。原因主要如下:
开发环境的转换
2011年刚上大学的时候觉得Windows是王道,因为那时候(其实现在也是)windows的操作系统几乎占据了我们整个PC市场。windows是理所当然的选择。那时候i5加上4G内存已经是高大上的体验了。然而现在我的笔记本配置并没有多大的改变,除了后来加了2G的内存条。还有换了几次硬盘(我换硬盘不是换固态硬盘这种高端配置,而是我硬盘被我弄坏了好多次,是一些不好的windows镜像造成的),然而现在笔记本用起来也还是妥妥的。其主要原因是如今我的开发环境已经从Windows转向Linux,如果是以前我肯定会大肆宣扬自己用Linux是有多厉害,有一种优越感。现在倒是没什么感觉,因为他除了占用资源小,还有命令行比较适合程序员之外很多地方都比不上windows。然而就开发方便来说Linux是很好的选择。因为随着职业道路的发展基本上一个编辑器加上ipython之类的交互式环境就能完成平时的开发任务。其实这样看来,越到后面需要的计算资源越少,不需要很好的配置去运行windows这些大型的操作系统。所以我在某种意义上来说树莓派都够了。(但这只是针对我目前职业生涯来说,毕竟对于安卓开发或者IOS开发来说肯定要用集成环境才好。我平时从事的是Python相关的Web或者脚本开发,所以在某种程度上来说一个编辑器以及交互环境就很够了。)
工具的转换
从大三开始我就几乎不怎么用IDE了,以前曾经觉得IDE真伟大能够生成代码,还能代码跳转,语言支持相当不错。那时候我用过Eclipse, Visial Studio。不过现在想起来如果可以让我选的话我不会再用这些工具了。并不是这些工具不好,而是习惯性问题。机缘巧合之下我结识了一种叫Vim的编辑器。我在大学时候太迷茫,就去学Linux,无意中听说了这个东西。然后就慢慢开始学了,它的命令很难记,不过习惯了之后就如鱼得水了。不过那时候并没有想过用它来配集成环境作为开发工具。后来才发现了它的插件有多么好用,并且操作习惯跟IDE完全不一样。它的操作方式跟他的设计理念有关,分不同的模式可以进行不同的操作。安装一些有用插件之后就更happy了完全可以当作IDE使用。不过后来我也成了"叛徒",我从Vim阵营跑到Emacs阵营去了。不过我并没有说Emacs就一定比Vim优秀。我后来选用Emacs主要有以下原因
- 闲得蛋疼
这是最主要原因,因为那时候没有方向,也不知道要做什么就瞎折腾。Emacs的组合操作在一开始真的会让人想死。不但难记,而且跟平时的习惯完全不一样。能够想象复制文字的时候不是平时那样用C-c而是用Alt-w,保存的时候不是用C-s而是C-x C-s的那种违和感。所以我说只有闲得蛋疼才会去搞这个。而且当时根本就没有中文翻译的书籍(《GUN Emacs》不算因为已经是绝版的书了)。
- 开发语言比较特别
开发语言是这个编辑器吸引人的地方。我总是很花心,知道了一种叫做函数式编程语言就想试一下。Vim基本上是用VimScript脚本语言开发的,却可以用Python导入相关的包进行插件扩展。而Emacs是用一种风格迥异的语言EmacsLisp进行开发的。这是一种Lisp方言。也是函数式编程语言的一种。Lisp的历史已经很久了,在人工智能领域用得比较多。但是我们这边几乎从来没有听过,可能也只有闲得蛋疼的人才会去看它吧。
- 可编程性
据说一个编辑器是否成功就在于其可扩展性,Eclipse作为一个集成环境,它的扩展性就很强。Emacs的扩展性更是毋庸置疑。它甚至还可以通过编程让自身使用Vim的模式切换,还有命令方式。
现在终于理解了别人所说的"世界上有3类程序员,用Vim开发的,用Emacs开发的,还有其他。"。
展望
不过如果以后可以让我选,最完美的开发环境还是MacOS @@。想想如果能够用MacBook+Emacs进行开发,那是一种多么棒的体验阿。不过这也只是我在空闲的时候适当地YY一下。毕竟我现在都跟很多人一样对Mac有这样的看法"Mac并不是完美的,它太贵了"@@,好吧吐槽结束,愿日后的我们都能够有能力消除这种苹果公司所带来的不完美体验吧。O.O
文/hengrjgc(简书作者)
原文链接:http://www.jianshu.com/p/74b6858d260e
- 本文固定链接: https://www.zxbcw.cn/post/4945/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)