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?
我们只是为了学习而去选择工具的,最后的最后,我们理解完成的时候,我们就不再局限于某个工具。我们已经学会了如何去做,我们可以用另外一个比喻来定义,就是Make 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来写博客,因为可以有移动客户端,使用电脑时就不喜欢打开浏览器去写。
等等
等