把编程语言看做语言

原文地址(source):http://programmingzen.com/2014/11/27/programming-languages-as-languages/

当你查找字典里的词语“语言”时,你将找到一些相似定义的版本。我信赖的Chrome插件“Google Dictionary”,提供了第一个相当明显的定义,然而:

人类沟通的方式,交谈或书写,用结构化的、约定俗成的方式来组织词语的使用。

第二个定义更有意思,因为它让我为编程语言提出了观点。它是这样说的:

被特定社区或国家使用的、交流的系统。

怎么样,说得不好吗?让我们省去“国家”,简写成,“被特定社区使用的、交流的系统”。你能说,这不是对编程语言的、精辟的定义吗?

我们能够用两种可能的方式看待编程语言。它们可以是我们命令计算机的一种方式,偶尔与其他程序员交流,或者它们支持我们与其他程序员就最终可执行的术语进行交流。

第一种解释在技术上更加精确。或者,更加具体地说,是最糟糕的一种精确。

我喜欢把编程语言当做语言,因为在琐碎的编程之外,当解决问题或者完成特定任务的时候,它们让程序员彼此交流,不经意地产生通过“翻译”(比如编译器和解释器)而被计算机理解的代码。

根据第二种解释来考虑编程可以衍生出很多好处。

当你从这个角度看待编程的时候,你开始考虑注释的价值,它们表达了“为什么”、代码表达了“怎么做”。测试变成了与其他程序员【注1】交流的方式——对代码库的改动违反了既定要求。最重要的是,编写符合习惯的代码变得重要了。

记住Google字典的定义。“特定社区交流的系统”。事实上,不管是为了更好、还是更坏,社区为具体的编程语言设定了规范和风格。

由于我们在某种交流系统里运作,编程就与驾驶稍微类似了:可预判是重要的。在Ruby社区我们有最小惊奇原则(the principle of...

为移动优先设计辩护

原文地址(source):http://www.sitepoint.com/making-case-mobile-first-designs/

你知道今天移动流量(比如智能手机等)在网站PV的占比达到了30%吗?差不多是2年前的3倍了。同期,桌面访问下降到了60%(这里是数据的测量标准)。

web平台的占比

除了PV,再看看消费的时间,由comScore出具的报告显示,移动平台在时间消费上的占比达到了60%。

主要的内容种类在各平台上的时间消费比例

我可以分享更多的数字来支持这个观点,但是你们能够在这里这里看到更多的数据下降趋势。这些数字只是表明了web使用模式的变化是多么地快速

Luke...

想做web开发,就学JavaScript

原文地址(source):http://www.techrepublic.com/article/learn-javascript-if-you-want-to-land-a-web-development-job/

有一天我被问到,为了快速地在web开发工作上增加优势,应该学习什么语言。我的思绪回到了大学,那时候我用Pascal、Fortran、C和汇编语言,不过那个时候有不同的目标。

鉴于当前的状况和趋势,答案相对容易给出来:学习JavaScript。四周看看,曾经低端的浏览器脚本语言现在变得随处可见,从服务器端到客户端,每天好像有更多的选择。

出身低微

我记得数年前投入web开发,学习了HTML、用Perl开发CGI脚本。Netscape在其2.0版本的浏览器里引入了一种叫做LiveScript的脚本语言,此后不久名字改成了JavaScript。这是一种很酷的语言,但是在浏览器大战中,大约一年以后,由于微软增加了支持,JavaScript被限制在Netscape的浏览器里。它早期作用被限制在字段有效性验证之类的简单任务上,但是与服务器端脚本比起来,它是非常好的选择。JavaScript逐步变成了ECMAScript名字下的一种标准。

这么多年来,JavaScript因为用于浏览器交互而成为一种酷酷的语言,但是随着Ajax突然爆发,支持开发者从web服务器发送和接收数据、而不用刷新网页,它赢得了更多的认可。接下来的一波应该被叫做jQuery革命,因为它和其它框架提供了开发强大web应用程序的易用特性。甚至微软带着WinJS框架也加入了;还有,Redmond巨人选择JavaScript做为开发Windows 8 应用程序的平台。

当Google在Chrome浏览器加入了高性能的JavaScript V8引擎时,JavaScript有了一个较大飞跃。这次发展对于服务器端Node.js上JavaScript的全新范式的发展是有帮助的。Node.js的使用一直都是让人震惊的,还有用于开发从网站到功能完整的应用程序的各种应用、大量JavaScript框架的产生。最后一项是数据,而JSON标准成为传输数据的最流行的方式之一的苗头,已初见端倪,大部分重要的数据存储都支持它。