当我作为一名自由职业者兼合约程序员开始工作以后,我对各方面技术的兴趣就愈发浓厚起来,我明白了这并不是“学习X语言”或是“学习Y框架”这么简单的事儿。
你最好把你的语言选择建立在你正在从事的项目或目标上。
不用担心,因为每个人都在思考什么语言或框架才是最好的。
对于我来说,这么想问题真的鸭梨山大。我会为到底该学“React”还是“Angular”、“PHP”还是“Javascript”、或者该不该学“Meteor”、“Express”,以及其他什么语言而苦恼。
当有人对你说“你应该学会所有语言”的时候,他们并不是让你坐下来,先学“Python”,再学“Java”,然后学“C++”之类的。他们的意思是,你应该学会编码,而不是语言。
你的目标应该是即便面对你从未见过的语言,也能马上开始工作。当然了,可能花费的时间会更长些。但不论使用哪种语言,你都应该能够了解发生了什么,并能够识别分类、变量、循环、路由、文件包含命令等等……
我最近一直在完善“Arduino”平台,我不得不用到C++语言。而我之前从未接触过C++。
这时候,你总不能说“我靠,老子没学过啊”。首先我开始研究C++的开头代码,我花了很长时间才搞明白,我能够大致识别出代码的内容,对于那些我搞不懂的问题我只需要再查阅一下资料就可以了。
我可以分辨出它是面向对象编程代码,我可以很快找到我要找的变量。当然,它和我习惯使用的语言有点不同,但是我依旧可以找到适合的方法,按照自己的需求完成工作。
所以,不用考虑自己到底应该学习哪种框架或语言。
这是一种很神奇的自由的思维方式。我曾经想过,等我有时间了,我一定要“去学学C++和嵌入式系统”。
可是,我也想了解黑客/安全、XSS攻击手法、SQL注入,还有,当你连接到公共网络平台时,人们是怎么监视你的。
这是两件完全不同的事情啊。我想我必须做出选择。
其实大可不必,鱼和熊掌是可以兼得的嘛。
我正在跟进一个嵌入式电子产品项目。我想让温度传感器在温度高于50华氏度的时候闪烁红光,在温度低于50华氏度的时候闪烁蓝光。
你只需要购买arduino和一个温度传感器,看一眼样品的C++代码,然后调整参数,直到看到你想要的红蓝灯闪烁为止。
现在我想学些SQL注入攻击。
我不知道应该从哪儿学起。不过这难不倒我,我只需要谷歌一下,然后给网站捣捣乱,直到我能攻陷自己的网站为止。
我想说的是,你需要以目标为导向。没人能回答你的问题,因为没人知道你的目标是什么。
你在寻找新的技术?
你在寻找拥有最多就业机会的工作?
你在寻找平均工资最高的工作?
你希望做自由职业者?
你想创造某种新产品?
不要去担心语言或框架的问题。你只需要建立你的产品和想法。学会尝试不同的事物。
制作两个不同版本的app吧,一个用“React”,另一个用“Angular”。然后看看你喜欢什么,不喜欢什么。
如果你喜欢研究时下流行的新框架,那就选择一些热门的,然后着手开发自己的产品吧。