搜索
bottom↓
回复: 50

写windows桌面软件, c++和c#的区别在哪里

[复制链接]

出0入0汤圆

发表于 2017-6-30 10:58:12 | 显示全部楼层 |阅读模式
我用C#的时候,一般使用winform较多,也是拖拖控件,然后上外面找个DLL来搞一搞,业务代码当然全靠自己码了啦。
UI界面,有美工的时候美工搞,标好颜色和尺寸,我来实现全靠贴图。

我用C++的时候,也是拖拖控件,然后外面找找开源的DLL搞一搞,后面雷同。

突然发现,难首它们俩是哥们好,那C++长的又小,又不需要平台支持,XP,WIN10,WIN7统吃。可是C#长的又大,虽然WIN7,WIN10上面有,可架不住有3.5, 4.0 ,5.0版本的不一样。

突然觉得浪费了小3年在c#上面了,这不是蛋疼吗?是时候考虑,回去C++去拖拉控的时候了?

有没有高手,对这两方面有什么意见,不同的看法吗?

PS:个人软件,偏两类,一类是WINFORM的UI界面类,一种是后台工作台类。
PS:不要提QT,实在是没功夫去搞了,这两个我觉得够我用了。











出0入57汤圆

发表于 2017-6-30 11:00:41 | 显示全部楼层
还是有差别的,你把c++的第二个加号往左移动,再往下一点,对,就是这样,保持住,是不是发现变c#了

出0入0汤圆

发表于 2017-6-30 11:01:31 | 显示全部楼层
VC++6 is what you need.

出0入0汤圆

发表于 2017-6-30 11:02:48 | 显示全部楼层
leafstamen 发表于 2017-6-30 11:00
还是有差别的,你把c++的第二个加号往左移动,再往下一点,对,就是这样,保持住,是不是发现变c#了 ...

那不是变成了c井了

出0入0汤圆

 楼主| 发表于 2017-6-30 11:08:28 | 显示全部楼层
funnynypd 发表于 2017-6-30 11:01
VC++6 is what you need.

yes,
three years ago , I use vc6.0 , but after I start use c#(vs2010)

出40入42汤圆

发表于 2017-6-30 11:11:52 | 显示全部楼层
合格的二楼

出150入640汤圆

发表于 2017-6-30 11:33:55 | 显示全部楼层
最大的区别在于:C#写的代码,很容易与ASP.NET集成。C++就很难。人类早就进入WEB2.0时代,楼主还停留在WEB前传时代

出100入101汤圆

发表于 2017-6-30 12:00:34 | 显示全部楼层
这和你用来开发什么类型软件有关。另外,LZ大牛,软硬件、上下位机全懂,典型全栈工程师!

出0入93汤圆

发表于 2017-6-30 12:24:06 | 显示全部楼层
dragonlands 发表于 2017-6-30 11:33
最大的区别在于:C#写的代码,很容易与ASP.NET集成。C++就很难。人类早就进入WEB2.0时代,楼主还停留在WEB ...


C++也有托管的,比如MC++,可能你没有用过你觉得C++不容易与ASP.NET集成。
更何况运行在CLR上面,各种语言做成DLL互相乱调用一点难度没有。

而离开了.NET环境,C#就完全废掉了,而C++就活得很好。尤其是还存在C++Builder之类的怪胎,弄个FireMonkey界面,XP、Win7、Win10、iOS、Android通吃还不要额外的库支持,那简直是极好的。

出0入93汤圆

发表于 2017-6-30 12:36:00 | 显示全部楼层
区别就是:
C#对编码人员友好,C++对最终用户友好。
C#写出来的东西很容易慢的跟一坨似的(全看编码人员素质高低),C++的语法就跟一坨似的,复杂得坑死人不偿命,而新的标准还嫌复杂程度不够,再加上一坨又一坨。
PS:现代的C++基本跟Java、C#也没啥区别了,类型推断,GC,Lambda,多返回值,越来越看不懂的语法……

出0入0汤圆

 楼主| 发表于 2017-6-30 12:51:38 | 显示全部楼层
takashiki 发表于 2017-6-30 12:36
区别就是:
C#对编码人员友好,C++对最终用户友好。
C#写出来的东西很容易慢的跟一坨似的(全看编码人员素 ...

但话说回来,我还是很喜欢C#这种语言风格的,比如,System.xxx.xx.xx.xx,真的是不烧脑啊。哈哈。
但是除此之外,C#好象不占优势啊。
听您的意思是,C++BUILDER 比VS或VC6.0开发C++更有优势,但是BUILDER不是已经停了吗?


出0入0汤圆

 楼主| 发表于 2017-6-30 12:52:32 | 显示全部楼层
fengyunyu 发表于 2017-6-30 12:00
这和你用来开发什么类型软件有关。另外,LZ大牛,软硬件、上下位机全懂,典型全栈工程师! ...

不敢当,都是菜鸟水平。。。





出300入477汤圆

发表于 2017-6-30 12:54:20 来自手机 | 显示全部楼层
kinsno 发表于 2017-6-30 12:51
但话说回来,我还是很喜欢C#这种语言风格的,比如,System.xxx.xx.xx.xx,真的是不烧脑啊。哈哈。
但是除 ...

RAD Studio现在还活的好好的,没停。
最新的版本10.2

出0入0汤圆

 楼主| 发表于 2017-6-30 13:27:46 | 显示全部楼层
redroof 发表于 2017-6-30 12:54
RAD Studio现在还活的好好的,没停。
最新的版本10.2

RAD Studio 是 c++ Builder 吗? C++ Builder我记得死过一段时间的啊。
我感觉原来用VC6.0, 现在用VS2008,也马马虎虎,够用。
不晓得你说的RAD Studio相对微硬家的软件有啥优势?





出0入93汤圆

发表于 2017-6-30 14:05:51 | 显示全部楼层
kinsno 发表于 2017-6-30 13:27
RAD Studio 是 c++ Builder 吗? C++ Builder我记得死过一段时间的啊。
我感觉原来用VC6.0, 现在用VS200 ...

C++ Builder是RAD Studio的一个组成部分,就像VC#、VC++是Visual Studio的关系一样。
RAD Studio做界面很方便,FireMonkey界面效果很炫,尤其是3D界面。

出300入477汤圆

发表于 2017-6-30 14:06:04 | 显示全部楼层
kinsno 发表于 2017-6-30 13:27
RAD Studio 是 c++ Builder 吗? C++ Builder我记得死过一段时间的啊。
我感觉原来用VC6.0, 现在用VS200 ...

RAD Studio 就是 c++ Builder 和 Delphi的新版本

出0入0汤圆

发表于 2017-6-30 14:19:17 | 显示全部楼层
C# 开发速度快,也方便调试。C++要花大量的时间在跟语言层面上做斗争。

出0入4汤圆

发表于 2017-6-30 14:23:50 | 显示全部楼层
二楼太牛

出0入0汤圆

发表于 2017-6-30 14:24:56 | 显示全部楼层
说实在的 有时候很希望 C# 一统江湖     毕竟对程序员好 哈哈

出0入0汤圆

发表于 2017-6-30 14:39:03 | 显示全部楼层
每种语言都有它存在的原因,这个讨论起来就没什么意义了,如果都说语法复杂,还不如加上LAB
只需托画就好了,界面做好的时候程序就好了。我当初用c#写了一两天的程序,labview只是半个小时而已。

不过我还是喜欢c# 当初是从vb6.0过来的,学习起来就是简单方便,资料例程多。

出0入4汤圆

发表于 2017-6-30 14:41:43 来自手机 | 显示全部楼层
就服二楼

出0入0汤圆

发表于 2017-6-30 15:07:01 来自手机 | 显示全部楼层
现在写小工具,VC6或python.

出0入0汤圆

发表于 2017-6-30 17:48:46 | 显示全部楼层
微软的东西越搞越垃圾,.NET也不例外

出0入0汤圆

发表于 2017-6-30 19:55:19 | 显示全部楼层
VC6还能再战十年。

出0入0汤圆

发表于 2017-6-30 20:25:48 | 显示全部楼层
二楼简直神回复

出0入0汤圆

发表于 2017-6-30 20:33:21 | 显示全部楼层
leafstamen 发表于 2017-6-30 11:00
还是有差别的,你把c++的第二个加号往左移动,再往下一点,对,就是这样,保持住,是不是发现变c#了 ...

真的耶?!

出0入76汤圆

发表于 2017-6-30 21:37:13 | 显示全部楼层
C++ Builder,还是挺不错的
现在RAD Studio, 也是各种大融合, 安卓APP, 苹果IOS都能搞。。

出0入0汤圆

发表于 2017-7-4 13:49:14 | 显示全部楼层
C++ 要用户自己管理内存,出现Bug相对不好找,C#不要管理内存,Bug好找,开发速度相对比C++快不少,如果你需要Web端,C#可以开发,C++ 就不好办了,速度C++超过C#,个人觉得,各有利弊,谁也不能替代谁

出0入0汤圆

发表于 2017-7-4 16:37:42 来自手机 | 显示全部楼层
赞同10楼,很形象

出0入0汤圆

发表于 2017-7-4 17:50:09 | 显示全部楼层
用C#别忘了一个致命的问题,很容易反编译。

出100入101汤圆

发表于 2017-7-5 06:53:28 | 显示全部楼层
kunteng 发表于 2017-7-4 13:49
C++ 要用户自己管理内存,出现Bug相对不好找,C#不要管理内存,Bug好找,开发速度相对比C++快不少,如果你 ...

来自知乎:1、C++的内存管理,很多老手都搞不定;2、C++目前应用场合很窄,大公司搞服务器端开发(涉及到算法、需要效率)场合应用较多。

出0入93汤圆

发表于 2017-7-5 07:32:19 | 显示全部楼层
kunteng 发表于 2017-7-4 13:49
C++ 要用户自己管理内存,出现Bug相对不好找,C#不要管理内存,Bug好找,开发速度相对比C++快不少,如果你 ...


事实上,现在的C++编译器(比如VS2017)你说的这些根本就不算事,然而并没有卵用。
C++好像从C++17开始支持自动GC了,所以用户可以自动管理内存,也可以不管。更何况C++自由度那么大,自己实现一个GC很容易。N年前的智能指针就类似这个了。
VS有一个MC++,架构于.NET平台,是C#的超集,C#如何实现,C++改成对应的代码就行了,然而代码大了不少,根本没人用。

比较一下:
C#:
  1. System.Windows.Forms.Button btn = new System.Windows.Forms.Button();
复制代码
MC++:
  1. System::Windows::Forms::Button^ btn = gcnew System::Windows::Forms::Button();
复制代码

不要问我^、gcnew是什么意思,反正看起来都是一坨一坨的,比C#难看多了,但的确和C#是一一对应的。在不使用IJW时,和C#除了语法外没有区别。然而 ,C#却无法实现IJW,只能平台调用。

出0入0汤圆

发表于 2017-7-5 07:53:05 | 显示全部楼层
如果你只是写windows桌面软件,那用c#也没啥问题吧。

出0入0汤圆

发表于 2017-7-5 14:34:19 | 显示全部楼层
哪个简单方便用哪个

出0入0汤圆

发表于 2017-7-5 14:57:15 | 显示全部楼层
感觉都是工具,个人喜好,项目所需而已

出100入101汤圆

发表于 2017-7-5 16:16:41 | 显示全部楼层
takashiki 发表于 2017-7-5 07:32
事实上,现在的C++编译器(比如VS2017)你说的这些根本就不算事,然而并没有卵用。
C++好像从C++17开始支 ...

大牛,C++特性越来越多,太难学了

出0入0汤圆

发表于 2017-7-5 16:37:00 | 显示全部楼层
本帖最后由 losingrose 于 2017-7-5 16:46 编辑

从两种语言能力上来说,应用的领域不同。C#高级语言,语言学习和编程较容易,但只能使用.Net和COM+的库,适合快速开发业务复杂的商业应用程序;C++虽然语言和.Net库编程较繁琐,但可以和C库混编,执行性能也较高,所以适合特定领域的开发,比如和硬件交互,高性能绘图,机器人计算等。

我以前是搞C#的,没搞过C++,现在玩硬件学了Python做上位机开发,UI用的PyQT,优点是第三方库比较多,代码编写也非常快速。

出0入0汤圆

 楼主| 发表于 2017-7-5 18:01:53 | 显示全部楼层
losingrose 发表于 2017-7-5 16:37
从两种语言能力上来说,应用的领域不同。C#高级语言,语言学习和编程较容易,但只能使用.Net和COM+的库,适 ...

快是快,exe之外就是整天要带着一个拖油瓶(各种DLL),各种不爽;要不就得打包安装,更是糟糕。

c++的话,直接一个exe就搞定,无须安装,太爽了。


出0入0汤圆

发表于 2017-7-5 18:19:54 | 显示全部楼层
fengyunyu 发表于 2017-7-5 16:16
大牛,C++特性越来越多,太难学了

不用就是了。

出0入4汤圆

发表于 2017-7-5 19:01:38 | 显示全部楼层
用 C++ Builder 10.1吧,也是拖拖控件,再自己写点代码就OK了。

出0入0汤圆

 楼主| 发表于 2017-7-5 19:58:20 | 显示全部楼层
aleyn 发表于 2017-7-5 19:01
用 C++ Builder 10.1吧,也是拖拖控件,再自己写点代码就OK了。

村长有这个的破解版吗?


出0入4汤圆

发表于 2017-7-5 20:03:41 | 显示全部楼层
kinsno 发表于 2017-7-5 19:58
村长有这个的破解版吗?

我没有任何破解版,也没有任何破解文件。
不过,我有一些皮石和牛角刀,如果你需要的话,我可以借给你用用。

出0入0汤圆

 楼主| 发表于 2017-7-5 20:06:27 | 显示全部楼层
aleyn 发表于 2017-7-5 20:03
我没有任何破解版,也没有任何破解文件。
不过,我有一些皮石和牛角刀,如果你需要的话,我可以借给你用 ...

哈哈,太感谢了,最近缺石头和刀,尤其是杀这个的。
村长能否上传一个软件和配套的石头和刀呢?

提前谢了。



出0入4汤圆

发表于 2017-7-5 20:14:16 | 显示全部楼层
kinsno 发表于 2017-7-5 20:06
哈哈,太感谢了,最近缺石头和刀,尤其是杀这个的。
村长能否上传一个软件和配套的石头和刀呢?

皮石在这里: http://pan.baidu.com/s/1skRDRvZ
牛解刀在这里: men2

出0入0汤圆

发表于 2017-7-6 06:31:48 | 显示全部楼层
what is the difference between VC++ and  C++ Builder 10.1?
Any tutorial?

出10入120汤圆

发表于 2017-7-6 07:12:50 | 显示全部楼层
44楼里的内容好多,哪个是安装和石角文件呢

出0入0汤圆

发表于 2017-8-7 12:08:39 | 显示全部楼层
一个被C#玩坏的人把每一层都看了

出0入0汤圆

发表于 2017-10-11 16:20:49 | 显示全部楼层
一个正在学c#的人把每一层都看了

出0入0汤圆

发表于 2017-10-11 16:31:05 | 显示全部楼层


我是做硬件的,软件菜鸟。

为了工作上的方便,解决一些重复性劳动,我也会用C#写一些小工具。

在我看来,不管是C++还是C#,那个方便我就用那个,没有所谓的我是c#党我就不用C++

出10入12汤圆

发表于 2017-10-11 17:18:33 | 显示全部楼层
SOUI  你值得拥有

出0入0汤圆

发表于 2017-10-11 21:26:53 | 显示全部楼层
>SOUI
what is it?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 08:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表