讲真的,总是看到类似的提问:
我今年25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45岁,想重新XXX/想转YYY,晚不晚/值不值得?
这种问题不值一提,提问者犹豫太多,行动太少。
如果你现在学,你还是27岁,如果你明年学,你就28岁了,后年就29岁了。最后的开始是10年前,其次,是现在。这些编程语言,只要有编程基础,花几天就能学完基本语法,之后就看你想做什么就专门学习某个方面。没有说专门学一门语言的,应该是带着自己的想法,有自己的项目,自己的小目标,然后专门学相关的东西,最后解决自己的问题。更重要的是能够解决问题,而不是学习这些工具。
语言只是工具啊,学一门语言根本就不是什么需要纠结的东西。你需要补充的是基础知识。
这里有一位前辈,1997年开始写程序,根正苗红的40岁中老年程序猿。我们来看看他的职业生涯:他的第一份工作是在一台奔腾 II 的服务器上写ASP。第一门编程语言是 VBScript(现在许多新手可能都没听说过)。
前端也会写一点 JavaScript。在之后的6776天里,这位前辈用过的「技术」有 VBScript, JavaScript, Linux, SQL, HTML, Makefiles, Node.js, CSS, XML, .NET, YAML, Podfiles, JSON, Markdown, PHP, Windows, Doxygen, C#, Visual Basic, Visual Basic.NET, Java, Socket.io, Ruby, unit tests, Python, shell scripts, C++, Objective-C, batch files, 以及最近的 Swift。20年里经历了无数技术流行「趋势」:
In 1997 it was CORBA & RUP.
In 2000 it was SOAP & XML.
In 2003 it was Model Driven Architecture and Software Factories.
In 2006 it was Semantic Web and OLPC.
In 2009 it was Augmented Reality. (对,你没看错,09年增强现实)
In 2012 it was Big Data.
In 2015… Virtual Reality? Bots?
就业前景是什么?能吃吗?有这时间你还不如看看技术史。同时,你觉得这位前辈是什么程序猿?VBScript 程序猿?还是 Python 程序猿?他在微软系的技术栈里干了10年,又在苹果的技术栈里干了9年。大致是互联网前端转移动开发的路线。如果他每次接触新的技术都要向你一样纠结半天,估计在 VBScript 大势已去的时候职业生涯早就终结了。 有种东西叫做技术储备,既然感兴趣就去学学,也许这会花费一些时间,但是长远来看,并没有什么坏处。不过是一门语言而已,又不是写了10年游戏前台突然要改去做服务器端分布式开发,没什么好纠结的。