C、C+、Java、JavaScript、PHP、Python、Ruby 这些语言分别主要用来开发什么?

置顶/星标公众号,不错过每一条重要消息!

知乎看见的一个话题,大致总结分享下

pansz,欢迎评论

此贴纯科普用,以下仅仅说主要用途,其他用途限于篇幅关系省略之,不要钻牛角尖。

C:系统底层,驱动程序,嵌入式底层,基础服务程序。

C++:上层服务程序,应用API,大型3D游戏。

Java:服务端应用程序,以及客户端应用程序。

JS:在浏览器中运行的程序。

PHP:Web服务器端用于生成网页的程序。

Python:任意的无图形界面应用程序,以服务器端应用程序为主。

Ruby:主要用于 RoR 框架,在其他领域使用较少。

Xi Yang,盯……………………

C:配合汇编一起写操作系统;系统基础设施。也有用来搞大型游戏的,但略蛋疼。

C++:比较复杂但又特别需要高效率的设施,比如大型游戏,一些基础库, 大型桌面应用。

Java:开发比较容易,不容易出错。网络服务器端用的多,特别是企业管理类应用。另外,经常有科研程序使用Swing这个屌丝GUI。

JavaScript:网页客户端脚本。近年的Node.js是用于服务器端开发的。

PHP:主要是网络前端,用于生成网页。也可以整个web服务器都用php,比如很多论坛引擎。

Python:其实干什么都有。比如科研用的日常脚本、系统管理、一些不太复杂的GUI程序、web服务器等等。另外,也有不少桌面程序、游戏使用python作为脚本引擎。

Ruby:好像主要是用Ruby on rails来做web开发

uncle creepy,觉得知乎的水问答和产品类问答太泛滥了,…

C/C++理论上是可以做任何开发的,只要有合适的硬件驱动和API,特点是效率高,基本上是编译语言里面效率最高的。(据说java后台处理单条语句效率已经接近C++,但是,java有几个硬伤无法克服,内存占用过大,这个被C++完爆,图像处理,因为jvm虚拟机的关系,所以图像处理效率偏低,此外就是线程切换 ,java线程是由jvm虚拟机处理的,由于多包了一层,所以线程开多了效率偏低)。

js不了解。。。

python, ruby, perl, php属于同一类,都是脚本型语言,特点是不需编译,开发效率高(很多定义逻辑都不必考虑),但同时效率低,一般SA喜欢这类语言。同时这类语言也有适合搭建网站的架构,这个我不是很了解,但搭建网站很多东西大同小异,负载大的时候往往可以通过用C重写一些架构和优化服务器来提高效率。这方面有些网站青睐python是因为pythong就是C++写的,可以直接用lib*.so来代替一些python写的效率较低模块。

举几个例子,qq的qqmail貌似用的是CGI。。也就是用C++写的。。facebook一开始是用php开发的(因为效率高,马克比较熟php,马克是前端程序员。。?),后来用C重写模块和数据库来加速。很多网站后端是是java写的(java就适合后端开发,因为java单句执行效率和C++差不多),像一些游戏,比如 仙剑奇侠传之类都是用C++开发的, DOOM之类也是用C++的D3D api开发的。

九天雁翎,程序猿 攻城师

理论上任何语言干任何事情几乎都可以, 但是主要干什么那就不一样了, 恰好你提到的语言我都多少有了解, 我给你个简单回答吧:

C/C++: 游戏开发, 大规模, 高性能, 分布式要求的程序开发(比如通信程序), C还适合用于嵌入式.

Java: 网页, 企业级开发, 普通应用软件, 游戏后台

JavaScript: webapp, 现在用node.js也挺适合做后台了.

PHP: 就是网页后台, 也有做弱连接游戏后台的.

Python: 日常脚本工具, 非常方便. 或者开发网页后台, 不过较少.

Ruby: Ruby on Rails做网页后台是目前小型网站快速开发的王道.

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190917A03MGT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券