1. Coldfusion
    1. Pros
    2. Cons
  2. PHP
    1. Pros
    2. Cons
  3. JAVA
    1. Props
  4. Python
    1. Pros
    2. Cons
  5. Node
    1. Pros
    2. Cons
  6. Reference

公司很无聊,突然想比较一下,很多种不同的服务端语言, 于是就有了下面这篇文章

Coldfusion

  • Based on JAVA

Pros

  • Based on Tags, easy to learn, very easy to learn, connot be easier.
  • Based on JAVA, easy hosting on Win/Linux
  • Better build-in debugging tools
  • The query operations are very easy

Cons

  • JSON support is not good?
  • Price
  • Based on JAVA, run virtual machine need more memory/resource
  • Powerful server required
  • Not free as JAVA, not easy to extend
  • Support community is not large

PHP

  • Open-source

Pros

  • Free!!
  • Free 3rd apps
  • Free hosting
  • Large support community
  • Many 3rd libs
  • Very low system requirements
  • OOP
  • Interpreted language, easier and faster relatively

Cons

  • Output: needs to wrap the output(something like AJAX in JS), which is clumsy
  • Security, required some additional tools for security consideration

JAVA

Props

  • OOP
  • Better for bigdata analytics
  • Cross-platform, can be compiled for many OS3
  • Memory safe(GC is good)
  • Static type checking, you can find the error in Dev Env

Python

Pros

  • Security, better security than php
  • More compact and clean syntax for dev
  • Many powerful standard lib

Cons

  • Speed, slower than C?
  • Mobile Dev is not very good
  • Memory consumption
  • Database access

Node

Pros

  • Performance(Real fast)
  • Written in JS
  • Highly extensible, NodeJS will provide low-level API which is easy to control all.
  • AJAX, JSON, HTTP Server are easy to use
  • Single-threaded (will create multipld-node process)
  • High compatibility of NOSQL
  • Rich community-driven open-source modules. NPM is cool!

Cons

  • Single thread, would be difficult for complex I/O operation, asynchronos programming is hard To understand
  • Not suitable for large and complex Web Apps
  • Single-threaded
  • Upgrade usually. (May need to rewrite a project for some new changes?)

Reference