一下纯个人看法,单纯C++和C#比的话,C#属于相当好入门的级别。
想做游戏的话C#+U3D相对也比较简单。
C#的特点就是背靠微软,内存管理相对容易,不太需要开发者自己动手,然后基本上啥都能干,普通点的的console,library,桌面程序都可以写,稍微高级点的后端服务,上位机也没问题。现在有blazor你可以写前端,MAUI甚至连安卓ios都可以写。Core以后跨平台也ok。
以上都可以说是C#的优点,同时基本上也是他的缺点。
背靠微软代表着有大企业背书,而且目前算是微软比较上心的一块,所以后续迭代和维护稍微有点保障;但是同时也是因为微软有不少黑历史(C#方面的),所以这个语言的未来有点薛定谔的感觉。
有GC的话对于开发者是比较友好的,同时也意味着相对来说运行效率会打点折。当然这个可以通过后面你自己折腾一下GC来搞搞优化。
最后他啥都能干呢,其实也有点啥都会,但啥都不精的意思。简单来说就是,你可以选他,但是也有其他更好的选择。
桌面端这个,官方那几个框架现在对linux好像还没有支持吧,只有些第三方的库可以。所以假设你想做个win+linux甚至mac都可以用的客户端,那可能electron之类的更容易点。
至于blazor,muai,他们确实可以写前端,写安卓和ios,但是目前起码我不知道哪个知名点的软件会用muai的,blazor也一样。
游戏的话C#还算热门吧,毕竟Unity用C#,虽然Unity也可以用JavaScript和C++。啊对了,想做游戏还有GoDot。
不过C#还有个上位机可选,但是这个我了解不多。
最后也就是C#最大的痛点吧,国内的岗位和薪资比起类似定位的JAVA,是真的少一些。
想做游戏的话C#+U3D相对也比较简单。
C#的特点就是背靠微软,内存管理相对容易,不太需要开发者自己动手,然后基本上啥都能干,普通点的的console,library,桌面程序都可以写,稍微高级点的后端服务,上位机也没问题。现在有blazor你可以写前端,MAUI甚至连安卓ios都可以写。Core以后跨平台也ok。
以上都可以说是C#的优点,同时基本上也是他的缺点。
背靠微软代表着有大企业背书,而且目前算是微软比较上心的一块,所以后续迭代和维护稍微有点保障;但是同时也是因为微软有不少黑历史(C#方面的),所以这个语言的未来有点薛定谔的感觉。
有GC的话对于开发者是比较友好的,同时也意味着相对来说运行效率会打点折。当然这个可以通过后面你自己折腾一下GC来搞搞优化。
最后他啥都能干呢,其实也有点啥都会,但啥都不精的意思。简单来说就是,你可以选他,但是也有其他更好的选择。
桌面端这个,官方那几个框架现在对linux好像还没有支持吧,只有些第三方的库可以。所以假设你想做个win+linux甚至mac都可以用的客户端,那可能electron之类的更容易点。
至于blazor,muai,他们确实可以写前端,写安卓和ios,但是目前起码我不知道哪个知名点的软件会用muai的,blazor也一样。
游戏的话C#还算热门吧,毕竟Unity用C#,虽然Unity也可以用JavaScript和C++。啊对了,想做游戏还有GoDot。
不过C#还有个上位机可选,但是这个我了解不多。
最后也就是C#最大的痛点吧,国内的岗位和薪资比起类似定位的JAVA,是真的少一些。