置顶/星标公众号,不错过每一条重要消息!
知乎看见的一个话题,大致总结分享下
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
领取专属 10元无门槛券
私享最新 技术干货