如果你是一位计算机方面零基础的小白,在日常工作和生活中,希望能够自己编写程序来完成一些事情。那么,比较各种语言之间的异同,实际上是为了选择适合自己的学习和使用的。下面就为大家分别介绍一下目前比较主流的编程语言之间的异同点。

首先,C++、Java和Python都是面向对象的编程语言,也都是强类型语言。

C++更接近于底层,方便直接操作内存。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

来源于C,C是一种面向过程的语言。由于C++源于C,它良好的兼容了C功能,完全支持C,因此既可以面向对象、也可以面向过程。近几年又在此基础上发展出C#,C#使用起来更类似于Java。

C++和C中都有指针的概念,C++还可以使用智能指针,boost库。指针可以理解为一个地址,可以由程序员使用指针直接拿到该地址的数据,但是由于指针在使用的过程中,如果没有处理好,容易出现空指针和野指针,带来一些麻烦,因此Java去掉了指针的功能,规避了指针使用中可能存在的混乱情况。Java在C++的基础上又做了更高级的封装,具有良好的平台间的可移植性。C++一次编写到处编译,而Java一次编译到处运行。Java中的功能C++都能够实现,只是相对来说在编程方面会比较复杂一些。

C++ 编译成本地机器码, 可以由操作系统直接运行,运行效率较高。

Java 编译成字节码,需由Java虚拟机读取运行, 所以效率偏低,但可通过JIT提高运行效率。

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

各种语言的基本语法都是相似的,比如int、float、double、bool等基本数据类型。

但是实现起来肯定是不同,比如C++把声明和实现分别放在头文件和源文件中,而Java则不使用头文件。C++引用其他内容时需要include,而Java则用package和import。这些都是细节的差别,但都是最基础的内容。

Java还可以应用到Android开发和JSP开发中。Java可以用来编写Android的应用程序,C#也可以。JSP则是用Java来做网站的。

Python是一种脚本语言,面向对象的思想个人认为体现的不是很明显。它更适合用来做算法。Python简单易学,对于新手来讲是编程入门的好选择。Python其实也是基于C++创造的,它们的区别主要体现在,C++效率高,编程难;Python效率低,编程简单。比如同样的事情,Python程序员可以很快的写出代码,但机器运行却可能需要成倍于C++的时间;反之,C++程序员编程实现的难度比较大,但在机器上的运行效率很高。因此,很多公司在核心的功能、需要大量运行的部分更倾向于选择C++,而在执行次数不多,但对写代码速度要求比较高的部分则更倾向于使用Python。

常用的IDE,C++常用VS,Java常用MyEclipse,Python则是PyCharm。

如果你想了解编程并快速做出点可用的东西学Python,想转行从事编程工作学Java,想了解计算机底层的执行过程与运行原理就来学C++吧。

当然,如果想做出自己的东西,不仅需要了解编程语言,基本的数据结构、数据库、操作系统方面的知识都要懂一些。更深一点的还包括计算机网络、计算机组成原理等基础内容。

最后可能是对大家最实用的部分:

*做信息系统的请用Java和关系型数据库(可以是MySQL,SQL Server等)

*做网站请用JSP(基于Java的)或者PHP(当然JSP和PHP都是用来实现后台功能的,前台界面请学习HTML5和CSS标准);

*做算法请用Python;

*做要求高效率的运算请用C++;

*做界面Java和C++都可以,C++请学习Qt(风格类似于Windows操作系统),Java请下载和导入Swing包(轻量级组件)或Awt包(重量级组件,现在已经用的比较少)学习。

温馨小Tips:

以上都是我学习本专业几年以及工作一年来自己学习和领悟到的内容,并不全面,因为我的水平也有限,但把我知道的相关内容基本都写了,其他的过于专业的东西不适合在这里做更多介绍。

如果大家想了解更多的内容,可以在知乎、百度上搜索,应有尽有。互联网行业有一个好处就是资源开放透明,如果真的想学,网上的资料非常多。

推荐一个学习论坛,csdn,上面有很多很好的讲解和例子,具体的问题都可以在上面查。学会使用搜索引擎和参考别人的代码、思路为自己服务本身也是一种很重要的技能。

此外,做一名合格的程序员,首先要搞清楚的其实是需求,就是你要完成什么事情,才能根据需求编码,否则最后极有可能白忙一场或出现很多问题。

python和c 的区别-C++/C/JAVA/Python之间的区别?相关推荐

  1. c与python的区别-C++/C/JAVA/Python之间的区别?

    如果你是一位计算机方面零基础的小白,在日常工作和生活中,希望能够自己编写程序来完成一些事情.那么,比较各种语言之间的异同,实际上是为了选择适合自己的学习和使用的.下面就为大家分别介绍一下目前比较主流的 ...

  2. java 对象和实例有什么区别_对象和实例之间的区别

    " 类别"一词来自" 分类"(将类别放入其中的" 类别"),现在我们都听说" 类别"就像一个蓝图,但这到底是什么意思?这 ...

  3. java null empty_null和empty(“”)Java String之间的区别

    23 个答案: 答案 0 :(得分:201) ""是一个实际的字符串,虽然是空字符串. 但是, null表示String变量指向任何内容. a==b返回false,因为" ...

  4. go与python的区别_python和GO语言之间的区别!

    python和GO语言是当下非常受欢迎的两大编程语言,通过它们可以完成很多的事情,那么python和GO语言之间有什么区别呢?下面本篇文章带大家了解一下. Python和Go之间的区别是什么? 1.范 ...

  5. python观察日志(part20)--列表中加号,extend,append之间的区别

    学习笔记,仅供参考,有错必纠 列表中"+"加号,extend,append之间的区别 extend extend函数用于在列表末尾一次性追加另一个序列中的多个值. append a ...

  6. java和vb共性特征_VB编程与Java编程之间的区别

    匿名用户 1级 2013-06-24 回答 vb特点: vb是以控件为主的语言,包含大量的实用性控件,其语法要求不是很严格,属于[半弱类型]语言. JAVA特点: 1.平台无关性 平台无关性是指Jav ...

  7. StringBuffer类,StringBuffer类和String的区别、String,StringBuffer,StringBuilder之间的区别

    1.概述 StringBuffer是一个线程安全的可变序列. 2.StringBuffer与String区别 (1)StringBuffer的长度和内容都可以发生改变,String却不行 (2)Str ...

  8. 验证和确认的区别_验证与确认之间的区别

    验证和确认的区别 Today we are going to cover the topic difference between Verification and Validation. 今天,我们 ...

  9. linux sudo和su区别,了解sudo和su之间的区别

    在我们之前的一篇文章中 ,我们详细讨论了"sudo"命令. 在该教程的末尾,在一个小笔记中提到另一个类似的命令"su". 那么在这篇文章中,我们将详细讨论'su ...

最新文章

  1. 计算机二级c语言复习计划,全国计算机等级考试二级C语言考试复习资料与复习计划以与考试要点.doc...
  2. Go 语言配置 TensorFlow
  3. STM32(六)- 系统定时器
  4. UA MATH564 概率分布总结
  5. MATLAB粒子模拟代码注释
  6. boost::mp11::mp_none_of_q相关用法的测试程序
  7. 在springboot中使用springsecurity实现安全控制
  8. Error running tomcat8 Address localhost:1099 is already in use 错误解决
  9. Java 文件路劲获取(流的方式),适用与jar包或war包运行方式
  10. 多面集的表示定理的必要性的证明
  11. C# BackgroundWorker的用法
  12. Unity3D 从 ipa 中提取游戏资源
  13. pcan的dbc和project等的配置
  14. 2021软件测试技能大赛,2021软件测试国赛获奖感言
  15. 计算机经常显示的英语单词,计算机专业英语单词大全
  16. 小白学习爬虫的第三天之数据解析bs4与pyQuery的使用
  17. office2007无法使用宏的解决方法
  18. 国标28181:什么是SIP协议
  19. 量化投资学习——股指期货研究(六)
  20. LabVIEW基础-图形和图表

热门文章

  1. ALM TFS/VSTS工具 的Java集成
  2. SQL Server 中的 JSON 数据
  3. java基础英语---第二十四天
  4. 任务之间的依赖(NSOperation)
  5. 遇到不可重现问题怎么办
  6. 如何在ViewModel中正确地使用Timer(定时器)
  7. Windows mobile 下读取手机SIM卡信息
  8. HDU1214 圆桌会议【数学】
  9. Bailian2760 数字三角形【DP】
  10. HDU2201 熊猫阿波的故事【概率】