请问这个算法是什么python是计算机语言吗来着(python、Java、c之类的)

C++、Java和Python都是面向对象的编程语言其中C++和Java都是强类型语言,而Python是一种弱类型语言

1)python: 快速开发应用程序 python比较容易学习,语法很简单融入了很多现代编程语言的特性。python的庫非常丰富可以迅速地开发程序,无论是网站还是小游戏都非常方便不过,python的脚本的运行效率较低不适合对运行效率要求较高的程序。


Python是一种脚本语言它更适合用来做算法。Python简单易学对于新手来讲是编程入门的好选择。Python其实也是基于C++创造的它们的区别主要体现茬,C++效率高编程难;Python效率低,编程简单比如同样的事情,Python程序员可以很快的写出代码但机器运行却可能需要成倍于C++的时间;反之,C++程序员编程实现的难度比较大但在机器上的运行效率很高。因此很多公司在核心的功能、需要大量运行的部分更倾向于选择C++,而在执荇次数不多但对写代码速度要求比较高的部分则更倾向于使用Python。
**(1)用途:**爬虫Web开发,视频游戏开发桌面GUIs(即图形用户页面),软件开发架构等。
**(2)优势:**拥有强大的开源类库开发效率高,作为Raspberry Pi等新型平台开发基础易上手
**(3)缺点:**运行速度低于编译型语言,在移动计算领域乏力

2)java: 健壮的大型软件 Java的语法比较规则采用严格的面向对象编程方法,同时有很多大型的开发框架比较适合企业級应用。Java的学习曲线较长不仅要学习语言相关的特性,还要面向对象的软件构造方法在此之后要学习一些框架的使用方法。

(1)用途:**Android & IOS 应用开发视频游戏开发,桌面GUIs(即图形用户页面)软件开发,架构等

(2)优势:**市场对J***A开发者需求旺盛,Android开发的基石java跨平台实現一处编译多处执行,拥有强大的类库Web开发(主流语言)。

**(3)缺点:**占用大量的内存启动时间较长,不直接支持硬件级别的处理

3)C++: 需求效率的软件
C++更接近于底层方便直接操作内存。C++不仅拥有计算机高效运行的实用性特征同时还致力于提高大规模程序的编程质量與程序设计语言的问题描述能力。
C++不仅是C和java特点的结合实际上C++是多范式编程语言。它不仅支持传统的面向过程编程也支持面向对象编程,最初C++发明的时候就叫做C with class (带类的C)随着时间推移,C++又接受了泛形编程的思想像STL库就是一个例子。C++的语法风格不一而同大部分人在写C++嘚时候还是当作带类的C来使用,其实C++可以写出像python一样现代的风格C++运行效率较高,同时能够比较容易地建立大型软件适合对效率要求高嘚软件,比如机器学习中的神经网络大型游戏编程等等。C++的内容非常复杂同时语言经过了几十年的演化,所以学习起来难度较大开發效率较低。

在C语言的基础上C++增加下面的内容: (1)类型检查更加严格


(2)增加了面向对象机制
(3)增加了泛型编程的机制
(4)增加了函数重载和运算符重载。
(6)标准模板库STL

(4)C++设计成无需复杂的程序设计环境
(5)运行效率高,高效安全
(6)语言简洁编写风格自由。
(7)提供了标准库stl

C++的缺点: (1)相对java来说没有垃圾回收机制,可能引起内存设漏;


(2)内容较多较难学起来相对困难;
**4)C: 操作系統及驱动
C是一种面向过程的语言。由于C++源于C它良好的兼容了C功能,完全支持C因此既可以面向对象、也可以面向过程。近几年又在此基礎上发展出C#C#使用起来更类似于Java。

(1)用途:操作系统软件开发,硬件等
**(2)优势:**可移植性强体型小巧,易镶入现代处理器了解叻C语言,相当于了解了编程语言的一切支持硬件级别的处理
**(3)缺点:**不具备运行时检查机制,不支持面向对象编程上手较难

C语言是媔向过程的语言,在这里用户创建过程或函数来执行他们的任务面向过程的语言是很容易学,因为它遵循的算法来执行你的语句要使鼡面向过程的语言开发程序,你需要画/编写算法然后开始转换成程序或功能。
C语言中提供了大量的函数其中包括系统生成的函数和用户萣义的函数 C编译器自带的头文件,其中包括可用于开发程序的许多基本功能列表同时,程序员还可以创建功能按他们的要求被称为鼡户生成/定义的函数。
C编译器产生的机器代码非常快相比其他语言的编译器 C编译器可以在两秒编译约1000行代码。 C编译器的另一个好处是咜还优化了代码更快的执行速度
4.易学(语法是接近英语)
C语言的语法是很容易理解的。它使用关键字就像if, else, goto, switch, goto, main等这类关键词,我们都在我们嘚日常生活使用的是传达意义或得到一些决定
C语言的设置是大约3-5 MB。所以你可以随身携带在你的软盘驱动器或随身碟这种语言。它非常噫于***和操作又其输出是可以在任何一台电脑,没有任何其他的框架/软件执行的exe文件
C是高度可移植的语言。这意味着对于一台计算机编写的C程序可以在另一台计算机上轻松地运行而没有任何变化或做一个小的变化。
6.C语言为许多其他目前已知的语言构建模块
C语言具囿各种各样的数据类型和强大的操作符。由于这个原因用C语言编写程序是高效,快速和易于理解
7.只有32 ANSI C关键字和它的长度依赖于它的的內置函数。
有几个标准的函数可用于开发程序
8.C的另一个重要优势是它能够扩展自己。
一个C程序基本上是那些由C库支持的功能集合这让峩们更容易对我们自己函数添加到C库中。
由于大量功能的可用性编程任务变得简单。
9.C语言是一种结构化程序设计语言
这使得用户能够想到一个问题中的功能模块或块的条款。这些模块的集合可以编写一个完整的程序这种模块化结构,使程序调试测试和维护变得更加嫆易。

1.面向对象编程功能(OOPs)
面向对象编程的特点是C语言缺少的你只能使用面向过程的语言来开发程序。C没有的OOPs概念这就是为什么C ++被開发。
2.运行时类型检查是不可用
在C语言没有规定运行时类型检查比如我传递浮点值,而接收参数为整数类型那么值将会被改变它不会給任何类型的错误信息。
C不提供的命名空间功能让你是不能够在一个范围内再次使用相同的变量名。如果命名空间功能可用的话那么伱可以能够重复使用相同的变量名。
4.构造函数和析构函数不可用:
C不提供面向对象的特性因此它不具有构造和析构功能。构造函数和析構函数用于构造对象和销毁对象因此,在C语言中你必须通过方法或者以其他方式来手动实现变量的析构和构造。

(1)指针:C++和C中都有指针的概念C++还可以使用智能指针,boost库指针可以理解为一个地址,可以由程序员使用指针直接拿到该地址的数据但是由于指针在使用嘚过程中,如果没有处理好容易出现空指针和野指针,带来一些麻烦因此Java去掉了指针的功能,规避了指针使用中可能存在的混***况
(2)封装:Java在C++的基础上又做了更高级的封装,具有良好的平台间的可移植性C++一次编写到处编译,而Java一次编译到处运行Java中的功能C++都能夠实现,只是相对来说在编程方面会比较复杂一些
(3)垃圾回收方面:C++需要程序员自己回收,对内存进行良好的管理而Java则不需要程序員自己完成这个工作,有自己的垃圾回收机制
(4)实现不同:比如C++把声明和实现分别放在头文件和源文件中,而Java则不使用头文件C++引用其他内容时需要include,而Java则用package和import

1 .C是一种面向过程的语言python和java面向對象

2 .C语言是编译语言,而Python和Java是解释型语言
编译语言在运行的时候通过预处理、编译器编译等转化成机器语言(一种低级语言),生成可執行文件运行的效率高,速度快;而解释型语言则是在程序每次运行的时候一句一句把程序运行所以效率相比较偏低运行慢。相比较洏言C语言更加适合去写追求运行效率的和底层运行有关的东西

4 .Java 编译成字节码(.java文件经过javac的处理编程.class文件,即编写成字节码形式再通过茬不同的平台上通过各自的解释器解释执行),需由Java虚拟机(JVM)读取运行 所以效率偏低,但是其可跨平台运行

5 .垃圾回收方面C需要程序員自己回收,对内存进行良好的管理而Java则不需要程序员自己完成这个工作,有自己的垃圾回收机制

.在书写风格方面,我觉得最优雅、隨意、简介的是Python它甚至不需要你去在每一行语句后面加上分号,作为动态语言Python非常的灵活,使用变量的时候不需要进行类型声明里媔的变量就像标签一样,想用在什么数据上“贴上去”就行了;C语言朴实严谨,需要非常强的逻辑思考能力作为现在广大高校计算机類专业的入门语言,非常适合学生对于编程思想和逻辑的锻炼而Java则是一个纯面向对象的语言,以类为程序的主体层次清晰,同时也是強类型语言(C语言和Python也是强类型语言)要求变量的使用要严格符合定义,所有变量都必须先定义后使用同时的话,它对于自身每种数據类型的定义也做到了非常严格比如:byte只能占用1字节的内存空间,short只能2字节int只能4字节,而不是像C语言那样每种数据类型占据多大的內存空间是看使用的编译器的,同时像Java的布尔型(boolean)也不能像C语言和Python那样,用数字0代表逻辑值“False”1代表“True”,同时像在C和C++中常见的指针类型在Java中为了避免空指针野指针等等产生混乱的情况是被取消了的,转而代之的是其独特的引用类型如数组、类(class)、接口(interface)。
#關于强类型语言:(图片来自百度百科)

7.再一个是Python的标准库和第三方库非常强大,并且也很有趣关键是下载也很方便(只要在命令行控制符中输入pip install (第三方库名)就行了),其中不乏一些强大的、现在被广泛使用的numpypandas,matplotlib等等这些用于数据分析作图的科学计算库、数据可視化模块也不乏一些比较容易上手和有趣的如pygame(用于制作Python小游戏),bs4库(用于网络爬虫的制作)turtle(标准库,海龟作图)easygui(简单人机茭互界面),pillow(用于图像处理)用于操作系统的os、sys、platform库等等。所以Python是易上手也很有趣同时,Java也有很多的强大的库和API如:HTML解析库、XML解析库、Http库、JSON解析库、序列化库、网络库、Excel读写库等等。

8 .说说它们的应用
C语言:C理论上说可以做任何开发, 只要有合适的硬件驱动和API,特点昰效率高基本上是编译语言里面效率最高的。目前而言, C语言主要用来开发底层模块(比如驱动,解码器,算法实现), 服务应用(比如web服务器)和嵌入式应用(比如微波炉里的程序)
Edition)、Java ME(Java 2 Platform Micro Edition).Java在手机领域也有一席之地, 在普遍智能化之前, 很多手机就是以支持java应用作为卖点的, 而智能手机爆发之后, Java手机主場变成了android, 作为安卓的标准编程语言而存在主要用途: 网页, 企业级开发, 普通应用软件、应用程序, 游戏后台、服务器开发、Web开发和安卓开发等。

(1)、python虚拟机没有java强java虚拟机是java的核惢,python的核心是可以很方便地使用c语言函数或c++库
(2)、python是全动态性的,可以在运行时自己修改自己的代码java只能通过变通方法实现。python的变量是動态的而java的变量是静态的,需要事先声明所以java ide的代码提示功能优于python ide。
(3)python的产生几十年了,几十年前面向过程是主流所以用python有好多程序用的是面向过程设计方法,很多概念从c语言过来的class在python中是后加入的,而java是为了实现没有指针的c++(当年com组件用的引用记数java用的虚拟机),主要采用面向对象的设计方法很多概念是oop的概念。面向过程相对简洁直观,但容易设计出面条程序面向对象,相对抽象优雅泹容易过度抽象。
(4)在实际使用的python入门简单,但要学会用python干活需要再学习python各种库,pyhton的强大在于库为什么python的库强大,原因是python的库可以用pythonc语言,c++等设计,再提供给python使用所以无论gpu运行,神经网络智能算法,数据分析图像处理,科学计算各式各样的库在等着你用。而java没囿python那么多的开源库很多库是商业公司内部使用,或发布出来只是一个jar包看不到原始代码。python虚拟机因为编译性没有java的支持的好(或者说故意这么设计的)一般直接使用源码(linux),或源码简单打个包(如pyexe)
(5)、python有很多虚拟机实现,如cython,Pyston,pypy,jython, IronPython等等适合用于业务语言,或插件语言或面向领域语言,而java因为虚拟机巨大很少用于插件语言,发布也不方便
(6)、java主要用于商业逻辑强的领域,如商城系统erp,oa,金融保险等传统数据库事务领域,通过类似ssh框架事务代码对商业数据库,如oralce,db2,sql server等支持较好软件工程理念较强,适合软件工程式的多人开发模式python主要用于web数据分析,科学计算金融分析,信号分析图像算法,数学计算统计分析,算法建模服务器运维,自动化操作快速开发悝念强,适合快速开发团队或个人敏捷模式
(8)、python用途最多的是脚本,java用途最多的是webpyhotn是胶水,可以把各类不相关的东西粘在一起用java是基佬,可以通过软件工程组成几百个人的团队和你pk商业化气息重。不过我认为还是python强大因为可以方便调用c或c++的库,但软件工程和商业化運作没有java好适合快捷开发。
(9)、关于钱如果你想写程序卖软件用java,可用上ibm服务器上oracle数据库,上EMC存储,价格高商业采购公司喜欢这种高夶上。如果你要直接用程序生成金钱用pythonpython可以实现宽客金融,数据回测炒股,炒期权炒黄金,炒比特币对冲套利,统计套利有很哆开源库,数据分析库机器学习库可以参考。
(11)、对于移动互联网python只能通过运行库运行于安卓或ios,java原生支持安卓开发但不能用ios中。

参考资料

 

随机推荐