C++和C#的思考

从2011年从业至今已经写了7年C++了,而C#、go语言虽然早有涉猎,但直到最近才开始思考语言的发展和工程之间的关系。

C++ 更容易写出高内聚代码

使用指针做原地内存操作

直接堆栈控制,减少内存分配,提高利用率

调用原生操作系统api,利用os特性

使用模板元编程制作接口统一算法库

引用计数的智能指针解决内存管理问题

C# 更容易写出整洁无bug代码

完善的语法糖,为开发者考虑

基于对象追踪的垃圾回收机制

弱化内存管理功能

弱化模板元编程功能

接口,抽象类,静态类等完备的oop机制

属性,索引,事件,委托,简化设计模式(设计模式是对oop的补充)

使用析构器,IDisposed释放非托管资源

反射,CodeDOM动态编译执行代码