我在专业水平上了解C和C ++。我最近被告知,对于我的学习(物理和工程),我必须学习Python。 (教授要求)
为了掌握计算机编程的一般背景并准备好解决大多数问题,是否还有其他语言需要学习?
注意:非常感谢图书或在线资源!
(P.S。我拒绝学习的唯一语言是BASIC)
我是一名计算机工程师和理论物理专业的学生,我已经用C / C ++编程了五年多,但我是自学成才的。这对计算物理学很有帮助。我16岁时就在一家大公司找到了一份工作,目前我在一家小型媒体设计公司工作,担任服务器管理员和内部经理。 (由于大学接管我的生活,我离开了大公司。)
我最近了解到,对于我的学习,我将在大约两周内学习Python ......很有趣。
我想如果我要分支到另一种语言,我应该成为一个全面的多语言程序员,能够用最好的语言解决大多数问题。虽然这是一个不可行的管道梦想,但我仍然希望学会成为一名优秀的程序员,我有4.5年的时间去做! (我的学位是合作社6。5年......如果我不做大师的话)
如果这些信息有帮助:我运行GNU / Linux作为我唯一的操作系统,我通常使用Eclipse IDE。 (虽然我可能很快就会转向OSX / XCode)
我担心这个问题会引起很多仇恨,所以我想捍卫我的疑问:
我不是一名专业的程序员,但作为一名计算机工程师和物理学家,编程在这一天很重要,我必须在简历中列出我所知道的语言。 当我这样做时,我想看非常好,所以我想在编程方面有一个令人印象深刻的背景。 由于时间和精力都是有限的资源,我想把注意力转向语言和范例,这些语言和范例将在现实世界中为我提供最大的帮助,也为我自己的爱好提供帮助。
答案 0 :(得分:7)
成为一名优秀的程序员并不是说你知道多少种语言 - 这只是成为优秀程序员的副作用。对我来说,一个优秀的程序员应该能够自己学习新的语言。因为根据我的经验,雇主提供的培训几乎为零。
行业本身必须经历这一点。学术界没有,现在还没有任何javascript课程,所以专业人士必须从头学习。因此,从1999年到2010年的javascript代码主要是意大利面条代码,有很多盲复制粘贴编程。从2010年左右开始,随着AJAX和网络应用程序的出现,人们开始认真研究javascript并开发最佳实践并编写可维护的代码 - 我们作为一个行业必须实际学习一种语言。
因此。学习一些语言,让您快速学习其他语言。
完成上述所有操作后,您将成为一名相当称职的程序员。能够胜任,因为您将能够学到任何东西来完成工作,并且您将更加了解为工作选择合适的工具,并且您将开始在C代码中看到其他语言的模式,这将使您走向成功:“啊哈!他正试图实现这个功能”。
要成为一名优秀的程序员,就像做一件好事一样 - 一个优秀的钢琴家,一个优秀的滑板手,一个优秀的数学家。这需要时间和实践。有轶事10000小时的规则,大致相当于10年的经验。一个好的程序员会对良好的代码和坏的东西产生本能的感觉。这些天我们称它为代码味道。一旦你了解了什么是好的代码,你就会发现自己编写了可读,可维护的代码。
答案 1 :(得分:3)
Bruce Tate在7周内阅读7种语言。您将体验其他类型的编程语言。包括像Haskell这样的纯函数式语言。
http://pragprog.com/book/btlang/seven-languages-in-seven-weeks