有什么理由一个.net Windows程序员需要学习C或C ++了吗?有什么、程序员、理由、net

2023-09-04 02:33:17 作者:时间会让人淡忘

有人能描述开发用于Windows时将有超过一个的.Net编程有什么好处C或C ++程序员?

Can someone describe what advantages a C or C++ programmer would have over a .Net programming when developing for Windows?

推荐答案

有一种说法,每一个足够复杂的C程序最终结束的C重新实现部分++。同样的问题也与C ++程序和更高的语言。学习C和C ++会间接地使你成为一个更好的程序员,帮助您获得的净是如何工作有了更深的了解,为什么设计师所做的选择,他们做。

There's a saying that every sufficiently complex C application ultimately ends up reimplementing parts of C++. The same goes with C++ programs and higher languages. Learning C and C++ will indirectly make you a better programmer by helping you gain a deeper understanding of how .Net actually works, and why the designers made the choices they made.

一个程序员只是不如他在他之下的层的理解。 .NET确实提取了大量的机器架构问题拿出来看的pretty的好工作,但它并不完美。目前仍在泄漏的抽象层,其中的低层次问题的理解会帮助你在净层做出正确的决定。

A programmer is only as good as his understanding of the layers beneath him. .Net does a pretty good job of abstracting a lot of machine architecture issues out of view, but it's not perfect. There are still leaks in the abstraction layer where an understanding of lower-level issues will help you make good decisions at the .Net layer.

对这些问题的一个简短的,不完整的清单包括:

A short, incomplete list of these issues includes:

在互操作与本地code,特别是与Windows API 在CPU高速缓存一致性(如果你不相信我的话,谷歌在PDC 09从PLINQ presentation幻灯片) 在价值型性能与引用类型的性能(这是右脚牢牢地在.NET世界,但学习C / C ++,使堆和栈分配在某些方面更加明确的差异)。 在内核调度问题(也就是为什么这是一个坏主意,剥离1000线程) 了解垃圾回收也最好写一些内存管理方案在非垃圾收集的语言来实现的。