当开始学习编程时,我们会遇到一个重大的问题:
选语言!!!
你也许会知道TIOBE编程语言排行榜(前十名):
注意:不能完全以排行榜顺序选择编程语言!!!要根据实际需求进行选择
下面有编程语言推荐
语言的特点与选择笔者非常熟悉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++
#inclass="superseo">clude
using namespace std;
int main(){
cout<<"Hello World"<
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库。
- 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系列的一些语法,所以语法不够灵活。
- 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语言的基本语法。
- 比雅尼·斯特劳斯特鲁普(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 |
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)