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

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

WBOY
WBOYOriginal
2016-06-06 16:21:591610browse

回复内容:

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

C:系统底层,驱动程序,嵌入式底层,基础服务程序。
C++:上层服务程序,应用API,大型3D游戏。
Java:服务端应用程序,以及客户端应用程序。
JS:在浏览器中运行的程序。
PHP:Web服务器端用于生成网页的程序。
Python:任意的无图形界面应用程序,以服务器端应用程序为主。
Ruby:主要用于 RoR 框架,在其他领域使用较少。 Swoole: PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。

Swoole用来取代C++,Java来开发服务器端程序,开发效率更高。
Swoole: PHP的异步、并行、分布式扩展 反对一切“C/C++”混为一谈的说法。

转载一张图:

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

很久以前看到的,用刀来调侃各常见编程语言。只可意会,不可言传。 C:配合汇编一起写操作系统;系统基础设施。也有用来搞大型游戏的,但略蛋疼。
C++:比较复杂但又特别需要高效率的设施,比如大型游戏,一些基础库, 大型桌面应用。
Java:开发比较容易,不容易出错。网络服务器端用的多,特别是企业管理类应用。另外,经常有科研程序使用Swing这个屌丝GUI。
JavaScript:网页客户端脚本。近年的Node.js是用于服务器端开发的。
PHP:主要是网络前端,用于生成网页。也可以整个web服务器都用php,比如很多论坛引擎。
Python:其实干什么都有。比如科研用的日常脚本、系统管理、一些不太复杂的GUI程序、web服务器等等。另外,也有不少桌面程序、游戏使用python作为脚本引擎。
Ruby:好像主要是用Ruby on rails来做web开发。 自问自答
大四了,这个问题是大一的时候问的,大家只看到了我提问的问题,不知道我提问背后的动机,提这个问题的原因是因为那个时候刚进大学,很迷茫,不知道要学什么,在图书馆和网上见到各种语言各种技术,不知道从何入手。
如果有人是不知道如何选择这些技术而看到这个问题,我可以给你一些帮助。
选择一门语言,主要看你未来打算从事哪方面的开发。
C、C++是偏向算法类,一般需要比较强的数据结构和算法的能力,如果你这方面很擅长,拿过ACM大赛冠军或者是TopCoder这类网站的大神,毕业不怕找不到工作。
并不是说其他语言就不需要数据结构和算法的能力,程序=算法+数据结构,但是不如C明显。
Java、PHP、Python、Ruby这些语言都有它的美感和使用范围,最常用的都是做服务器后台开发的,需要你学习各种框架,理解面向对象。
JavaScript是浏览器的脚本语言,一般和Html,CSS这些一起学,主要做网站的前端开发,展现各种酷炫的画面。

其实有时候,最好的选择是没有选择,选择太多,反而会不知所措。
如何你试试这个语言,又看看这个语言,觉得这个语言有缺点,觉得这个语言太麻烦,又投靠其他语言,只会一事无成。
选择了,就要深入理解它,包容它,每个语言都有它的局限性。 理论上任何语言干任何事情几乎都可以, 但是主要干什么那就不一样了, 恰好你提到的语言我都多少有了解, 我给你个简单回答吧:
C: 系统底层, 驱动, 嵌入式开发.
C++: 游戏开发, 大规模, 高性能, 分布式要求的程序开发(比如通信程序)
Java: 网页, 企业级开发, 普通应用软件, 游戏后台
JavaScript: web前段, webapp, 现在用node.js也挺适合做后台了. 假如任何人只想学一门语言(本身不现实), 那我只推荐js.
PHP: 就是网页后台, 也有做弱连接游戏后台的.
Python: 日常脚本工具, 非常方便. 或者用Django开发网页后台, 不过较少.
Ruby: Ruby on Rails做网页后台是目前小型网站快速开发的王道.

忘记在哪看到的,说的挺有意思的。

---------------------------------------------------------------------------------------------------------------

PHP是你的豆蔻年华的心上人,她是情窦初开的你今年夏天傻乎乎的追求的目标。玩一玩可以,但千万不要投入过深,因为这个女孩有严重的问题。



Ruby是脚本家族中一个非常漂亮的孩子。第一眼看她,你的心魄就会被她的美丽摄走。她还很有有趣。起初她看起来有点慢,不怎么稳定,但近些年来她已经成熟了很多。


Python 是Ruby的一个更懂事的姐姐。她优雅,新潮,成熟。她也许太过优秀。很多小伙都会说“嘿,兄弟,你怎么可能不爱上Python呢!?”。没错,你喜欢Python。你把她当成了一个脾气和浪漫都退烧了的Ruby。


Java是一个事业成功的女人。很多在她手下干过的人都感觉她的能力跟她的地位并不般配,她更多的是通过技巧打动了中层管理人员。你也许会认为她是很有智慧的人,你愿意跟随她。但你要准备好在数年里不断的听到“你用错了接口,你遗漏了一个分号”这样的责备。


C++ 是Java的表姐。她在很多地方跟Java类似,不同的是她成长于一个天真的年代,不认为需要使用“保护措施”。当然,“保护措施”是指自动内存管理。你以为我指的是什么?


C 是C++的妈妈。对一些头发花白的老程序员说起这个名称,会让他们眼睛一亮,产生无限回忆。


Objective C C语言家族的另外一个成员。她加入了一个奇怪的教会,不愿意和任何教会之外的人约会。

精通其中任何一种你就可以衣食无忧!
精通其中任何一种学习其他的 也就不是问题 !
其实语言只不过是在不同领域解决计算机问题的一种方式 !
SO 不要在乎是什么 !找一个自己能看懂的学 就OK ~ 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开发的。 欲三更 的回答中尾三項說得比較不準確
php : 主要以FastCGI 模式運作返回資料流, 所以作為伺服器模式運作效率會較佳, 適合單點單線程的程序開發; 比如說互聯網上的資料生成, 網頁是主要的表現方式。

Python : 方便引用組件和簡潔的語法, 在很多地方都有用途, 由網頁引擎, 遊戲開發, 以至單機程式都有自己的框架, 但也因為其平衡度, 一來令開發人員可以用同一種語言來開發, 但反面是沒有突出的表現。

Ruby : 因為CPU 和記憶體效能低下的問題。今天主要是兩個用途, 1.作為RoR 的基礎做網頁Rad, 2.作為遊戲引擎中的二級語言。

C++補充, 作為系統級的低階語言, 但它的語言特性之豐富足以令它建立層次豐富的大型系統。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn