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做网页后台是目前小型网站快速开发的王道.
 
 
 

C、C++、Java、JavaScript、PHP、Python、Ruby 这些语言分别主要用来开发什么?的更多相关文章

  1. 正则表达式匹配可以更快更简单 (but is slow in Java, Perl, PHP, Python, Ruby, ...)

    source: https://swtch.com/~rsc/regexp/regexp1.html translated by trav, travmymail@gmail.com 引言 下图是两种 ...

  2. Java调用Javascript、Python算法总结

    最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...

  3. [转]Java调用Javascript、Python算法总结

    最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...

  4. Atitit. servlet 与 IHttpHandler  ashx  listen 和HttpModule的区别与联系 原理理论 架构设计   实现机制    java php c#.net js javascript  c++ python

    Atitit. servlet 与 IHttpHandler  ashx  listen 和HttpModule的区别与联系 原理理论 架构设计   实现机制    java php c#.net j ...

  5. Atitit  文件上传  架构设计 实现机制 解决方案  实践java php c#.net js javascript  c++ python

    Atitit  文件上传  架构设计 实现机制 解决方案  实践java php c#.net js javascript  c++ python 1. 上传的几点要求2 1.1. 本地预览2 1.2 ...

  6. indexOf原理,Java,javascript,python实现

      简介 最近做项目的时候,发现无论是前端还是后端,indexOf出现的概率都非常频繁,今天我们来看下他的实现原理吧! indexOf的含义:给定一个字符串去匹配另一个字符串的下标,如果匹配到,返回下 ...

  7. 为什么用 Java:一个 Python 程序员告诉你

    这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Ja ...

  8. JSP,PHP,Python,Ruby,Perl概要及各自特点

    JSP,PHP,Python,Ruby,Perl概要及各自特点 博客分类: JSP PHP Python Ruby Perl概要及各自特点 javascript  互联网技术日新月异,编程的语言层出不 ...

  9. Atitit.异步编程 java .net php python js 对照

    Atitit.异步编程 java .net php python js 的比較 1. 1.异步任务,异步模式,  APM模式,,  EAP模式, TAP 1 1.1.       APM模式: Beg ...

随机推荐

  1. org.springframework.beans.factory.UnsatisfiedDependencyException

    © 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述: 搭建SSH框架,启动时报错如下: 严重: Context initialization failed org.springframew ...

  2. ORACLE 表空间使用率查询

    SELECT A.TABLESPACE_NAME, A.BYTES / (1024 * 1024 * 1024 ) TOTAL, B.BYTES / (1024 * 1024 * 1024 ) USE ...

  3. [译]GLUT教程 - 位图字体

    Lighthouse3d.com >> GLUT Tutorial >> Fonts >> Bitmap Fonts 位图字体一般是二维字体.虽然我们会把它放到三维 ...

  4. Window10 安装问题汇总

       7月28号之后,由于没有收到windows的升级提醒,所以下载了ISO文件手动进行了升级.      本文就升级过程中遇到的问题进行一下总结:    1.ISO文件名称:cn_windows_1 ...

  5. kill 命令

    Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须 ...

  6. Android小应用之拨号器

    首先看一下Android Studio下怎么设置应用的ICON Activity的onCreate()方法 当界面刚被创建时会回调此方法,super.onCreate()执行父类的初始化操作,必须要加 ...

  7. springmvc上传方法

    /** * * @param file 上传的文件 * @param filePath 上传到那个目录 * @return 上传后的文件名字 * @throws IOException */ publ ...

  8. 【JMeter4.0学习(十一)】之JMeter对(Mysql、Oracle)数据库性能测试脚本开发

    一.MySQL数据库链接: 注:下面所产生的问题一律参考详见:<[JMeter4.0]之遇到的问题总结(持续更新)>(包括Mysql.Orcale) 准备:引包,包路径一定要放对位置,参考 ...

  9. Java并发专题 带返回结果的批量任务执行

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27250059 一般情况下,我们使用Runnable作为基本的任务表示形式,但是R ...

  10. STM32 Option Bytes位 重置为出厂设置

    STM32 Option Bytes位 重置为出厂设置 JLINK 按照说明,在IAR安装目录下找到指定的运行程序JLinkSTM32.exe(D:\Program Files (x86)\IAR S ...