打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
编程语言初探,应该怎么学习编程?

来源:the INQUIRER

作者: John Leonard

智能观 编译

IT行业到处都是对编程语言的选择,但并不是所有的选择都能带来持久的、丰厚的报酬和安全的职业生涯。

这不仅仅是用人单位所在意的证书和经验问题,也是全面的个人工作态度问题和一种证明。据报道,比尔·盖茨曾说过:“我会选择一个懒惰的人来做一份艰苦的工作。因为一个懒惰的人会找到一种简单的方法来做这件事。

当然,花很多时间坐在电视机前的沙发上的那种安逸,不是盖茨所追求的。他所说的安逸是,他的理想候选人将拥有无穷无尽的能量,渴望找到捷径和变通方法,并结合自己的技能、毅力和勤奋,去寻找真正的安逸生活。

盖茨的观点是,最好的工程师是那些能够通过技术手段来简化技术的人。这也是机器学习的目标。当你可以用机器去做事的时候,为什么还要自己动手去做?让它去做不是更好吗?

“在很大程度上这与智能的懒惰有关——自动化的计算机能为你做每一件事。”QA的首席技术专家Katrina McIvor说。另外他补充,机器学习和人工智能是目前最大的技术增长领域。

“它们在数据科学的领导下获得了强有力的支持。数据科学在过去都被称为数据挖掘,所以这名词并不新鲜,只是这些工具现在变得更好用了,公司更愿意这样谈论。”

我们的目标是让数据科学变得简单,而不是让人们使用dashboard来完成它,只需要在这个稳定的平台上熟练操作就够了。

McIvor说:“机器学习是让你训练一个模型,并通过Web服务预测结果,而无需编写一行行代码。当然,知道如何把它们编译起来是另一回事。”

那些在技术领域寻找工作的人通常都是在进行编译的工作,而且在数据科学领域有一些关键的语言要注意,比如ScalaPython和R。

HackerRank(这个平台允许程序员练手,为最有前途的开发人员工作做好准备)的研究人员Ritika Trikha也提到了Scala, 她说:“我们看到的新语言包括Swift、Go和Scala。现在有很多人对这些感兴趣。”

Apache Spark是用Scala编写的,这使得它很受数据科学家的欢迎。它基于Java虚拟机,一旦学会了其中诀窍,就会体验到其中的紧凑感。“我特别喜欢它的一点是,一行代码是一个完整的类,包括构造函数、getter、setter、toString、hashcode这些方法,”McIvor说,“编写所有的Java样板文件很无聊,所以为什么不让编译器来做呢?这又是聪明的懒惰了。”

这就是说,学习Scala对于很多人来说可能是一种飞跃。Python的简单语法可能是学习Scala最好的的起点。尽管Python可能更接近于以往的语言,但它在今天仍然非常重要。

McIvor解释说:“Python的用途非常广泛,它被用于编码,用于一些基础的东西,一般性的辅助脚本以及最近在人工智能、数据科学领域的很多应用。”

常言道,没有人因为购买了IBM而被炒鱿鱼,同样,没有人会因为学习Python或其他三大语言而犯大错。“虽然现在有很多新的编程语言出现,但需求最大的还是Java、Python、C和C++。这四个支柱是构成大多数企业代码的基础组成部分。”Trikha说。

但是为什么会感觉JavaScript目前最流行呢?是因为StackOverflow的读者比例失调,过分集中在某些领域么?Trikha表示:“在一些行业,如手机和游戏行业,JavaScript可能排第5名,但在安全、医疗或金融领域,只是排在第7名左右。

Trinkha表示,R是一种未来语言,一些人认为可能有一天它会在许多领域取代C++,但到目前为止,它还没有在工业上造成多大的影响。“我曾考虑过使用R,但很多公司的投资都用在了过去的系统,改变起来很难。社交媒体是Java和Python的天下,C#和Java霸占了医疗保健行业,在安全方面是C和C++。”

大公司和小公司之间也存在着差异。“大公司需要的是解决问题的技能,而不是语言技能,而小公司需要程序员在第一天就准备好代码。” 他补充道。

除了小公司会在乎语言技能,拼命寻找Lua专家的个例之外,大部分公司更在乎解决问题的技能而不是语言技能。

“当你知道如何编程时,语言几乎是无关紧要的,”McIvor说,“这就像开车一样;一辆奔驰车和一个福特汽车尽管有差别,但都可以到达目的地,你会使用一个就会使用另一个。”

近期的实践经验当然也很重要。HackerRank研究发现, 具有两年或以上经验的开发人员在进行大约20个小时的实践,并通过评估测试后,被邀请参加面试的机会高达50%,而没有参与实践的高级工程师就不行,而具有自学经历50个小时以上的人与具有两年以上经验的开发人员实力相当。

除了在一些在线编码网站上练习,开发人员应该参与一些开源项目McIvor建议。“经验是很难量化的。你必须是一个自信的程序员,甚至只是知道你在寻找什么类型的东西,在哪里找到它也是成功的一半。有很多项目,你可以尝试用不同的语言来实现,给自己直观的体验。我认为没有最低限度或最高限度的经验,这是一种信心和逻辑。”

“你能读懂一个问题吗?就像看懂一幅画是如何从A到B一步步画出来的,你能以合理的方式使用你选择的语言做这件事吗?了解源代码控制和测试驱动开发这样的事是必须的——如果你参与了开源项目,你将会得到一些实践知识。”

一旦你参加了面试或编码测试,也需要展示自己的信心。“尽可能多地表达你的思维过程,”谷歌的前软件工程师、微软苹果的科技招聘顾问、《破解编码面试》(Cracking the Coding Interview)一书的作者Gayle Laakman McDowell说,“这是你绝对可以做到的。轻松地大声说话,表达你的思维过程。如果你是一个内向的人,也可以后退一步,但至少给我一个你的思维过程的提纲。”

—完—

想知道AI加教育领域有哪些最新研究成果?请在智能观(zhinengguanym)对话界面回复“论文”;

想要AI领域更多的干货?请在对话界面回复“干货”;

想了解更多专家的“智能观”,请在对话界面回复“观点”,去获取你想要的内容吧。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
编程语言
每个程序员都应该知道!2018开发者调查报告
人工智能最火编程语言:Python 大战 Java
谈谈能带来高薪报酬的软件技术
Python、R、Java、 C 等:从业界反馈看机器学习语言趋势
一位“老程序员”的反思:C、Python、Java 不可兼得,专心学好一门编程语言就行!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服