我目前正在学习C++,希望学习另一种编程语言。
在工作中,我使用C# + ASP(实际上我刚开始学习它),但是我想找一些“不那么微软”的强大的语言。
我听说Python是一种流行且功能强大的语言,比C++不那么复杂。但许多人提到他们从Python转回C++/Java很难,因为他们开始用Python的思维方式,习惯了无需内存管理等特性。
你有什么建议?
我目前正在学习C++,希望学习另一种编程语言。
在工作中,我使用C# + ASP(实际上我刚开始学习它),但是我想找一些“不那么微软”的强大的语言。
我听说Python是一种流行且功能强大的语言,比C++不那么复杂。但许多人提到他们从Python转回C++/Java很难,因为他们开始用Python的思维方式,习惯了无需内存管理等特性。
你有什么建议?
其实并没有对错之分。但我认为你从学习Python中会受益更多。由于C#和C++之间的相似性,通过学习Python你将会得到不同的思考方式。你学习的思考问题的方式越多,无论是哪种语言,都会使你成为一名更优秀的程序员。
我在学完C/C++、Java和C#之后,学习了Python。Python是一门很棒的语言,它的简洁性和一致性提高了我的编程水平。它还帮助我更清晰地思考代码背后的算法。我可以继续谈论它给我带来的好处,但我想总结一下学习它的原因->
学习新语言不会削弱你的编程技能,反而会增加它们,并通过教你在每种语言所需的“思维框架”之间转换来保持你的敏锐度。
所以,走出去学习Python吧。你的代码将得到改善。
P.S.
1.如果你忽视了对C++(或其他任何语言)的维护和保养,你将失去它们的技能。这完全取决于你。
2.程序员(聪明的)懒惰是一种美德。
当然,学习C/C++仍然很好,因为它与机器的联系密切。但是新程序员可以通过在Python中探索学到很多东西。
我不认为“Python会让你变懒”(标题很不错!)。
相反,在编程和生活中,了解多种语言都是很重要的;我认为你会发现Python很有趣,并且与C++或C#有足够的区别,以至于这些语言不会混淆在你的脑海中...
学习更多的编程语言无论采用何种方法,都可以使你成为一名更好的开发者。此外,在使用Python的C API编写应用程序的高性能部分时,你的C++(或至少C)经验将非常有用,因为这可以让“原始”的C和C++代码与纯Python代码混合在一起。
我仍然每天使用Objective-C(1.0...内存管理之前)和Python编写代码。这种多样性实际上很有趣,而不是令人困惑;它保持了事情的新鲜感,避免了枯燥无味。
挑战自己,提升技能。尝试使用一种函数式编程语言。
这取决于你想要编写的应用程序类型,例如对于需要访问数据库的网站,我会选择Ruby(和Ruby on Rails框架),对于需要大量并行处理的金融应用程序或应用程序,我会选择函数式编程语言,如Haskell、OCaml或新的F#。即使你不经常使用这三种语言,它们也会让你成为更好的程序员。顺便说一下,C#在最新版本中添加了越来越多的函数式编程特性。我会学习Python用于安全和漏洞类型的应用程序。
我按照这个顺序学习了C/C++,Java,Python和C#。
实际上,我最终经常使用的是C++和Python;我发现Java和C#之间的差距太小,以至于我不太需要经常使用它们(至少对于我所做的事情来说)。
我也认为在接触Python之前,我并没有真正理解C++函数对象和boost::bind
。