如果一切需要重学,2014年应该学哪些技术?

385 查看

最近我收到了一位程序员的邮件,他是一个老程序员,但由于一些不可控的原因,退出了编程界一段时间,但现在他想重操旧业。

6997d1ebbd92a1784c37bee4fcd-247x247
(本文作者 Scott Hanselman)

他问,用他邮件中的原话:

如果必须“重新”学习,在我的新的2014年,哪些技术,编程语言,模式和平台是我应该掌握的,能让我跟上最新技术趋势的。形势让我恐惧。我感觉我已经落伍,成为圈外人。我可以学任何东西,而且能很快。

我想,我们都会对此深有同感。在以前的一篇《I’m a phony》的文章里我曾经说过这个问题。技术更新的太快,想在所有技术上都成为“专家”实在太难。最终,我们都是半瓶子醋。

然而,对于他的问题,什么样的技术我应该去学?

这个问题经常的会被人提及。我一般会这样说,学习一种能让你开发大型系统的语言,还要学JavaScript。对我来说,这种语言是C#和JavaScript。而对于其他人,这种“系统”语言可能是Erlang,Groovy,Ruby,Java,或Scala。这些语言对我用处不大。学这些语言的目标就是要能开发Web应用,当然还有其他应用。

学一种自己喜欢的语言

学一种有社群支持的语言,这也是开发一个成功系统的重要部分。学一种能够让你开发出你希望的那种系统的语言。对我来说,我选择C#,因为我可以用它写出Web应用, Windows应用, Mac应用, iPhone应用, Windows手机应用, 智能手表应用, 以及微型嵌入式应用,但总的来说,是因为我喜欢C#。

有很多的编程语言都有很宽广的应用范围和丰富的表达能力。Python就是一个,Java也是,而JavaScript和node甚至能用来控制机器人。学习一种有个性的、有广度的语言,笨笨的学,一步一个脚印。多读代码,多读书。学一种适合你的大脑、能帮助你学会如何思考的语言,思考时学着抽象的思考。

新语言要边学边写博客。写出你的发现,什么好用,什么不好用。写出来,即使没有一个人来欣赏;你会发现,会有人来读的。加入你的新语言的社区,参与用户组讨论。记住要虚心,你的代码不是你。

看好WEB

如今有大量关于App Store的故事。每个人都在为应用商店写应用,很明显他们是挣到钱了的。但今天的应用商店问题多多。更新频繁,甚至是自动的。而更新又更新不成功,还需要重装。这么频繁的更新,没人想过如何智能的增量更新。这样下去,应用商店很可能变成一个杂草丛生的花园。

然而,Web是大势所趋。在网络中立问题上我们还需要努力,还有像Facebook这样有围墙的花园,我们的标准化组织受阻,每隔几年都会出现几种新的身份认证方式,但Web最终是赢家。Web是大势所趋,是最终的胜利者。这就是为什么我建议你学习JavaScript。(学习HTML5和CSS3,学习使用和创建JSON服务)。JavaScript是一个虚拟机,我们每个人的机器上都有,JavaScript是Web的语言。它无处不在,这就是你为什么要学习它的原因。

要能够创建网站,Web应用,多样连接的应用和系统。要学会一种语言,用它开发应用,放在应用商店里,装在亿万台相互连接的设备里。

这就是我对2014年里要重新学习编程的人的建议。