Mat*_*aly 7 c# c++ directx xna
我是一个业余爱好者的程序员,对Python很有把握,而且我正在学习C.最近,我正在和一位也想学习编程的同事交谈.在他的案例中,他想学习C++作为使用DirectX进行Windows游戏编程的途径.就我个人而言,我觉得你可以直接学习C++,因为你的第一语言有点多了 - 用一种简单的语言保持动力是很难的,而且我认为学习另一种语言更好地掌握大部分基本概念,然后进入像C++这样的东西.
我发现Python作为我的第一语言工作得很好,因为我对Linux/Unix平台上的网络和Web编程更感兴趣,但对于主要对Windows游戏编程感兴趣的人,我认为C#可能是一个更好的选择,因为他可以学习使用Visual C#Express Edition和XNA,然后当他准备开始学习C++时切换到Visual C++,因此已经处于熟悉的环境中.我认为内存管理需要考虑很多,C#至少可以解决这个问题,所以他可以把它放到开始学习C++之前.
别人怎么看待C++作为这种应用程序的第一种编程语言?我应该建议他去C#吗?
mik*_*ike 15
C++应该没问题.我认为他最好不要学习内存管理,指针等.然后再跳到C#,因为他将了解程序如何更好地工作.否则,他只会将记忆视为神奇而垃圾收集器将没有任何实际意义.了解底层语言(C,C++,汇编等)以生成最佳代码总是好的.
C++是大多数"严肃"游戏的主要语言.如果为主要的游戏工作室编程,那么他需要知道C++的脏点.
从C++开始对于一个完整的新手来说可能有点多.我会推荐C作为一个很好的起点.在添加C++的复杂性之前,您已熟悉内存管理和其他低级内容的概念.
由于C#是托管代码,因此他无法获得低级内存管理的见解.不得不处理C++时,这对他不利.在这种情况下,从金属开始接近将有助于他长远.
C++游戏编程很棒.但除非你在学习编程时喜欢完全痛苦,否则你可能会从XNA开始.这将允许您处理游戏内容和逻辑,而不是与您的引擎代码作斗争.
现在,如果你喜欢痛苦,那就去开始使用DirectX和C++.
我认为在使用C++之前彻底学习Java或C#等语言会更好.我说这个的原因是因为你很容易陷入C++的细节和错综复杂之中.
几年来我一直在和C++一样苦苦挣扎(作为一种爱好),然后在Uni我学习了Java,停止了做任何C++,找了几年做Java的工作,然后转到了C++ dev.我很快就选择了所有内容,因为我已经知道我想要应用哪些模式和概念,这只是学习语法和怪异以及再次习惯指针的问题.我只是必须学习如何而不是为什么.将C++作为第一种主要语言,同时学习HOW和WHY,这可能会让人非常困惑!
XNA是一个很好的建议.