kinsno 发表于 2017-6-30 10:58:12

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

我用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,实在是没功夫去搞了,这两个我觉得够我用了。











leafstamen 发表于 2017-6-30 11:00:41

还是有差别的,你把c++的第二个加号往左移动,再往下一点,对,就是这样,保持住,是不是发现变c#了

funnynypd 发表于 2017-6-30 11:01:31

VC++6 is what you need.

gujiamao_love 发表于 2017-6-30 11:02:48

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

那不是变成了c井了

kinsno 发表于 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)

落叶知秋 发表于 2017-6-30 11:11:52

合格的二楼

dragonlands 发表于 2017-6-30 11:33:55

最大的区别在于:C#写的代码,很容易与ASP.NET集成。C++就很难。人类早就进入WEB2.0时代,楼主还停留在WEB前传时代

fengyunyu 发表于 2017-6-30 12:00:34

这和你用来开发什么类型软件有关。另外,LZ大牛,软硬件、上下位机全懂,典型全栈工程师!

takashiki 发表于 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通吃还不要额外的库支持,那简直是极好的。

takashiki 发表于 2017-6-30 12:36:00

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

kinsno 发表于 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不是已经停了吗?


kinsno 发表于 2017-6-30 12:52:32

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

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





redroof 发表于 2017-6-30 12:54:20

kinsno 发表于 2017-6-30 12:51
但话说回来,我还是很喜欢C#这种语言风格的,比如,System.xxx.xx.xx.xx,真的是不烧脑啊。哈哈。
但是除 ...

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

kinsno 发表于 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相对微硬家的软件有啥优势?





takashiki 发表于 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界面。

redroof 发表于 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的新版本

luojiyin 发表于 2017-6-30 14:19:17

C# 开发速度快,也方便调试。C++要花大量的时间在跟语言层面上做斗争。

jiulong855@.163 发表于 2017-6-30 14:23:50

二楼太牛

浮华一生 发表于 2017-6-30 14:24:56

说实在的 有时候很希望 C# 一统江湖   毕竟对程序员好 哈哈

snail_dongbin 发表于 2017-6-30 14:39:03

每种语言都有它存在的原因,这个讨论起来就没什么意义了,如果都说语法复杂,还不如加上LAB
只需托画就好了,界面做好的时候程序就好了。我当初用c#写了一两天的程序,labview只是半个小时而已。

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

gwj221 发表于 2017-6-30 14:41:43

就服二楼

Excellence 发表于 2017-6-30 15:07:01

现在写小工具,VC6或python.

modbus 发表于 2017-6-30 17:48:46

微软的东西越搞越垃圾,.NET也不例外

CoolBird007 发表于 2017-6-30 19:55:19

VC6还能再战十年。

avr-arm 发表于 2017-6-30 20:25:48

二楼简直神回复

MyOS 发表于 2017-6-30 20:33:21

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

真的耶?!

foxpro2005 发表于 2017-6-30 21:37:13

C++ Builder,还是挺不错的
现在RAD Studio, 也是各种大融合, 安卓APP, 苹果IOS都能搞。。

kunteng 发表于 2017-7-4 13:49:14

C++ 要用户自己管理内存,出现Bug相对不好找,C#不要管理内存,Bug好找,开发速度相对比C++快不少,如果你需要Web端,C#可以开发,C++ 就不好办了,速度C++超过C#,个人觉得,各有利弊,谁也不能替代谁

hnzbding 发表于 2017-7-4 16:37:42

赞同10楼,很形象

cc_mcu 发表于 2017-7-4 17:50:09

用C#别忘了一个致命的问题,很容易反编译。

fengyunyu 发表于 2017-7-5 06:53:28

kunteng 发表于 2017-7-4 13:49
C++ 要用户自己管理内存,出现Bug相对不好找,C#不要管理内存,Bug好找,开发速度相对比C++快不少,如果你 ...

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

takashiki 发表于 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#:System.Windows.Forms.Button btn = new System.Windows.Forms.Button();MC++:System::Windows::Forms::Button^ btn = gcnew System::Windows::Forms::Button();
不要问我^、gcnew是什么意思,反正看起来都是一坨一坨的,比C#难看多了,但的确和C#是一一对应的。在不使用IJW时,和C#除了语法外没有区别。然而 ,C#却无法实现IJW,只能平台调用。

hyz_avr 发表于 2017-7-5 07:53:05

如果你只是写windows桌面软件,那用c#也没啥问题吧。

huangqi412 发表于 2017-7-5 14:34:19

哪个简单方便用哪个

闲鱼翻身 发表于 2017-7-5 14:57:15

感觉都是工具,个人喜好,项目所需而已

fengyunyu 发表于 2017-7-5 16:16:41

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

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

losingrose 发表于 2017-7-5 16:37:00

本帖最后由 losingrose 于 2017-7-5 16:46 编辑

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

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

kinsno 发表于 2017-7-5 18:01:53

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

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

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


stdio 发表于 2017-7-5 18:19:54

fengyunyu 发表于 2017-7-5 16:16
大牛,C++特性越来越多,太难学了

不用就是了。

aleyn 发表于 2017-7-5 19:01:38

用 C++ Builder 10.1吧,也是拖拖控件,再自己写点代码就OK了。

kinsno 发表于 2017-7-5 19:58:20

aleyn 发表于 2017-7-5 19:01
用 C++ Builder 10.1吧,也是拖拖控件,再自己写点代码就OK了。

村长有这个的破解版吗?


aleyn 发表于 2017-7-5 20:03:41

kinsno 发表于 2017-7-5 19:58
村长有这个的破解版吗?

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

kinsno 发表于 2017-7-5 20:06:27

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

哈哈,太感谢了,最近缺石头和刀,尤其是杀这个的。
村长能否上传一个软件和配套的石头和刀呢?
https://www.amobbs.com/static/image/smiley/default/titter.gif
提前谢了。



aleyn 发表于 2017-7-5 20:14:16

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



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

funnynypd 发表于 2017-7-6 06:31:48

what is the difference between VC++ andC++ Builder 10.1?
Any tutorial?

makesoft 发表于 2017-7-6 07:12:50

44楼里的内容好多,哪个是安装和石角文件呢

canlin029 发表于 2017-8-7 12:08:39

一个被C#玩坏的人把每一层都看了{:cry:}

小Z 发表于 2017-10-11 16:20:49

一个正在学c#的人把每一层都看了{:cry:}

kevinstar888 发表于 2017-10-11 16:31:05

{:titter:}{:titter:}{:titter:}

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

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

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

442502587 发表于 2017-10-11 17:18:33

SOUI你值得拥有

funnynypd 发表于 2017-10-11 21:26:53

>SOUI
what is it?
页: [1]
查看完整版本: 写windows桌面软件, c++和c#的区别在哪里