另外,哪些数学学科对于编码非常重要?线性代数、离散数学、微积分?
如果有人能指导我这个旅程,我将不胜感激。我有很多问题想知道答案。谢谢。
首先,你应该了解C++并不是一种优越的语言。C语言有其用途,不仅仅是作为进入C++的跳板。C和“C风格”的C++之所以被使用,是因为它们:
数据结构是列出的最有用的内容,其次是算法。如果你打算学习C ++,同时拥有良好的设计技能也是有用的(强制?)。
你不一定需要学习Win32。考虑学习POSIX的API、GTK+和Boost,因为它们更加便携,在Windows以外的平台上也可以使用。
你可以做出的最好的决定就是在Unix平台上将彻底学好C作为一个独立的技能,然后再去学习C++,这样可以避免混淆C与C++之间的区别。
在列出的数学学科中,我只使用过离散数学。线性代数也很有用,但对于编程来说,集合和数论是远远最好的学科。
享受在C语言中度过的时光,不要依赖于Windows/Visual Studio,并不要匆忙进入C++。
几乎忘了!您绝对必须使用一个体面的C编译器。 C++在企业中广泛使用的一个中心原因,以及C在Windows开发人员中的不良声誉是Visual Studio。 Visual Studio是最好的C++ IDE,但它也是我所知道的最差的C编译器。一定要使用支持C99的C编译器,例如GCC,mingw或Clang。 我第一次使用C是使用LCC,它在Windows上非常容易使用,但自从转移到Linux后,我就没有再使用过它,因此无法评论它的C99状态。
编译器、数据结构、UML或设计模式?
数据结构和算法。
此外,数学中哪些学科对编写优秀代码影响最大?线性代数、离散数学、微积分?
离散数学和数论。
你应该先学习一种结构良好的编程语言:推荐使用Ocaml,Haskell也不错,但是获取工作编译器有点困难,并且因为它是纯函数式的,所以学习起来更加困难。
数学在编程中用处不大(有用的数学太难了,即范畴论)。然而,一些基本的类型理论是有用的。
你不能通过像C这样的语言学习到好的编程,重要的东西被深深地埋藏在繁琐的任务和历史上的愚蠢之中。