我以为我会在大学学习C ++,但似乎他们现在把C#称为行业标准语言。
我从未想过我会为此烦恼,但它实际上是一种非常好的语言。
我现在唯一的问题是我只限于Windows平台。
那么也许,从现在开始编写Windows程序时,我应该练习C#而不是之前的WinAPI和C ++体验?
我也听说过有关Mono项目的好消息,以及C#是Unity 3D游戏引擎的脚本语言之一。
任何见解?
向所有人公开讨论!
答案 0 :(得分:12)
使用Mono,您可以在Linux和Mac上运行。 Mono也正在为iPhone制作Mono Touch版本。这在未来有很多可能性。 C#已经存在了9年,是.NET的一部分。使用.NET也可以使用C ++,F#,VB.NET作为语言,我认为C#将会存在很长时间。 C#在2003年成为ISO标准,因此它绝对是一种标准语言。它似乎总是在Mac或Linux上的二等语言。一个Windows我认为它会在那里,人们会使用它,但在其他Windows上会有阻力。
iPhone的Unity游戏引擎使用新的Mono Touch和C#,因此可能会让更多人看到制作iPhone应用程序并在非Windows平台上使用C#。
答案 1 :(得分:6)
学习C#和C ++。这听起来像“选择正确的语言”,因此避免“错误的”会节省你的时间,但这是一个虚假的经济。你应该阅读并使用所有这些语言:
听起来好像很辛苦,对吧?错误。首先,它很有趣。其次,您对其他语言的了解越多,您使用首选语言的效果就越好。很可能你会在一种语言中获得更多的专家,但你将能够使用其中所有其他语言的知识 - C#在其一生中顺利整合其他语言的思想方面做得非常出色。
答案 2 :(得分:4)
我认为C#有一个美好的未来,并且将继续增长。另一方面,我不会太快放弃C ++:它是一种重要的行业语言,并将持续很长一段时间。
请参阅我对this question的回答,了解如何选择花时间学习的语言。跟上语言趋势是开发人员的一项重要的长期技能。
答案 3 :(得分:1)
tl;博士版:学习两者。然后学习Scheme。学习什么。没有“每个人都教的一种语言,每个雇主都希望你使用”
在C#之前,很多大学都在教Java。 Lisp和Python也经常被教授。
作为更高级别的语言,C#/ Java让学生在完全掌握较低级别的概念之前就能理解更高级别的概念(例如,他们不必为了不引起内存泄漏而陷入困境)在他们的第一个链接列表实现中,用于数据结构的介绍。
最后,全面的CS教育也将涵盖较低级别的概念。我相信大多数学生至少参加计算机系统入门课程,其中需要C / C ++和阅读反汇编代码。
为了记录,我的第一个CS类是Scheme中的SICP,接着是一系列类,我们可以选择C ++或Java(有时候是Scheme / Perl / other)。
答案 4 :(得分:1)
历史表明,C#将大量使用,但市场份额可能会下降。考虑一下你所知道的所有其他主要语言的情况:在某一点上,它们是行业的最爱(COBOL,PL / 1,Ada,Basic,C,C ++,甚至Java),现在其他语言也超越了它们。 C#可能会保持良好状态;它设计得很好,微软有充分的理由继续推动它。 OTOH,那么下一代计算(并行,分布式计算,安全)的需求甚至可能导致微软取而代之(见证IronPython,F#,......)。
它可能值得您学习它,因为此时您不会轻易猜到替换,并且它将在十年内仍然有用,如果没有别的,因为它将具有巨大的代码库。
答案 5 :(得分:1)
作为一种语言,C#将继续拥抱和扩展 - 随着它不断增长的动态和功能扩展,它本质上变得更像JavaScript而不是Java。我不会惊讶地看到它包含MSFT's experimental Axum language的特征集以供高度并发使用。
在回答问题背后的问题时 - 我会加上“我也是!”关于学习更多语言的所有帖子。仅仅因为你已经知道一种图灵完整的语言,这是没有理由停下来的。其他语言将以不同的方式划分问题空间,并为您提供有关如何更有效地投射解决方案的见解。只需在工具箱中放置更多工具是件好事,而不是总是使用相同的锤子。