编程语言的选择

简介

当开始学习编程时,我们会遇到一个重大的问题:

选语言!!!

你也许会知道TIOBE编程语言排行榜(前十名):

注意:不能完全以排行榜顺序选择编程语言!!!要根据实际需求进行选择

下面有编程语言推荐

语言的特点与选择

笔者非常熟悉Python语言,不如就从Python讲起吧。

Python

历史

  • 1989年,荷兰程序员Guido van Rossum为了打发圣诞节,决定开发一门脚本语言——Python。
  • 1991年,诞生了Python的第一个CPython解释器,继承了ABC语言的一些语法。
  • 1994年,Python诞生了1.0版本。
  • 2000年,Python2.0诞生。
  • 2008年,Python3.0诞生,不对2.x语法进行支持,标志着新的时代的到来。

优点 

优点1:

Python最大的优点就是简单、易懂,适合初学者。  

 hello world比较:   

Python 

print('Hello World")

C++ 

#include<iostream>
using namespace std;
int main(){
    cout<<"Hello World"<<endl;
    return 0;
}

Java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World/n");
    }
}

通过不同语言的Hello World可知Python是非常简单的。

优点2: 

Python的扩展库是极为强大的,而且很多都是开源的,可用pip或conda安装。

常用的matplotlib、numpy、tensorflow和pytorch都是Python库。

Python的框架非常丰富。

缺点:

缺点1:

慢!

​​

由于Python只有官方解释器,所以没有编译语言(如C++)快。 

Python是一门动态类型语言(变量的类型可变),所以很难实现编译器。

variable = 1
int variable = 1;

如果是编程新手并对速度没有过多要求,就可以使用Python。

ps:如需加速可以使用Cython库。

Java

历史

  • 1991年,Sun公司James Gosling开始开发名为Oak的语言。
  • 1995年,Java(原名Oak)诞生。
  • 1996年,Java Development Kit(JDK)1.0诞生。
  • 1999年,Java分出了三个版本:JavaSE、JavaEE和JavaME
  • 2009年,Oracle(甲骨文公司)以74亿美元收购Sun,获取了Java等产品的所有权。

优点:

成熟!

得益于优秀的JVM,Java可以跨平台使用。

很多开发者都使用Java,如Android应用(亦可使用Java衍生语言Kotlin)、电子游戏、网站后端等领域都采用Java。

Java适合于企业级开发。

相对简单!

虽然对于Python而言Java的简单程度简直根本谈不上。

但是对于C来说,是非常的简单了,因为Java取消了指针等语法。

安全!

Java可以定制“沙盒”,来保证外部程序不会修改电脑关键部位文件。

缺点

速度相对较慢

Java是跨平台语言,由JVM解释执行,所以速度相对C++较慢。

对系统的不够接近

Java跨平台,需要JVM,不能使用x86汇编,所以不如C和系统接近。

对语法支持不如C

正因为Java语法简单,不支持C系列的一些语法,所以语法不够灵活。

C,C++, C#

历史

C的历史

  • 1972至1973年间,Dennis Ritchie在Ken Thompson研发的B语言(无数据类型)进行优化,出现了C语言。
  • 1973年,Dennis Ritchie和Ken Thompson将Unix操作系统使用C改写(由于B语言没有数据类型)。
  • 1978年,Brian Kernighian和Dennis Ritchie出版了《The C Programming Language》,此书制定了C语言的基本语法。

C++的历史

  • 比雅尼·斯特劳斯特鲁普(Stroustrup)工作起于1979年的C with Classes。这个构思起源于斯特劳斯特鲁普做博士论文时的一些程序撰写经验。
  • 1983年,C with Classes改命名为C++(++是C语言中的增值操作符)。
  • 1985年,发布第一版《C++程序设计语言》,提供一个重点的语言参考,至此还不是官方标准。
  • 1985年10月出现了第一个商业化发布。
  • 1989年,发布了Release 2.0。引入了多重继承、抽象类别、静态成员函数、常量成员函数,以及成员保护。1990年,出版了The Annotated C++ Reference Manual。这本书后来成为标准化的基础。稍后还引入了模板、异常处理、命名空间、新的强制类型转换,以及布尔类型。

随着C++语言的演变,也逐渐演化出相应的标准程序库。最先加进C++标准库的是流I/O程序库,其用以取代传统的C函数,如printf和scanf。(摘自维基百科)

C#的历史

  • 原Borland公司的首席研发设计师安德斯·海尔斯伯格(Anders Hejlsberg)在微软开发了 Visual J++1.0,很快的Visual J++由1.1版本升级到6.0版。
  • SUN公司认为Visual J++ 违反了Java开发平台的中立性,对微软提出了诉讼。
  • 2000年6月26日微软在奥兰多举行的“职业开发人员技术大会”(PDC 2000)上,发表新的语言C#。

C#语言取代了Visual J++,语言本身深受Visual Basic、Java、C和C++ 的影响。(摘自维基百科)

优缺点

C的优点

能在单片机上运行(体积小)

速度快

C的缺点

没有面向对象功能

安全性不高

没有Java中的gc(garbage collection)

C++的优点

面向对象

速度快

C++的缺点

和C一样学习有很大难度

C#优点

有很多为实际开发中添加的“语法糖”

C#缺点

必须有.NET平台

其他语言

在很多领域有很多新兴语言如go,rust,kotlin

对于这些语言,大家可以根据自己的实际需求选择

总结

如果想选择编程语言

发展领域首选语言
新手入门和编写小工具Python
混职场

Java

单片机

C

数据分析Python、R
人工智能Python
奥赛C++

Android

Java、Kotlin

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值