A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

    至今我还在为是选择IOS和Android平台而犹豫,和我一样的人应该不少吧,看看这篇文章或许有点启示:
相信有许多的人在纠结,到底是选择C/C++,还是JAVA,还是C#,或者是PHP还是ASP呢?有人说底层语言被比较好,可是我们发现,其实底层语言的从业人民不怎么多,万一我选择了找不到工作怎么办?然是我选择PHP或者ASP,可是有人说这些语言不入流,过几年就OVER了,那我是不是还要选择呢?或许有许许多多的人像我这样纠结的,今天我想说的是,你再为选择什么语言,而犹豫不前,你就是蠢货!

  今天听了OOP群里面高手的一些话,另外看了下面一个前辈写的文章,有些鄙视自己。以前几年时刻为选择一个既能找到好工作,又能工资高,前途比较好,并且永恒的语言而努力,结果今天看起来比较好笑,比较的蠢。如果有这样疑惑的人,请看下下面的文章,要是没有疑惑的,请绕道,因为你已经达到了更高的层次,看了以免耽误你的时间!一下是文章:

  我刚开始写程序那会,十分在意于各种编程语言之间的比较。每次自己使用的语言被别人说三道四,心里就跟打翻了五味瓶一样,很不是滋味。

  同样情况下,换成那些在知识技术上过硬或业内稍有所成就的人,一般都会心平气和,有理有据地跟别人争辩。心里压根儿不会感到丝毫冒犯,更不会突然觉得自己缺胳膊少腿似的低人一等。反倒是那些新手们,没有技术又眼高手低的半吊子,一番胡乱瞎扯后,就恬不知耻地开始骂娘。

  为什么有些程序员这么纠结于编程语言呢?

  我们都知道,作家所描写的故事无论多么跌宕起伏,精彩绝伦,人物勾画的再怎么惟妙惟肖,跃然纸上,都跟紧握在手中的笔没有任何关联。 说到底,笔和纸只是他们所熟悉的一种表达工具。就算改用石器,降低的也只是写作效率,而非他们的创作功力。

  “A tool is only as good as the person using it.”

  那同样的道理适用于程序和编程语言吗? 答案是肯定的。

  如果把编程语言也简单地看作工具。那么,静态和动态语言,只是对运行速度和开发效率之间进行取舍; 面向对象编程(OOP)和函数式编程(FP)各有所长,因此选择时脱离不开实际业务的需求与运用场景。

  大多数时候,真正区分程序员技术高低的往往是像常用算法,数据结构这样基础的 ‘硬知识’,还有对硬件工作原理的整体了解程度。只要肯多花时间学习琢磨与实践,多少都是可以做出成就来的,完全没必要过分留意语言之间的比较。

  但这也正是问题的根源所在。日常生活中,人们严重低估了自己对天性的掌控能力,错误地以为成就很大程度上是跟某样东西挂钩。但事实上呢?并非如此。
Nobel-winning psychologist Daniel Kahneman

  “生活中你想的每一件事,都没有你想的那么重要。”

  这是诺贝尔奖得主丹尼尔·卡纳曼教授对他提出的 “聚焦幻觉”所作的总结,他还举了个例子:

  “教育程度是决定收入一个重要因素,最重要的因素之一。但它并没有大多数人以为的那么重要。假设每个人都受到完全相同的教育,收入差距只会缩小不到 10%。当你聚焦于教育时你忽略了无数其他决定收入的因素。有些人受的教育程度相同,但收入有天壤之别。”

  按照这逻辑继续做推断,想必天赋也没印象中那般重要。即使重要,可能也起不了作用了,因为:

  “以大多数人的努力程度之低,根本轮不到去拼天赋。”

  看到这,你可能觉得我在偷换概念; 觉得程序员之所以这么在意程序语言,框架这些东西的比较,完全是由于他们对技术的热爱,就像赛车手对速度的执着一样。还有你看 F1,赛车的硬件难道跟赛车手的成绩没半点关系吗?

  同一赛道上,给你一辆世界上最快的赛车,非专业车手的你确定比的过坐在跑车里的舒马赫? 不在技术研究着如何进步,反而对工具挑三拣四,吹毛求疵。整日妄想着能找到一种万能的语言,以此一劳永逸。这不是在思想上偷懒吗? 是抱怨自己的不努力容易些还是抱怨周边环境的影响容易些?

  PS: 关于编程语言那段,讲得未免有点笼统。现在很多动态语言的运行速度基本与静态语言持平,甚至超越。不像几年以前的天差地别。而像 Go 这样新生代的高性能静态语言,在开发效率上一点也不输 Python 和 Ruby。最后,每个人都有自己的思考模式,所以找对合适的语言来表达自己的思维也很重要。但无论如何,不要习惯性地把工具当作你天性缺陷的遮羞布。

  PPS: 用了很多成语,对语言的把控能力还有待提高。

  作者的原题目我看的是万能语言,我看起来有些不和文章意思,又因为今天有些感悟,所以整理下此文章,另外发表个人的见解。如果把C/C++比作斧头,那么JAVA就是刀刃比较厚的刀,PHP和ASP就是薄刃的刀,PHP和ASP一般只能用来切青菜,做一些WEB开发,而JAVA可以做WEB开发,也可以做应用程序,C/C++可以做应用程序,也可以更加底层的东西。在此说明的是,不是说PHP和ASP不能做应用程序,而是相对来说不怎么适合,试问有人拿着薄刃的刀去砍柴呢?

15 个回复

倒序浏览
有道理呢, 十八般兵器各有所长, 练好哪一个都可以立地成佛, 总是纠结于工具其实就是给自己的功力不够找了个理由
回复 使用道具 举报
有道理   顶一个
回复 使用道具 举报
说的好。
回复 使用道具 举报
说得好,必须赞一下
回复 使用道具 举报
讲得很好啊
回复 使用道具 举报
{:3_62:}   看到晕
回复 使用道具 举报
作为一名新手,看到底也不知道楼主的真正涵义。其实纠结语言选择的不就是新手嘛?他们不懂何为开发底层,讲求的应该是实用性,入门简易型,用途广泛性吧
回复 使用道具 举报
你的回复很诚恳,其实学习时最忌讳的是把手段当目的,编程无非实现大脑中的想法,语言不过是向计算机表达我们想法的手段罢了。
回复 使用道具 举报
楼上说得很有道理
回复 使用道具 举报
只要学好了,什么语言都可以找到很好的工作
回复 使用道具 举报
转载请标明出处
回复 使用道具 举报
排版太乱,枯燥无味。。
回复 使用道具 举报
说的和好,我也得确实纠结过,不过现在决定走Android的路线,不管学的咋样,坚持,而且自己也不打算长时间走程序猿这挑路
回复 使用道具 举报
顶一个!!
回复 使用道具 举报
多谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马