在企业界,有关多种语言的知识(通过知识渊博,我的意思是不是专家或新手,但有一些编码经验)是否更好?
或
最好是成为一种语言的专家(比如c ++或java),但只掌握其他语言的基础知识。
我问这个问题,因为我觉得语言可以根据他们提供的功能(如垃圾收集等)进行区分。但这可以用其他语言实现......为什么人们更喜欢一种语言而不是另一种语言呢?
这个董事会的一般观点是什么?
答案 0 :(得分:11)
我会说学习几种语言非常好,但通过学习其他语言不断扩展你的知识。不是语言本身必然,而是它们实施和鼓励的概念和范例。这将使您成为更好的程序员,更适合为更大的问题找到合适的工具。
答案 1 :(得分:5)
我认为能够在飞行中学习新技术,语言,范例等等比在其中只有一个中成为全体专家更重要。你可以将所有的时间,精力,血液,汗水和泪水都花在学习Java上,但是如果它不再广泛使用,你将会做些什么。任何语言都可能完全诚实。您在编程和编程实践的一般原则方面的基础知识以及学习新语言的意志力将帮助您在企业环境中取得进步。如果你的老板来找你说“我需要用C语言完成”,你回答“我不知道C也不喜欢它。那Java或Python怎么样?”或者“当然,但是C不适合那项任务,需要额外的努力。如何使用Java或Python?”,这将在下次裁员或晋升时被记住。
答案 2 :(得分:2)
成为像C ++这样的语言的专家然后如果你想要在PHP中非常好,你需要3-5周而不是3 - 5年(C ++),接下来 - 如果你想要非常好C#将带你再过3-5周,之后你可以学习其他一切,比如.NET / ASP / J#/ VB /非常快。我发现只有ASM更难学,如果你有合适的书,可能需要更长的时间 - 2-3个月。
一切都取决于激情/每天读/写/测试代码的时间......
但如果你想成为这些语言的专家,经验就是你所需要的,学习是不够的。
IMO - 您必须掌握一个,才能更快地学习多种语言。所以“所有行业的杰克”,但也是一个大师。
答案 3 :(得分:1)
了解您的需求
为什么要学习十种语言,如果你只使用两种语言?虽然你仍然应该知道还有什么可用,以及它的优点是什么(以及它的坏处),所以如果将来你遇到问题就无法解决你所知道的问题,你知道在哪里寻找可以提供帮助的东西。
如果你正在寻找工作,可能有助于了解更多语言,因为它会“夸大”你的简历,但作为所有交易的杰克可能不会让你被录用。
答案 4 :(得分:1)
阅读本文:http://www.paulgraham.com/avg.html这不完全是您想要的,但可以给您另一种观点。
答案 5 :(得分:1)
一位名人说:“只有当他或她成为多种编程语言的专家时,他才会成为真正的软件开发专家”。 因此,如果你想成为一名优秀的Java程序员或者C,那就深入而彻底地学习Java或C. 如果你想成为不依赖于语言并准备好改变编程世界的高素质软件开发人员 - 不仅要学习它们而且要更好! :)
答案 6 :(得分:0)
一位语言的第一位专家。然后了解更多语言。 (选择每种范式的语言)
答案 7 :(得分:0)
我认为这取决于你的职业抱负。如果您长期担任顾问或者当晚成为独立分析师,那么成为您技术领域的专家至关重要。你需要把大量的时间都集中在你所在地区的技术上,除非你选择不睡觉,否则你没有空余时间成为通才。我建议不要长期使用。
然后我再也记不起有多少次我看到一个组织因为项目经理的职业抱负而转向一个非常好的代码库,只是为了升级到“下一件事”。也许这是我们无法控制的?
最后,我真的觉得领域关键知识比技术技能更重要。但那可能是因为我现在不仅仅是前线。我只是为了说明你应该知道不止一种编程语言,但我认真地质疑那些声称精通十种语言,十种框架和十种不同操作系统的人。