现在在做PHP开发,虽然这是世界上最好的语言,但是最近喜欢上了Python,从长远看,是否值得?请从学习曲线和就业方面分析下,非常感谢大家!
回复内容:
讲真的,每一次看到类似的问题我都非常的不能理解。为什么有个程序员会用语言作为自己职业的划分或者说边界呢?程序员的分类不应该是按照技术领域来的么?你可以说你是 Android 程序员、iOS 程序员,你可以说你是后台程序员、前端程序员、你可以说你是 AI 程序员、图形学程序员。但是我无论如何也想象不出来 C++程序员、Java 程序员是个什么职业?语言只是工具啊,换一门语言根本就不是什么需要纠结的东西。如果你觉得切换一门语言很难,只能说明你编程语言的知识还没有学到家,或者年纪大了记性不好=。=你需要补充的是基础知识。
这里
有一位前辈,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年游戏前台突然要改去做服务器端分布式开发,没什么好纠结的。
从短期经济利益来看,如果放弃PHP的工作转投Python,虽然起薪可能高一点,但是工作更难找了是真。其次目前国内广泛使用Python的领域基本都不是靠Python本身挣钱。PHP则更倾向于依赖PHP自身做码工。
从实际上来看,Python简单的语法与自洽的逻辑概念让你在有任何一门OO语言的基础的前提下只需要花寥寥数天就能用之干活,结合之前所说Python职位大都不依赖Python知识为主的特点,这让一个有基础的人转Python的时间成本低到可以忽略。
所以学Python挺好。为了学Python而「放弃」啥玩意……完全不至于。
——————————————————————————————————
话又说回来,Py写多了,确实不想碰PHP;PHP写多了,确实想辞职……
能问出这样的问题,还是别转了。
——这是觉得学多一门语言有多难?
1、见过很多自称是Java 程序员,C++,PHP程序员,搞不定Python,唯一的原因是编程还没有学会(解决问题的方法没有学会)。学习了很多语法而已。
2、语言只是工具,关注解决问题。
3、程序员一直需要学习,掌握多门编程语法是必须的。学习当然有好处。
4、很多人特别关注结果,不特别关注过程。过程中付出了努力,结果自然就来了。
我41岁开始学python,放弃了用了十几年的C和C#
因为我创业了,养不起大团队。语言对绝大多数程序员来说只是工具,不幸很多程序员把它们当成了信仰
人生苦短…
27岁问这个。。。还是别转语言了,转行吧
喜欢什么就试试什么,反正最后你会发现都差不多
编程的核心从来不在语法
就好比你想当作家,用哪种语言写作重要么?也许有点重要,但是绝对不是最重要的,一个好作家你让他用外语写作,他学一段时间,翻着字典也比一个用惯了这种语言但是文学修养很差的人写的好(虽然可能会有点文法不通)
编程的本质类似于作曲,至于你用钢琴还是吉它(当然吉它比钢琴容易,但是表现力差一些),并不是那么重要
程序员的人才市场因为某些原因,有很大一部分是以编程语言来划分的,甚至价格都有高低。程序员群体本身是供给方,现在还没有强大到改变这个现状。
但这个对于程序员本身的职业规划而言是没有多大参考意义的,对于程序员更重要的东西是基本功、领域知识,以及进一步的软实力。不能把自己绑定到某个编程语言上——就算你提高编程语言方面内的能力,其实也是在我说的这三个方向发展的。
当然如果是初学者,还是先熟练一门编程语言再说别的。
最后也期待市场能够改善变得成熟,对程序员这个群体有更合适的划分规则,从而少一些一年经验重复八年的资深『某语言』高级工程师。
21世纪什么语言都要掌握。
一个卓越的程序员熟悉一门新语言的时间不应该超过三天。
这是程序员基因里面应该有的本能。