你说的那些通常是C++开发的。
主要区别个人感觉就是C#开发的必须在.net框架下面运行,C++不需要。
扩展
WIn 7系统自带.net framework 3.5,xp系统不带.net框架或者.net 1.1的,是不是C#开发的程序编译为.exe文件之后不能在xp系统上安装或运行? 用C++开发比用C#开发好一些?
补充
好不好不能一概而论,就上面讨论的可移植性来看C++的肯定好些,但是从程序员的生产效率(对用户就是价格)来看,C#明显占优势啊。
客户端是指开发面向客户的程序,分很多平台,比如Windows 安卓 苹果,还有游戏客户端也算一类。
前端指的是通过浏览器和用户交互的那部分。
后端是在服务器上跑的,一般是管理数据,为前端 客户端提供数据传输的。
服务器端就是后端。
服务端各种安全机制,比如身份验证,这一条的情况在于,有的前端做身份验证就是调用一下接口,获取到类似token字段,自己也不知道是什么意思,就乱丢乱用等。
本质上来说,前端是做不了什么安全措施的,但是,相应的拦截和安全还是要做,因为可以帮后端挡掉很多低质量攻击以及前端自身的用户体验。
客户端是默认支持json的,后端是需要处理的。这点可以引申到,前后端各自传递的数据格式问题。有些前端 null undefined 空串分不清楚,到了后端就各种问题。
开发桌面程序主流:C#(.net)或者C++。C++通常用于个人应用,大多数的通用商业程序都是C++开发的。而C#更多用于企业应用,更适合快速定制开发。
其他的老VB6(非.net的)、Delphi、C++Builder都不错,但已经逐渐淘汰了,用的人也是越来越少。至于Flex的AIR桌面程序就更加小众了,可谓人迹罕至。
此外,还有些企业应用因为后台是Java的,因此也选用Java做桌面。因为Java后台数量庞大,因此用Java做桌面在未来很长一段时间内依然是有一席之地的,但不是最主流的。
既然开始选择了Java,那么C#是最自然的选择,特别是在已经用Java做了部分工作的情况下。这时系统架构、设计模式等都基本可以原封不动的搬过来,很多代码也可以很容易转成C#。而且C#毕竟是完全从新设计的现代语言,从语言到库都是博采众长,优美而不失强大,语言表达能力强,库也比较容易上手。另外它调用API,COM组件,DLL都很方便,便于团队合作和使用第三方代码,这是它在Windows平台下比Java好用的一个很重要的方面。它的不利之处主要在于运行效率不高(和Java差不多)和部署不方便(要求用户装.net framework)。按理说既然开始是Java程序,这两点都应该不成问题。但如果确实对这两点有要求的话,还是选择VC或Delphi的好,这时我可能会选VC,而像楼主这样的Delphi高手这时估计会选择Delphi。
目前,主流使用C#的多,开发周期短;
但是如果想深入这个行业,我觉得c和C++的基础是必须的。。
ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。
控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。
因此,开发面向Web的ActiveX控件比开发桌面的控件还要简单些,所复杂的是如何将该控件很好地嵌入主页,使用户能正常浏览。
什么语言都行,VB都能开发类似photoshop的软件。但是C语言由于运行效率高,所以比较收到欢迎。如果你是学习软件开发的,一定要对C/C++有所了解。不然没前途。而且C++程序员挣得比较多。
桌面软件也有用java写的
软件开发分2大类,应用开发和系统开发。
在应用开发领域:
在早些年java做桌面就给人根植了运行慢的印象。
.net平台呢,在windows平台下是个选择。
但这2个都要求有运行环境做支持
现在硬件这么高的速度,应用开发考虑的是开发效率和可维护性高。
360卫士这样的软件偏重系统开发了。系统开发是始终考虑运行速度的。建议语言是 c c++这方面的。
flex是个嵌入脚本,做不了桌面程序的。