zoukankan      html  css  js  c++  java
  • C、C++、Java、JavaScript、PHP、Python、Ruby 这些语言分别主要用来开发什么?

    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做网页后台是目前小型网站快速开发的王道.
     
     
     
  • 相关阅读:
    每日一水 POJ8道水题
    编译和使用 MySQL C++ Connector
    j2ee model1模型完成分页逻辑的实现 详解!
    DB查询分析器访问EXCEL时,要在表名前后加上中括弧或双引号
    指向结构体变量的指针
    EOSS V3.0 企业运营支撑系统(基于RBAC原理的权限管理)
    MybatisGen1.0 Mybatis JavaBean Mapper生成工具
    The table name must be enclosed in double quotation marks or sqare bracket while accessing EXCEL by
    资源-Android:Android
    软件-开发软件:Android Studio
  • 原文地址:https://www.cnblogs.com/01picker/p/4391797.html
Copyright © 2011-2022 走看看