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

首先,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,上面有很多很好的讲解和例子,具体的问题都可以在上面查。学会使用搜索引擎和参考别人的代码、思路为自己服务本身也是一种很重要的技能。

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

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

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

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

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

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

  3. python里raise_python – “raise”和“raise e”之间的区别?

    在 python中,除了块之间的提升和提升之间有区别吗? dis显示我不同的结果,但我不知道这是什么意思. 两者的最终行为是什么? import dis def a(): try: raise Exc ...

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

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

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

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

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

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

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

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

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

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

  9. python和c 的区别-C++/C/JAVA/Python之间的区别?

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

最新文章

  1. python控制电机_树莓派Python控制步进电机
  2. Python 数据类型之字典
  3. WeChat报错navigateTo:fail can not navigateTo a tabbar page
  4. php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证及缺点
  5. python 3.8.0安卓_Python 3.8.0稳定版正式发布
  6. From 7.8 To 7.14
  7. 罗振宇2021跨年演讲2:除了规模中国还有什么优势?
  8. 【[Violet]樱花】
  9. 「代码随想录」本周学习小结!(动态规划系列四)
  10. 【软件工程】实验七:建立功能模型--自行车租赁管理系统
  11. python 论文降重_我用Python写了一个论文降重工具-Go语言中文社区
  12. java:中文汉语数字和阿拉伯数字互相转换,人民币大小写转换
  13. RFID电子耳标识别棒,牦牛身份识别管理专用设备
  14. 成功解决pdf文档加密后时间久了忘记密码—本文档有打开口令或修改口令—在线完美解决
  15. MyEclipse 优化
  16. EfficientPS网络
  17. 动态生成多条插入语句 存入文本文档中
  18. List的toArray方法强制转换
  19. php自定义微博尾巴,怎么自定义微博小尾巴 (无需工具)
  20. hadoop+zookeeper+Hbase+spark安装部署总结

热门文章

  1. 熬夜的朋友注意了﹕看看器官的工作時間
  2. (转)jQuery选择器总结
  3. [转载]TEQC命令集合
  4. linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
  5. 望岳物业APP开发过程
  6. python 基础——变量
  7. 2016.5.57—— Remove Duplicates from Sorted List
  8. C 线程池(不稳定的方案)
  9. MySQL 5.6.6 LABS 版本 下载 已经内含 Memcached
  10. ajax传html调用样式的问题