回复内容:此贴纯科普用,以下仅仅说主要用途,其他用途限于篇幅关系省略之,不要钻牛角尖。C:系统底层,驱动程序,嵌入式底层,基础服务程序。C++:上层服务程序,应用API,大型3D游戏。Java:服务端应用程序,以及客户端应用程序。JS:在浏览器中运行的程序。PHP:Web服务器端用于生成网页的程序。
回复内容:
此贴纯科普用,以下仅仅说主要用途,其他用途限于篇幅关系省略之,不要钻牛角尖。
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:开发比较容易,不容易出错。网络服务器端用的多,特别是企业管理类应用。另外,经常有科研程序使用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++補充, 作為系統級的低階語言, 但它的語言特性之豐富足以令它建立層次豐富的大型系統。