前言:
有小伙伴问,.Net对于底层的的控制力越来越强。基础设施偏向底层,学习.Net 要不要学习C++呢?
概述
要回答这个问题,需要从需求的不同方面来看。
也就说根据你目前工作的需要,来看看你自己从事的是哪个方面,如果你从事应用层的开发。比如上位机,设计模式,Web开发,Dapr,K8s这些则基本上不需要了解底层,也就是到不了C++那个层面做些涉及不到很底层的东西,更多的是框架上的配置和部署以及界面的操作。
如果你从事.Net方面基础性的开发,比如编译器研发,程序漏洞查找,二进制预转,CLR定制等等基础性的底层工作,这些方面大量的涉及到C++语言的操作,就需要对C++极为熟悉,这个时候你就需要学习C++了。但是这个方向极为罕见,在.Net领域十不存一。
C++适合的应用场景
嵌入式
操作系统应用层
OS内核层
设备驱动开发
数据库DBA
图形学
图像学
浏览器
网络基础设施
音频视频
超性能计算
.Net适合的应用场景
游戏开发
桌面开发
web开发
云原生开发
移动端开发
等等
以上.Net和C++的区别在于前者对于业务层的大量应用,后者则对于高精尖性能方面的应用无与伦比。
总之来说,个人认为。作为托管的.Net程序员基本上不需要了解C++,即可做出像样的产品和待在出色的的工作岗位上。
结尾
作者:江湖评谈