转载:python和java,php,c,c#,c++的对比 - 阿飞3678 - 博客园

1.C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言。C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
      C语言的优点:简洁紧凑、灵活方便;运算符丰富;数据类型丰富;表达方式灵活实用;允许直接访问物理地址,对硬件进行操作;生成目标代码质量高,程序执行效率高;可移植性好;表达力强;
      C语言的缺点:C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。 C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。

2.C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。

第一步是对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码(也称为目标码);如果这个步骤成功,下一步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。C++库包含了执行某些常见任务的函数(“函数”是子程序的另一种称呼)。例如,一个C++库中包含标准的平方根函数sqrt,所以不必亲自计算平方根。C++库中还包含一些子程序,它们把数据发送到显示器,并知道如何读写硬盘上的数据文件。

3. C#语言,C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。首先,C# 和JAVA一样,简直就是照搬了C++的部分语法,因此,对于数量众多的C++程序员学习起来很容易上手,另外,对于新手来说,比C++要简单一些。其次,Windows是占垄断地位的平台,而开发Windows应用,当然微软的声音是不能忽略的。最重要的是,相对于C++,用C# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。

4. Java语言,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Java的优势,与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

5.php语言,PHP(PHP: Hypertext Preprocessor的缩写,中文名:“PHP:超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。
     特性:PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法;PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多,PHP具有非常强大的功能,所有的CGI的功能PHP都能实现; PHP支持几乎所有流行的数据库以及操作系统;最重要的是PHP可以用C、C++进行程序的扩展。

6.python语言,是一种面向对象、直译式计算机程序设计语言,Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。

除了python其他用的很少,咋能知道他们到底有啥区别啊,先记下来,以后用到再细品品

最主要的感觉就是,python完全面向对象,也可以面向过程来编写代码,面向对象时有非常多的库可以直接使用,好像C,C++这种有一些操作还得自己写,注重程序设计,但是运行的非常快,这是python的短板吧。用在其他方面的话,我也不知道

1. 到底什么是 Python?你可以在回答中与其他技术进行对比
下面是一些关键点:
 Python 是一种解释型语言。这就是说,与 C 语言和 C 的衍生语言不同,Python 代码在
运行之前不需要编译。其他解释型语言还包括 PHP 和 Ruby。
 Python 是动态类型语言,指的是你在声明变量时,不需要说明变量的类型。你可以直
接编写类似 x=111 和 x="I'm a string"这样的代码,程序不会报错。
 Python 非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继
承(inheritance)的方式定义类(class)。
Python 中没有访问说明符(access specifier,类似 C++中的 public 和 private),
这么设计的依据是“大家都是成年人了”。
 在 Python 语言中,函数是第一类对象(first-class objects)。这指的是它们可以被指定
给变量,函数既能返回函数类型,也可以接受函数作为输入。类(class)也是第一类对
象。
 Python 代码编写快,但是运行速度比编译语言通常要慢。好在 Python 允许加入基于 C
语言编写的扩展,因此我们能够优化代码,消除瓶颈,这点通常是可以实现的。
numpy 就是一个很好地例子,它的运行速度真的非常快,因为很多算术运算其实并不是
通过 Python 实现的。
 Python 用途非常广泛——网络应用,自动化,科学建模,大数据应用,等等。它也常
被用作“胶水语言”,帮助其他语言和组件改善运行状况。
 Python 让困难的事情变得容易,因此程序员可以专注于算法和数据结构的设计,而不
用处理底层的细节。
为什么提这个问题:如果你应聘的是一个 Python 开发岗位,你就应该知道这是门什
么样的语言,以及它为什么这么酷。以及它哪里不好。

1. Python和Java、PHP、C、C#、C++等其他语言的对比?相关推荐

  1. LaTeX 插入高亮代码(LaTex、Python、Java、C、C++等主流语言都支持)

    相信刚入门LaTeX的盆友会感觉到LaTeX的强大之处,如果你了解markdown,那么使用LaTeX之后,你会感觉markdown除了便捷之外也就没有其它的优点了,因为LaTeX太强大了,也由于La ...

  2. Python、Java、TypeScript 和 Perl 作者谈语言设计

    Python 作者 Guido van Rossum.Java 作者 James Gosling.Turbo Pascal 和 TypeScript 作者 Anders Hejlsberg,以及 Pe ...

  3. 执行效率做比较,Go、python、java、c#、delphi、易语言等

    比较环境,在win7   64位,比较各种语言的整数型运算,下面的比较只作为单项比较. 具体方式,40000*40000遍历相加.为了防止编译器优化,生成一个随机数. 1:c#,在NET2.0框架下作 ...

  4. python跟java 效率_Python和Java该如何选择?老男孩Python人工智能

    编程是很多人都想要掌握的技术,但是在行业之中编程语言有很多种,每个人的爱好,想要从事领域不同,自然选择也是不同,比较常见的编程语言就是Python和Java,那么对于这两种语言选择哪个好? 老男孩教育 ...

  5. python和java的区别-Python和Java的区别有哪些?如何选择?

    原标题:Python和Java的区别有哪些?如何选择? 随着人工智能AI的发展越来越快速,很多人对于Python开发技术也是越来越重视,也正因如此,不少人拿着Java和Python进行比较,认为Pyt ...

  6. python和java都是用c文件吗_python是用C实现的,Java是用C++实现的,那为什么不直接用C或C++呢?...

    系统学习计算机体系结构.汇编语言程序设计和编译原理,真正建立对计算机系统的理解,而不是臆测.推荐书<深入理解计算机系统>(如何读本书)或南京大学的 MOOC<计算机系统基础 (一): ...

  7. Github上Python超越Java,人工智能程序员大热

    前言 GitHub 2017年年度报告发布:有70万来自中国的新用户加入,占据Github新人总数70%.Python超越Java成为第二最受欢迎的语言,TensorFlow依然是最受欢迎的深度学习库 ...

  8. python跟java 效率_对比平台--Java与Python之间的性能差异

    ava Performance和Python之间的主要区别 以下是描述Java Performance和Python之间的区别的要点列表: 以下是Java性能与Python之间的主要区别,我们在决定应 ...

  9. TIOBE 新榜单:Python 超越 Java 重回第二,Rust 崛起

    作者 | 苏宓 出品 | CSDN(ID:CSDNnews) TIOBE 官方最新发布了 5 月的编程语言榜单,不妨一起来看一下本月榜单中又有哪些最新的变化呢? Python 重回第二 和 4 月相比 ...

  10. 项目开发神器VsCode配置指南!(含C++、Python、Java环境配置)

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴忠强,东北大学,Datawhale成员 本篇文章虽然是VsCod ...

最新文章

  1. go语言基础到提高(1)-hello,world
  2. oracle能否生成mdb,oracle怎么导入.mdb文件
  3. 快速了解一门技术的基本步骤
  4. [js] 写一个方法遍历指定对象的所有属性
  5. 如何实现轮播图的内容的多少随div的大小动态变化_小程序学习日志8:swiper滑动轮播组件(轮播图)(上)...
  6. mysql cluster 用户_mysql cluster统一用户权限
  7. Docker-服务安装
  8. Java之品优购部署_day01(10)
  9. LDA主题模型简介及Python实现
  10. linux MySQL5.7 rpm安装
  11. TM7705、TM7707使用
  12. 微信公众号怎么发送模板消息 微信公众平台模板消息免费发送的技巧
  13. 我给浏览器加了个语音搜索功能
  14. 驾考网上理论刷学时防每20分钟弹框
  15. linux 查看u盘痕迹记录,Linux使用记录
  16. 读《春秋》有感之十九:晋之霸业衰落
  17. 地图开发实战案例:高德地图弧线连接线标注
  18. 测开 - 自动化测试selenium(WebDriver API) - 细节狂魔
  19. 分布式秒杀电商-微服务架构图 上帝视角分析
  20. CentOS中安装lsb_release及使用

热门文章

  1. Ubuntu切换中文语言
  2. 在Linux中运行Android软件
  3. Android 软件平台架构设计
  4. 塞雷三分钟漫画中国史2
  5. SQL Compliance Manager Crack
  6. 温度传感器Pt100 热电阻的原理
  7. Shell脚本命令(长期更新)
  8. 小程序/app 商城 源码 发布(包括后台)
  9. HashMap是线程安全的吗?有什么线程安全的方法
  10. java中的三种IO(BIO、NIO、AIO)