混合编程的意义
C++简介
C++源代码编译后直接生成平台相关的二进制文件,运行效率极高;允许内存操作,适合底层系统开发;很多基础设施或大型软件都采用C++进行开发,这也促进了该语言的生态繁荣。
优点很多,但C++为人诟病的缺点也不少,例如:灵活高效的指针也带来了很多麻烦、语言越来越复杂等。
C#简介
C#逐渐替代C++成为微软阵营的顶流语言,其市场份额逐渐增大,并荣获了“TIOBE 2023年度编程语言”的称号,发展势头可见一斑!
与Java类似,C#源代码编译之后也会生成中间语言,继而在.NET虚拟机上执行,虚拟机提供内存管理、垃圾回收的功能。
C#是纯粹的面向对象编程语言,学习曲线平缓;胜任多种类型的程序开发(如Web前后端、桌面程序等);提供垃圾回收器机制,内存管理安全高效;有NuGet包管理器,海量开源库下载即用!
且在工业软件二次开发领域,C#基本是一种标配,如AutoCAD、Revit等。
C#的不足之处在于:编写的程序非常容易被反编译成源代码,代码混淆器也很难根治这个问题;在计算密集型程序中,该语言还有待提升竞争力。