Tone is in your fingers

一个好的工具确实有助于编程,但是它只会给我们带来帮助,帮助不了最后的代码风格,我们写出来的代码还是和我们的水平保持着一致的。什么是好的工具,这个说法就有很多了,但是有时候我们往往沉迷于事物的表面,有些时候Vim会比Visual Studio强大,当你只需要修改的是一个配置文件的时候,简单且足够快捷,在我们还未用VS打开的时候,我们已经用Vim做完这个活了。

音乐就在你的指尖流淌

“好的装备确实能带来一些帮助,但事实是,你的演奏水平是由你自己的手指决定的。”

DW还是notepad++?

Adobe Dreamweaver确实是一个不错的工具,虽然一直用的是和谐版的。这样有两个不好的地方,当我们依赖上这个工具的时候,就不得不开始去负担它的费用。有时候我们不得不在终端下面编程,如果是Windows服务器自然是无所谓了。DW在有些时候忽略了太多的东西,曾经试着去用过一段时候,感觉效果还不如Notepad++加上Chromium来得简单呢。

作为一个IDE有时候忽略的因素会过多,一开始的代码由类似于Notepad++或者Sublime Text之类的编辑器开始会比较合适。于是我们又开始陷入IDE及Editor之战了,无聊的时候讨论一下这些东西是有点益处的。相互了解一下各自的优点,也是不错的,偶尔可以换个环境试试。

刚开始学习的时候,我们只需要普通的工具,或者我们习惯了的工具去开始我们的工作。我们要的是把主要精力放在学习的东西上,而不是工具。刚开始学习一种新的语言的时候,我们不需要去讨论哪个是最好的开发工具,如Java,有时候可能是Eclipse,有时候可能是Vim。如果我们为的只是去写一个hello,world,在Eclipse浪费太多的时间是不可取的,因为它用起来的效率可不比你在键盘上敲打来得快,当你移动手指去动你的鼠标的时候,我想你可以用那短短的时候完成编译,运行了。

工具是为了效率

寻找工具的目的和寻找捷径是一样的,我们需要更快更有效率地完成我们的工作,换句话说,我们为了获取更多的时间用于其他的事情。而这个工具的用途是要看具体的事物的,如果我们去写小说、博客的时候,Word或者Web Editor会比Tex Studio还来得快,不是么。我们用TEX来排版的时候会比我们用Word排版的时候来得更快,所以这个工具是相对而论的。有时候用一个顺手的工具会好很多,但是不一定会是事半功倍的。我们应该将目标专注于我们的内容,而不是我们的工具上。

用Windows自带的画图就可以完成裁剪的时候,我们就没有运行起GIMP或者Photoshop去完成这个简单的任务。效率在某些时候的重要性,会比你选择的工具有用得多,学习的开始就是要去了解那些大众推崇的东西。

学习SEO用WordPress还是CMS?

我们只是为了学习而去选择工具的,最后的最后,我们理解完成的时候,就不再局限于某个工具。我们已经学会了如何去做,可以用另外一个比喻来定义,就是Made in China。因为已经知道怎么去做了,学会怎么去做比做的过程更加重要了。我们纠结在做的过程上的时候,别人教会我们怎么做,所以我们还是在别人的后头。学习就是这样的过程,学习的时候我们学的都是别人谙熟的东西。

WordPress是一个强大的学习工具,我们也可以用于生产中。和CMS相比,这样一个博客显得不是很重要,但是我们想学的只是SEO,而不是如何去做CMS。只是两者是等价的,只要我们能再快地学习SEO,那么选哪个其实都是一样的。

学习技术的过程中,如何去学习也是一门艺术,而所谓的艺术就是用科学无法解释的东西。所以我们怎样去学习,没有人会给我们一个完整的答案,我们可以模仿那些已经学习成功的人去学习,但是不一定是合适的。不同性格的人之间可能会有不同的答案,同种性格的人之间也可能有不同的答案。

了解、熟悉你的工具

Windows的功能很强大,只是大部分人用的是只是一小小部分,而不是一小部分,即使我们天天用着,我们也没有学习到什么新的东西。就如同我们的工具一样,我们天天用着它们,如果我们只用Word来写写东西,那么我们可以用Abiword来替换它。但是明显不太可能,因为强大的工具对于我们来说有更大的吸引力。

如果你负担得起手上的工具的话,那么就尽可能去了解它能干什么。即使它是一些无关紧要的功能,比如Emacs的煮咖啡。有一本手册是最好不过的,手册在手边可以即时查阅,不过出于环保的考虑,就不是这样子的。手册没有办法即时同你的软件一样更新,电子版的更新会比你手上用的那个手册更新得更快。

Linux下面的命令有一大堆,我们常用的只有一小部分。如同CISC和RISC一样,我们所常用的指令会让我们忘却那些不常用的指令。而记住那些最实用的,如同我们日常工作中使用的Linux一样,记忆过多的不实用的东西,不比把它们记在笔记上实在。我们只需要了解有那些功能,如何去用它。

语言也是一种工具

越来越多的框架和语言出现、更新得越来越快。特别是这样一个高速发展的产业,每天都在涌现新的名词。如同我们选择语言一样,选择合适的有时候会比选得顺手的来得重要。然而,这个可以不断地被推翻。

当我们熟悉用Python、Ruby、PHP等去构建一个网站的时候,JavaScript用来做网站后台,这怎么可能——于是NodeJS火了。选择工具本身是一件很有趣的事,因为有着越来越多的可能性。

过去PHP是主流的开发,不过现在也是,PHP为Web而生。有一天Ruby on Rails出现了,一切就变了,变得高效,变得更Powerful。MVC一直很不错,不是么?于是越来越多的框架出现了,如Django,Laravel等等。不同的语言有着不同的框架,JavaScript上也有着合适的框架,如Angular.js。不同语言的使用者们用着他们合适的工具,因为学习新的东西,对于多数的人来说就是一种新的挑战。在学面向对象语言的时候,人们很容易把程序写成过程式的。

没有合适的工具,要么创造一个,要么选择一个合适的。

小结

学习Django的时候习惯了有一个后台,于是开始使用Laravel的时候,寻找Administartor。需要编译的时候习惯用IDE,不需要的时候用Editor,只是因为有效率,嵌入式的时候IDE会有效率一点。

习惯用DW来格式化HTML,Aptana来格式化JavaScript。

习惯用WordPress来写博客,因为可以有移动客户端,使用电脑时就不喜欢打开浏览器去写。

等等