几种常见的开发语言对比

编程语言 javascript,c#,python,Ruby,PHP,Java,swift,basic
前端框架 vue.js,angular 2,bootstrap,less/sass,ember.js
后端 node.js,PHP,Ruby,python,java
开发工具 VB(basic语言),VC(c++),VS(c,c++······)
 

1、万物之源C语言  

难度:★★★   人气:★★★★★   诞生于1972年

属性: C语言是一种通用型命令式计算机编程语言,其支持结构化编程、词汇变量范围与递归,同时亦是套能够预防各类未预期操作的静态类型系统。 其最初构建目标在于编写系统软件。

用途:软件开发  硬件  操作系统

优势:

1、可移植性 :无需或者很少改动就可以将开发出的软件在不同平台上运行  

2、C语言完全基于变量、宏、函数以及结构,因此可被嵌入至几乎一切现代处理器。从冰箱到闹钟即可作为其运行平台。

3、了解C语言,也就了解了关于编程语言的一切:几乎所有现代编程语言都脱胎于C.因此了解C语言能够帮助大家快速掌握其它各类编程语言。

劣势:

1、运行时:C语言不具备运行时检查机制。

2、  面向对象编程:C语言不支持面向对象编程,因此C++才会诞生以解决这一问题。

3、 复杂的学习曲线:并非最易或者最难于上手的编程语言,比较适合那些已经对其它编程语言有所了解的学习者。

冷知识:

1、C语言被用来构建AmazonKindle、Linux、OpenGL

2、C语言于1969年至1973年之间由AT&T公司旗下贝尔实验室创建完成,用于构建Unix操作系统。

3、大部分诞生的语言都直接或间接地借用了C语言的概念,其中包括 Linux C++.D. Go、Rust. Java. JavaS- JS cript. Limbo. LPC C#、Objec tive-C. Perl. PHP、Python

 

 

2、C#

难度:★★★   人气:★★★★   诞生于2000年

属性:这是 一款强大而灵活的编程语言。  与其他编程语言一样,它也可用于创建多种应用程序。事实上,C#的功能只受限于我们的想象力。该语言对开发者的操作内容完全不设任何限制,其可被用于交付动态网站、开发工具甚至是编译器等等。

用途:Windows应用  企业级业务应用  软件开发

优势:

1、Net库:  :全面集成Net库,提供出色的功能与支持库访问能力。

2、可转换性:其基于C语言,因此C#的结构可转移至Java、Objective-C、PHP以及C++等其它语言形式

3、需求旺盛::C#加Java为目前各企业需求最为旺盛的软件开发技能组合。

劣势:

1、C#并不是最适合新手们进行入门学习的编程语言,其学习曲线非常陡峭。

2、跨平台能力差:由于集成Net,因此不具备跨平台能力

冷知识:

1、C#用于构建Stack Overflow、EVERNOTE

2、C#的首席设计师兼首席设计架构师为微款公司的Anders Heisberg.。

3、C#原本曾被定名为Cool, 全称为"C-like Object OnientedL anguage"即类C 型面向对象编程语言,由于商标原因而更名为C# 。

 3、C++

 难度:★★★★   人气:★★★★   诞生于1983年

属性:C++是一款面向对象编程(简称OOP)语言,被广泛视为最出色的大规模应用构建语言。C++属于C语言的一个超集。

用途:软件开发 搜索引擎 操作系统 视频游戏

优势:

1、重要技能:掌握CC++能够帮助大家在众多开发人才当中脱颖而出,掌提了C/C++大家将能够深入了解Java或Python等编程语言中的内存管理机制,并了解如何回避各类常见的馅阱与难题。

1、灵活的调整空间:C++允许大家对自己的应用进行灵活调整井充分发挥计算机的全部性能。与Java/C++相比,编程过程并不友好,但我们却能够利用它实现一切操作。

 劣势:

1、艰难的学习曲线::C++非常难于学习,但在掌握之后大家将直接登上程序员金字塔的塔尖。

2、体系极为庞大::  C++规模可观且拥有大量极为复杂的功能交互方式,没有哪位开发者能够使用其提供的全部构建组件,但我们可以充分发挥自己的才智为理序选择正确的功能子集。

冷知识:

1、C++用来构建Google、Outlook

2、C++由Bjarne Stroustrup于1983年开发完成,并作为C语言的增强方案。

4、C++中有84个关键字

3、C++可实现跨越所有设备移植,如、安卓、苹果、windows Phone、黑莓等移动平台。

 4、Java

难度:★★★   人气:★★★★★    创建于1995年   

 属性:Java是一款编程语言,开发者可以利用其在计算机上创建应用程序。大家在下载某款需要Java运行时的程序时,可能已经在不知不觉中将其安装到了自己的系统当中。Java还提供Web插件,允许大家在浏览器中运行此类应用。

 用途:安卓、IOS开发   视频游戏开发  桌面GUI  软件开发

优势:

1、需求旺盛::Dice.com于2015年5月发布的报告指出,Java开发岗位为目前需求量最大的软件技能方向。

2、不断发展的语言::Java平台不断迎来新功能,包括llambda机制的引入。

3、Android应用开发的基石:谷歌公司的Androld移动平台是目前全球范围内人气最高的移动平台。开发者可以利用自己的Java技能力为Android系统开发应用。

劣势:

1、占用大量内存:Java使用的内存量高于C++.

2、学习曲线较长:并不属于最马于上手的语言,当然也不是最难学习的语言。

3、启动时间较长:利用Java语言开发Androld应用时,我们一定会对其模拟器代码在台式机上运行速度留下深刻印象。

冷知识:

1、Java最初命名为Oak,因为其缔造者的窗外有一棵巨大的橡树

2、Java是Android操作系统的基石

3、使用Java帮助我们在网络世界旅行

4、大部分网站允许我们将图片直接上传到由Java构建而成的平台。

5、使用Java插件即可实现交互式在线地图

6、利用Java实现在线游戏

5、JavaScript(JS)

难度: ★★     人气:★★★★    诞生时间1995年

属性:JavaScnpt是一款使用领率最高的客户端脚本语言,这意味这JavaSonpt代码写至HTML页面当中, 当用户通过内部 JavaScript请求至HTML页面时,该脚本会被发送至浏览器,并由浏览器决定下一步操作。

用途:网站前端  分析   功能控件  Web交互

优势:

1、速度:作为客户端脚本语言JavaSarpt中的任意代码函数却可立即运行而无需等待服务器连接及应答,因此其速度非常出色。

2、易学性:JavaSorpt相对易于学习及使用。

3、简单性:JavaScrpt能够与其它多种语言项利协作,并可用于多种不同应用程序与PHP或者SSI脚本不同,JavaSoript 可被插入任意网页当中,而无需考虑具体文件扩展名。

劣势:

1、安全性:由于代码在用户计算机上执行,因此其有时会被恶意活动所利用.正因为如此,部分用户会选择禁用JavaScript.

2、最终用户依赖性::JavaScnpt有时会在不同浏览器上以不同方式进行解释。相较于总能提供同样输出结果的服务器端脚本,JavaScript客户端脚本的可预测性相对较差。不过这一问题并不是非常严重,只要我们在全部主流测览器上对脚本进行充分测试即可。

冷知识:

1、JS被用来构建PayPal 、YouTube

2、JS于1995年由网景公司开发完成

3、jQuery为目前为网络上应用最为广泛JS库

4、JavaScrip可用于在客户端实现表单数据,从而节约服务器资源与时间

5、JS基于当前时间显示信息

 6、可以用来动态变更网页内容,无需借助于服务器程序

 7、为网站引入交互元素

6、PHP

难度: ★★      人气:★★★★     诞生时间1994

属性:PHP是一款服务器端脚本语言,主要面向Web开发但同时作为通用性编程语言

用途:WordPress插件   Web开发  创建包含数据库功能页面

优势:

1、易于上手且功能丰富:它是一款适合Web开发与通用用途,易于快速上手的服务器端脚本语言。

2、庞大的社区:换有庞大所活跃的社区。Web开友者面临的大部分难题拥有现成的制决方案。

3、数据库:可与各类数据库、文件系统及图片顺畅协作。

劣势:

1、学习门槛过低:由于学习门槛太低,项目中存在着大量经验不足的开发者,某些开源代码甚至已经存在十余年。

2、速度::PHP为解释型语言,其代码运行速度低于大部分编程语言党争对手。

3、错误处理机制: PHP的错误处理机制比较糟糕,特别是与其它编程语言相比较,这主要是因为PHP的开发历史过长且需要支持大量旧有功能。

冷知识:

1、PHP用于构建FaceBook、WordPress 

2、PHP最初表示个人主页(Personal Home Page),如今的含义是超文本预处理器

3、Rasmus Lerdort于1994年开发出PHP语言。他曾经开发出一系列网关接口脚本,并借此维护个人主页

4、PHP功能丰富并且支持 文本、HTML、CSS、JavaScript

5、PHP能用作收集表单数据、在服务器上对文件操作、生成动态页面内容、限定用户访问网站中的特定网页、添加 修改数据库中的数据、暑促HTML,图像,PDF,SWF文件、加密数据、发送接收cookie

7、Python

难度: ★     人气:★★★★★    诞生时间

属性:Python是一项服务器端解释型开源非编译脚本语言。可单独使用,也可作为django等框架的组成部分

用途:Web开发  视频游戏开发  桌面GUI 软件开发

优势:

1、易于学习:Python作为最照于掌握的编程语言而拥有极高人气。

2、库:广泛的工具及功能库能够帮助大家轻松完成构建工作。

3、物联网:Python特随着物联网技术的普及而进一步发展,目前Rasp-bery Pi等新型平台已经将其作为开发基础,

劣势:

1、速度:作为一种解释型语言,其速度往往往低于编译语言。

2、移动:Python在移动计算领域的表现  比较植过。  利用Python开发的 移动应用非常罕见。

3、设计:Python语言在设计上存在一些问题,其属于动态类语言,因此需要进行更多测试且带来某些只在特定运行时中出现的错误会。

冷知识:

 1、Python用来构建YouTube、Spotify

2、是Google的官方语言之一

3、由程序员Guido van Rossum创建而成

8、RUBY

难度: ★★    人气:★★★     诞生时间1995年

属性:Ruby是一款动态式、响应式、面向对象的通用型编程语言,同时也是适合新手入门的语言之一。

用途:桌面GUI   Web应用   Web开发

优势:

1、易于学习:与Python类似.Ruby同样属于最易于学习的编程语言之一。

2、广泛的工具及功能库使得利用Ruby构建应用安得非常轻松。详情参阅RubyGems.ong

3、庞大且不断发展的社区:世界范围内几乎每一座主要城市都会定明组织Ruby社区研讨活动,其同时也是社交编程站点GitHub上最具人气的语言。

劣势:

1、运行时速度:关于Ruby on Rals,人们最深的印象就是糟糕的速度表现。

2、说明文档::我们很难找到良好的 Pauby说明文档。特别是对人气较低的gems以及库而言。

3、性能表现:: RoR应用的运行速度无法与Java或者C语言编写的应用相媲美但必先强调,大部分Rubon Rals应用的运行速度已经能够让人们接受了

冷知识:

 1、用于构建hulu、GROUPON、airbnb

2、Ruby的定位是帮助世界上每一位程序员获得生产力,享受编程的快感

3、Ruby on Rails是一套由Ruby编写的基于MIT许可的Web应用框架。

总结

从上面的对比我们不难发现,每种程序语言都有其优势和劣势,那么我们应该怎么选择编程语言呢?下面主要介绍种要考虑的的要点。

1、构建编写网页   推荐:HTML、CSS、PHP

2、开发app    推荐:Java、C++

3、制作视频游戏    推荐:Python、Java

4、对数据进行管理    推荐:C#、PHP、Python

5、进行偏硬件的编程   推荐:C

6、进行科学计算     推荐:Python

当然,我们在实际开发的时候需要我们综合考虑产品需求,在程序运行速度指标、硬件要求、开发周期等方面进行权衡,最终确定编程所需语言。

 

 
posted @ 2019-04-30 11:19  夜雨潇湘子  阅读(13795)  评论(0编辑  收藏  举报