React++ node.js ++SQL Sever ++MySQL++ python ++ php ++ java ++ c++ c#++ java ++ android ++ ios ++Lin


“C语言在它诞生的那个年代,是很是不错的语言,惋惜没有OOP。当项目臃肿到必定程度,人类就不可控了。
为了弥补这个缺陷,C++诞生了。而为了应对各类状况,C++设计的大而全,太多复杂的特性,当你去阅读一些开源项目,或者不少人写一个很庞大的项目的时候你就能体会到C++的复杂,超过人类心智驾驭的范围了。为了弥补这个缺陷,JAVA诞生了。Java很不错,对C++进行简化。可是也不是完美的,为了跨平台,引入了运行时环境,讽刺的是也是由于这个运行时环境,也只是有限的跨平台,也有一些坑。为了弥补JAVA的一些小缺陷,C#诞生了。惋惜跟JAVA学坏了,也是运行在运行时环境上。早期C#只能在微软平台上运行,限制了它的发展。随着这几年C#完全开源,正慢慢让C#变得更加普遍。Objective-C对比现代编程语言,太过古老了,有不少稀奇古怪的语法,限制了它的开发效率。为了弥补Objective-C的缺陷,Swift诞生了。Swift初级设计改了好几个版本,显然是精心设计过,语法虽然设计的优雅漂亮,可是应用还不是很普遍。Swift刚出来的时候,用它写了几个小程序。可是Swift后面几个版本变更的太厉害了,给人一种不稳定的感受。并且虽然Swift开源了,可是给人的感受仍是局限在Apple的平台上,各类库都没有很好的跨平台。javascript

c 面向过程,系统级别开发,底层开发,本身管理内存
c/c++ 面向过程,面向对象。
python,脚本语言
c#,java面向对象
开发安卓用java
开发ios软件用object-cphp

若是是系统级的APP那固然是C++,若是是应用软件那首选JAVA。由于安卓是基于Linux,二者均可以。但C面向底层。JAVA面向用户。C要求高一点,JAVA可使用手机商提供的开发套件。css

Android操做系统是基于Linux开发的一个移动操做系统,而你们更知道,Linux是C与C++的天下,因此Android的底层是支持C/C++的。综上描述,Android上所采用的编程语言主要有如下的方式:html

一、基于ADK的Java编程java

二、基于NDK的C编程node

Android应用层的开发,基本上所有是采用Java开发,而个别性能需求的部分,可能会采用NDK的方式。python

原本从语言特性来讲,Objective-C和Java比不合适,由于设计理念不一样,Objective-C和C++能够比,Java和C#比。Java和C#编译出的代码都须要一个运行环境才能跑,相似虚拟机的方式执行代码,Objective-C和C++编译出的代码则能够直接给交给CPU运行。有运行环境的语言,执行效率低不少,优势是开发简单。
不过既然如今这两个是最流行的移动开发语言,硬把二者放一块儿比就至关于拿Google和Apple平台比,仍是有意义的:
(1)执行效率:如上面所说,Objective-C效率高得多,因此Android手机的电池表现和性能表现很难均衡。Obj-C胜。
(2)开发效率:也如上面所说,Java开发更简便。不过在苹果的努力下,Objective-C开发MacOSX应用已经可使用GC(自动垃圾回收),开发iOS应用有ARC(自动引用计数),反正都再也不须要手动管理内存了,之前管理内存是Obj-C程序员的噩梦。Java胜。
(3)跨平台:除了苹果的系统,已经没什么系统应用能用 Objective-C 开发了,但Objective-C能够和C++混合编译,C++的跨平台威力可秒杀Java,因此不少软件都是用C++开发核心、在苹果的平台上用Obj-C作个壳。固然,Java也能调用C++开发的代码,但两种语言格格不入(效率差距、类型差别),开发出的代码一点都不优雅,没法与Obj-C / C++的融合媲美。平手。
(4)开源库:Objective-C的开源库丰富程度虽然比不上Java,但Objective-C能够和C++混合编译,C++开源库就能够和Java比了。不过考虑到跨语言开发仍是比单语言开发麻烦一些,Java胜。
以上几点权重不同的,例如移动开发时(1)最重要,因此我的认为Google选Java不是个好选择,C++好得多,可能他们考虑的是C++几乎是流行编程语言中最难学的。
若是Objective-C和C++比,我的认为Objective-C真是全方位都弱于C++。
linux

C :

【面向过程】;大部分都是硬件或者是系统组件,当项目臃肿到必定程度,人类就不可控了。android

C++:

【面向对象】;期初是C语言的改进与扩展,如今已经很是独立且强大。ios

结合了C语言的底层编程能力同时提供了丰富抽象能力,同时无可避免的增长了语言的复杂度。
换句话说,作事情的方法不止一种,而用C++就能够给你几乎全部的选择,因而C++能利用各类抽象作全部事情。
、、、、

JAVA:

【面向对象】;底层(运行时库)是用c语言开发,但并不依赖于c语言。

一个简化了的C++编程语言的子集,及一套庞大的平台无关的标准库。没法脱离运行时环境(JVM)而存在

C #

java的翻版;微软开发,但受限于应用平台。

Java填了Java的坑,而后又引入了很多新的设(da)计(keng),但C#只能用于微软的平台,因此成为了一个限制。

Andriod

android程序是Java编写的,但程序使用的android开发的API,就是andriod的库。
andriod就是提供了这个功能,它不须要让你知道java底层的编写,因位不少经常使用的库早就有人编写了,你的任务就是熟悉这写库,直接调用他们,这样就会大大的加快软件的开发效率

Objective-C

苹果手机APP开发语言,进行iOS开发的一门编程语言,也是官方推荐的iOS开发语言,objective-c只能用于开发苹果系统上的程序

Swift

苹果手机开发Objective-C没发展前途了,因而他换了汤药出现了,顺便把这些年比较潮的语言特性和实践整合了进去。

JavaScript

属于网络的脚本语言,经常使用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

Php

PHP(外文名:php: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸取了C语言、Java和Perl的特色,利于学习,使用普遍,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它能够比CGI或者Perl更快速地执行动态网页。用PHP作出的动态页面与其余的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比彻底生成HTML标记的CGI要高许多;PHP还能够执行编译后代码,编译能够达到加密和优化代码运行,使代码运行更快。

javascript就是浏览器执行的脚本语言,控制页面内容。

php就是服务器端执行的语言,读取数据库把内容显示到页面。

若是你想增长页面交互性,必须学javascript,不然能够不学。

[ PHP、JavaScript、HTML三者的比较] :http://blog.csdn.net/s___lei/article/details/51307616

Python

侧重于测试、运维方向,课程涵盖网络编程、数据库操做、网络爬虫、网络监控、 自动化测试、自动化运维等Python最主流的技术

就是一种结合语言,它有强大的类库,能把不少语言结合在一块儿使用,好比unix/linux shell、C,环境中很实用,执行的思想是与java、.NET差很少的。

对于图形、图像渲染能力比较出众;

完成同一个任务,C语言要写1000行代码,Java只须要写100行,而Python可能只要20行。

因此Python是一种至关高级的语言。

JAVA 要编译后才能运行,Python 直接解释运行。

JAVA 引入包后,调用包的方式比 Python 要简洁些,而 Python 直接 import
包则是显式的,不会出现同名模块/类冲突的问题,若是使用“from module import function”的话,在使用的时候也很简洁却要求必须有针对性地引用函数。

JAVA 里的块用大括号对包括,Python 以冒号 + 四个空格缩进表示。

JAVA 的类型要声明,Python 的类型不须要。

JAVA 基本上是类/结构操做,也就是面向对象处理,Python 能够以独立的函数模块来处理逻辑而不须要放到类中。
JAVA 每行语句以分号结束,Python 能够不写分号。

JAVA 中的字符串以双引号括起来,Python 中单引号或双引号均可以(与 JavaScript 同样)。

实现同一功能时,JAVA 要敲的键盘次数通常要比 Python 多。

系统编程:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是不少系统管理员理想的编程工具。

  图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

  数学处理:NumPy扩展提供大量与许多标准数学库的接口。

  文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。

  数据库编程:程序员可经过遵循Python

DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通讯。python自带有一个Gadfly模块,提供了一个完整的SQL环境。

  网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。不少大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在普遍地使用它。

  Web编程:应用的开发语言,支持最新的XML技术。

  多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

  pymo引擎:PYMO全称为python memories off,是一款运行于Symbian
S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,而且适用于建立秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。

  黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,可是缺乏成就感。将Python列为黑客应当学习的四种编程语言之一

Python到底能干什么?:http://www.cnblogs.com/cbryge/p/6189291.html

Node.js

Node.js是一个Javascript运行环境

.net

是微软的新一代技术平台,.NET是 Microsoft XML Web services 平台;
微软下一代的操做平台,它容许人们在其上构建各类应用方式,令人们尽量经过简单的方式,多样化地、最大限度地从网站获取信息,解决网站之间的协同工做,并打破目前计算机、设备、网站、各大机构和工业界间的障碍--即所谓的“数字孤岛”,从而实现因特网的所有潜能,搭建起第三代互联网平台。

 .net 是微软的一个操做平台,在这个平台上能够运行VS(visual studio)工具,这个工具支持不少种语言(好比C# ,F#), 通常编程就是用 “语言” 经过 “工具” 在平台上编程的。
举个例子:

.net=地皮,
地皮=》房子(.net=》vs)
人=》房子(c#=》vs)
咱们人使用建在地皮上的房子。
.net就是那个地皮了,最根基的东东。

html:超文本标记语言

css:层叠样式表

“语言标记语言,是一种将文本(Text)以及文本相关的其余信息结合起来,展示出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其余信息(包括例如文本的结构和表示信息等)与原来的文本结合在一块儿,可是使用标记(markup)进行标识。如:HTML、XML

脚本语言脚本语言是为了缩短传统的编写-编译-连接-运行(edit-compile-link-run)过程而建立的计算机编程语言。它的命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言常常被称为批量处理语言或工做控制语言。 一个脚本一般是解释运行而非编译。脚本语言一般都有简单、易学、易用的特性,目的就是但愿能让程序员快速完成程序的编写工做。如:JavaScript、VBScript、PHP

编译型语言编译型语言:程序在执行以前须要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不须要从新翻译,直接使用编译的结果就好了。程序执行效率高,依赖编译器,跨平台性差些如 C、C++

区别:
一、标记语言不用于向计算机发出指令,经常使用于格式化和连接。

二、脚本语言介于标记语言和编程语言之间,脚本语言脚本语言不须要编译,能够直接用,由解释器来负责解释。

三、编译型语言写的程序执行以前,须要一个专门的编译过程,把程序编译成为机器语言的文件,好比exe文件,之后要运行的话就不用从新翻译了,直接使用编译的结果就好了(exe文件),由于翻译只作了一次,运行时不须要翻译,因此编译型语言的程序执行效率高。

操做系统:

管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,

    任何其余软件都必须在操做系统的支持下才能运行。常见的操做系统Android, iOS, Linux, Windows;

[C++, Objective C, Java, C # 详细比较和区别1]: http://www.cnblogs.com/iiiDragon/archive/2013/08/16/3262657.html

[C++, Objective C, Java, C # 详细比较和区别2]:http://blog.csdn.net/educast/article/details/7220982

[六种流行的语言---C、C++、python、Java、php、C#比较[转]]:http://www.cnblogs.com/bluedy1229/p/3750168.html

[Java C# .net 和 C C++ 跨平台的区别]:http://blog.csdn.net/rosekisser/article/details/4075872

[PHP, Python, Node.js 哪一个比较适合写爬虫?]:https://www.zhihu.com/question/23643061

[ 浅谈PHP与Node.js的区别]:http://blog.csdn.net/jizhundaa/article/details/47722917

[Node.js 为何要用JavaScript 去实现?]:https://www.zhihu.com/question/20383725

Java、C++、Python、Ruby、PHP、C#和JavaScript的理解:http://blog.csdn.net/u010664947/article/details/50441429
[ 编译语言、解释语言与脚本语言之间的区别]:http://blog.csdn.net/wm_1991/article/details/51853900

[脚本语言和编程语言的区别]:http://blog.csdn.net/endeavour_zhao/article/details/50883779
[ .NET、C#和ASP.NET三才之间的区别]:http://blog.csdn.net/279503482/article/details/6007190
---

纯属我的观点,仅供参考!

相关文章
相关标签/搜索