返回目录:word文档
桌面端开发都用什么语言,简单分析下这些语言的优劣势对比?
对于编程,没有最好的语言,只有最合适的语言。下面谈谈常见的PC桌面端开发语言。
C/C++系列
C++系列最大的优点就是效率高,不过缺点也是很麻烦的,上手难度大。下面介绍介绍两种有官方背书的,开发过程中经常用到的C++界面库,至于Duilib、BCG等第三方开源库这里不再介绍。
1、Qt
C++开发界面首选开源库。在C++领域,有GUI的地方都有Qt,有嵌入式的地方一般也有它,金融、工业、电力、视频监控等行业也有它。跨平台支持,文档齐全,API设计优雅,一直保持更新,它不仅仅是一套界面库,更封装了多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等接口。
常见的抓包神器Wireshark、文档编辑器WPS就是使用Qt开发而成,下面附一张使用QSS实现的界面换肤效果图。
以上就是我的观点,喜欢就【点个赞】吧!
一些著名的软件都用什么语言编写?
一、操作系统:
Microsoft Windows :汇编 -> C -> C++
备注:曾经在智能手机的操作系统(Windows Mobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。
相信很多朋友都知道Windows Vista,这个系统开发早期比尔盖茨想全部用C#写,但是最终因为执行慢而放弃,结果之前无数软件工程师日夜劳作成果一夜之间被宣告作废。
Linux :C
Apple MacOS : 主要为C,部分为C++。 备注: 之前用的语言比较杂,最早是汇编和Pascal。
Sun Solaris : C
HP-UX : C
Symbian OS : 汇编,主要为C++。 (诺基亚手机)
Google Android :2008 年推出: C语言(有传言说是用Java开发的操作系统,但最近刚推出原生的C语言SDK)
RIM BlackBerry OS 4.x : 黑莓 C++
二、图形界面层
Microsoft Windows UI :C++
Apple MacOS UI (Aqua) : C++
Gnome (Linux图形界面之一,大脚): C和C++, 主要是C。
KDE (Linux图形界面),C++。
三、桌面搜索工具
Google Desktop Search : C++
Microsoft Windows Desktop Search : C++
Beagle (Linux/Windows/UNIX 下): C# (基于开源的 .net : Mono)
四、办公软件
Microsoft Office :在 汇编 -> C -> 稳定在C++
Sun Open Office : 部分JAVA(对外接口),主要为C++ (开源,可下载其源代码)
Corel Office/WordPerfect Office : 1996年尝试过Java,次年被抛弃,重新回到C/C++
Adobe Systems Acrobat Reader/Distiller : C++
五、关系型数据库
Oracle : 汇编、C、C++、Java。主要为C++。
MySQL : C++
IBM DB2 :汇编、C、C++,主要为C。
Microsoft SQL Server : 汇编 -> C->C++
IBM Informix : 汇编、C、C++,主要为C。
SAP DB/MaxDB : C++
六、Web Browsers/浏览器
Microsoft Internet Explorer : C++
Mozilla Firefox : C++
Netscape Navigator :The code of Netscape browser was written in C, and Netscape engineers, all bought to Java (see M. Cusumano book and article) redeveloped the browser using Java. It was too slow and abandoned. Mozilla, the next version, was later developed using C++.
Safari : (2003年1月发布)C++
Google Chrome : (2008的发布)C++
Sun HotJava : Java (死于1999年)
Opera : C++ (手机上占用率比较大)
Opera Mini : Opera Mini (2007) has a very funny architecture, and is indeed using both C++ and Java. The browser is split in two parts, an ultra thin (less than 100Kb) "viewer" client part and a server side responsible of rendering. The first uses Java and receives the page under the OBML format, the latter reuses classical Opera (C++) rendering engine plus Opera's Small Screen Rendering, on the server. This allows Opera to penetrate various J2ME-enabled portable devices, such as phones, while preserving excellent response time. This comes obviously with a few sacrifices, for instance on JavaScript execution.
Mosaic : 鼻祖(已死) C 语言
七、邮件客户端
Microsoft Outlook : C++
IBM Lotus Notes : Java
Foxmail : Delphi
八、软件开发集成环境/IDE:
Microsoft Visual Studio : C++
Eclipse : Java (其图形界面SWT基于C/C++)
Code::Blocks : C++
易语言:C++
火山中文:C++
火山移动:C++
九、虚拟机
Microsoft .Net CLR (.NET的虚拟机): C++
Java Virtual Machine (JVM) : Java 虚拟机:C++
十、ERP软件 (企业应用)
SAP mySAP ERP : C,后主要为“ABAP/4”语言
Oracle Peoplesoft : C++ -> Java
Oracle E-Business Suite : Java
十一、商业智能(Business Intelligence )
Business Objects : C++
十二、图形处理
Adobe Photoshop : C++
The GIMP : C
十三、搜索引擎
Google : 汇编 与 C++,主要为C++
十四、著名网站
eBay : 2002年为C++,后主要迁至Java
facebook : C++ 和 PHP
This line is only about facebook, not its plugins. Plugins can be developed in many different technologies, thanks to facebook's ORB/application server, Thrift. Thrift contains a compiler coded in C++. facebook people write about Thrift: "The multi-language code generation is well suited for search because it allows for application development in an efficient server side language (C++) and allows the Facebook PHP-based web application to make calls to the search service using Thrift PHP libraries." Aside the use of C++, facebook has adopted a LAMP architecture.
阿里巴巴和淘宝:php->C++/Java(主要用)
十五、 游戏 :
汇编、C、C++
星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界.... 数不胜数了,自己数吧
都是用C++开发的,C++语言靠近系统地称,执行速度最快。比如你的两个朋友与你分别玩用VB、Java、与C++编写的“跑跑卡丁车”,你玩C++编写的游戏已经跑玩结束了,发现你的两个朋友还没开始跑呢,那是相当的卡啊,
十六、编译器
Microsoft Visual C++ 编译器: C++
Microsoft Visual Basic 解释、编译器:C++
Microsoft Visual C# : 编译器: C++
gcc (GNU C compiler) : C
javac (Sun Java compiler) : Java
Perl : C++
PHP : C
十七、3D 引擎
Microsoft DirectX : C++
OpenGL : C
OGRE 3D : C++
十八、Web Servers (网页服务)
Apache : C和C++,主要为C
Microsoft IIS : C++
Tomcat:Java
Jboss:Java
十九:邮件服务
Microsoft Exchange Server : C->C++
Postfix : C
hMailServer : C++
Apache James : Java
二十:CD/DVD 刻录
Nero Burning ROM : C++
K3B : C++
二十一:媒体播放器
Nullsoft Winamp : C++
Microsoft Windows Media Player : C++
Microsoft Windows Media Player : C++
二十二:Peer to Peer (P2P软件)
eMule : C++
μtorrent : C++
Azureus : Java (图形界面使用基于C/C++的SWT,类Eclipse)
二十三:全球定位系统(GPS)
TomTom : C++
Hertz NeverLost : C++
Garmin : C++
Motorola VIAMOTO : 2007年6月,停止服务。 Java。
二十四:3D 引擎
Microsoft DirectX : C++(相信玩游戏的同学都知道这个,现在最高版本是DX11)
OpenGL : C
OGRE 3D : C++
二十五:服务器软件
Apache:C
Nginx:C
IIS:C
二十六:其他相关
OpenStack:Python
如何开发一个windows软件,需要用哪些语言?
谢邀。Windows软件开发,不仅有C/C++、还有Java、C#,甚至JavaScript也加入了桌面应用开发的阵营......
C++方向
作为一名主业为C++的开发工程师,当然是首推C++了,用它来写Windows软件,还是很香的,这里重点推荐两个界面库。
Qt
这个也是C++界面开发首推的UI库,是一套跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。文档齐全,API设计优雅,原生态跨平台支持,在国产化盛行的今天,相信Qt的市场也会越来越广阔。Qt新版本提供的QSS可以让你像Web当中CSS那样优雅的写界面布局代码。
下图是使用Qt内置的QSS绘制的一个界面换肤效果图,还是很绚丽的(PS:作品来源于CSDN,博主:一去丶二三里,如有侵权,请随时联系)。
MFC
虽然业界流传MFC=没饭吃、MFC要淘汰了......但是这么多年过去了,这玩意还是没有淘汰,只能说是落幕了,需求越来越少(然鹅,并没有绝迹)。
如果题主的需求是做一些自用的小工具,如果界面要求不是很高的话,那么选用基于MFC的Dialog对话框模式还是很方便的。无论是自用或者是他用,简单的将静态编译完成的exe发送给其他人就可使用,不用过多的依赖库。
温馨提示:
如果是选择就业方向的话,不建议选择MFC。
C#方向
微软主推的编程语言,与宇宙第一IDEVisualStudio配合的天衣无缝,通过简单的拖拽即可完成界面元素的布局。仿Java而生,目的就是取代Java,然而其结果是显而易见的,PC端程序开发已经落幕,在Web端,C#似乎跟Java不在一个重量级上。
考虑到微软的技术更新换代实在太快了,比如WinForm和WPF被全面移植到.NET Core。在这5G时代、人工智能、大数据各种浪潮的年代,实在没有必要再去追逐微软了。
JavaScript方向
考虑到题主的语言技术栈,主要偏向Web方向,开发Windows软件的话,隆重推荐下Electron。可以让你使用纯 JavaScript 调用丰富的原生(操作系统) APIs 来创造桌面应用,大名鼎鼎的VSCode、Atom就是使用该开源库来完成的。让人们感觉JS真的有一统天下的趋势(Web、移动端、PC客户端)。
至于Java、PyQt之流,这里就不再推荐了。毕竟Python的设计初衷就不是让你来写Windows客户端开发的,而Java,重心也早已转移到Web端和移动端了,JavaSE开发的客户端程序已经很少见了。
本文为作者“一个程序员的奋斗史”悟空问答原创文章,未经允许转载、抄袭必究!
软件开发要学习什么语言?
首先感谢邀请。针对软件开发学习,首先需要确定一下从业方向,目前比较火热的开发主要分为:物联网,云计算大数据,区块链,AI,后台,微信小程序以及Android,IOS等等。
如果你是转行入门,建议学习目前比较火的大数据方向以及区块链。可以看一下区块链方向招聘:
目前区块链方向的是比较火热的,可以学习一下,主要是算法方向等
大数据的招聘也是挺多的
学习开发之前可以去专业网站看一下招聘的技术要求以及火热的招聘职位,就可以看出趋势。这是跟进社会潮流的方式。
第二:学习linux,C++,算法等偏底层的方向
开发有高级语言,例如Java,C++,PHP等。也可以偏底层运用的,这些语言学习需要下大功夫,处理也是很受欢迎的
第三:构建知识体系
例如Java开发工程师,从业学习需要知道数据结构,设计模式,Java虚拟机,JavaEE,Java web等知识,框架sping,spingmvc,spingboot ,struts等,mybatis,ibatis等,数据库 oracle,mysql,非关系型数据库:Redis, MongoDB 等。这些是需要使用的,还有服务器tomcat,jboss等部署调优,sql数据的优化等
现在的Windows程序大多都是用什么语言开发的?
基本上以C++和C#为主流。
其他的就是VB,Delphi,PB ,汇编,等,这些是上世纪90年代的主流。
但是某些游戏是用JAVA语言编写;
工具Delphi;比如WPS;
windows鼠标键盘中心等界面部分使用的.NET,基本以C#为主。
如果要学语言,选一门主流的学好,很多语言可以互通,很多程序员也主一个,旁通一俩。