为什么我要称自己为Javascript程序员
Aaron Griffin写了一篇精彩的牢骚文章,主要是关于各种框架和它们能把程序员从主要业务编程中抽离出来的功能特征。概括一下他的主要论点,当你成为了一个“Rails程序员”,你使用的是一种易于理解但不通用的东西,它是从易于理解且通用的东西,如HTTP,SQL上抽象出来的一种东西。Rails上的知识是不通用的,如果你转向使用一种新的框架,你只得扔掉你现在的技能。Rails和你的新框架上没有交集的知识。
Aaron的论点有很多可以讨论的,他干的不错,我不想再总结了,你可以自己去阅读一下。
但我要谈一个小插曲。在文中,他说:
有太多太多太多的‘开发人员’喜欢愚蠢的把自己标榜为 – “PHP程序员” 或 “Ruby程序员” 或 “C++程序员” – 这毫无意义。编程语言只是一种工具。各自都有各自专长的问题领域。称自己为“C程序员”就像是在说你是个“锤子木匠”,一个只会使用锤子的木匠。我们都知道这听起来有多傻。
我想说的是,“这是在他所有的精彩观点中一个明显不对题,不合适的说法。”我觉得他比喻的问题的级别完全不对等,“C程序员”这个词语所蕴含的知识和经验跟“锤子木匠”所表达的东西完全不在一个重量级上。如果我们要找相同级别的东西,我们可以找到一些跟这个行业工具相关的头衔:起重机操作员,火车司机,数控设备操作员。
但这个问题并不重要。我同意Araon所说的人们把工具和任务混淆了。只做为一个工具专家,而不是任务专家,会使你在工作中有些偏跛。成为一个工具专家会使你在有工具使用时工作效率非常的高,但当你需要离开这个工具环境,或者更糟糕,需要使用其它的环境时,你就显得有些无能为力了。
如果你不懂关系型数据库和SQL(现行的标准语言),当你从ActiveRecord转向LINQ时,你会发现那是相当的痛苦,因为你需要在LINQ和ActiveRecord之间找映射关系,而不是从LINQ和SQL之间找。Aaron这点说的很对。
上面的段落中我认为把”C程序员”的称呼和“锤子木匠”相比较有问题。我还发现了另外一个问题,这个问题使我更接近了Aaron的视角。我不认为编程语言是一种工具,我认为它是思想的记号。如果说我们有什么东西能和木工业做类比,我认为语言是编程建筑中的木材.
C不能比作锤子,C应该是木头。所以,一个C程序员应该是个木匠。你精通所有木工上的技艺并不能表示你的技艺可以通用于处理电线电缆,光线铺设,或铝制品。但对于做各种的木制品工作却是足够胜任的。
用于处理木材的工具就是我们用的IDE。如果你称自己为一个“Eclipse程序员”,在不需要知道它在做自动编译和自动反射,不知道如何使用git或SVN或不知道它的那些插件…的情况下你开发出来程序,那么,你就很像是个锤子木匠了。
我就是这么认为的。感谢Aaron。不错的讨论。
为什么我要称自己为Javascript程序员的更多相关文章
- 如何成为一个伟大的 JavaScript 程序员
这篇文章主要概述在我5年工作经验的基础上,我成为优秀JavaScript开发人员所使用的技术和资源. 当前大多数Web开发人员面临着这样一个共同的问题:他们必须在多个不同的领域领先于他人——从数据库到 ...
- 要当好JavaScript程序员:5个debug技巧
我一直使用printf调试程序,一般来说都是比较顺利,但有时候,你会发现需要更好的方法.下面几个JavaScript技巧相信你一定会觉得十分有用: 1. debugger; 我以前也说过,你可以在Ja ...
- JavaScript程序员必备的5个debug技巧
1. debugger:我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果.需要带有条件的断点吗?你只需要用if语句包围它: if (somethingH ...
- 初中级Javascript程序员必修学习目录
很多人总感觉javascript无法入门,笔者在这里写一下自己的学习过程,以及个人认为的最佳看书过程,只要各位能按照本人所说步骤走下去,不用很长时间,坚持个3个月,你的js层级会提高一个档次,无他,唯 ...
- [JavaScript] 初中级Javascript程序员必修学习目录
很多人总感觉javascript无法入门,笔者在这里写一下自己的学习过程,以及个人认 为的最佳看书过程,只要各位能按照本人所说步骤走下去,不用很长时间,坚持 个3个月,你的js层级会提高一个档次,无他 ...
- 每个JavaScript程序员都需要知道的5个数组方法
Array.forEach() .forEach() 方法能够方便的让你 遍历数组里的每个元素,你可以在回调函数里对每个元素进行操作..forEach()方法没有返回值,你不需要在回调函数里写retu ...
- 每个程序员都需要学习 JavaScript 的7个理由
最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript.Web开发人员尤其如此.所以,如果你是一个程序员,那么你应该去学习JavaScript ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 新手程序员随笔2——初识html、css和javascript
翻看博客,发现好久木有发blog了.纠其原因,一则是近来工作上卡到了一个编程难题,我是一个单线程的小猿,当我手头有事情做的时候,我不想分心去做其它事情,如写blog.二则是我个人的写作能力不佳,想到写 ...
随机推荐
- 第二百四十六天 how can I 坚持
领悟啊.好伤心啊. 到底应该是怎样的一个过程,才能得到想要的结果啊. 我不懂我自己.. 睡觉吧. 中午吃的米线. 好渴,晚上没喝水呢,活该.谁让你一直玩游戏. 睡觉了.弟弟回家了,过两天去烟台待一个月 ...
- 通过request读取所有参数
获取request里的所有参数及参数名(参数名自动获取) - [ Java ] request里有两个方法: 1)request.getParameterMap(); Enumeration en ...
- 基于 Red5 的流媒体服务器的搭建和应用
http://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/ Red5 是一个采用 Java 开发的开源免费 Flash 流媒体服务器.Red ...
- ocp 1Z0-051 71-105题解析
71. Which arithmeticoperations can be performed on a column by using a SQL function that is builtint ...
- BestCoder Round #71 (div.2) (hdu 5621)
KK's Point Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- 最新的支持DELPHI XE6的开发框架
支持负载均衡集群的中间件 主界面 插件管理 角色与权限 用户与权限
- HTML5实现动画三种方式
编者注:作者以一个运动的小车为例子,讲述了三种实现HTML5动画的方式,思路清晰,动画不仅仅是canvas,还有css3和javascript.通过合理的选择,来实现最优的实现. PS:由于显卡.录制 ...
- Codeforces Round #260 (Div. 1) A. Boredom (简单dp)
题目链接:http://codeforces.com/problemset/problem/455/A 给你n个数,要是其中取一个大小为x的数,那x+1和x-1都不能取了,问你最后取完最大的和是多少. ...
- HDU1874畅通工程续(floyd||dijkstra)
看了看floyd和dijkstra,然后就找了两个练习来捉 #include<iostream> #include<stdio.h> #include<string.h& ...
- 在Linux下部署activemq
今天的任务就是在一台新的服务器上继续部署activemq.其实都蛮简单的.首先先下载包:115U盘下载 2 上传到linux下的某个文件夹下.解压缩 tar -zxvf apache-activemq ...