对c++ Java go python js 的一些总结
文章目录
- 编译执行和解释执行
- 面向过程和面向对象
- 动静态和强弱类型
- 静态语言和动态语言
- 强类型和弱类型
- 对c++ Java go python js 的一些总结
编译执行和解释执行
1.编译执行:将源代码一次性转换为机器码文件,然后直接运行机器码文件。
2.解释执行:将源代码一行一行的解释执行。
根本区别是运行时:
解释型需要一边解释,一边运行。
而编译型在运行之前就已经将程序编译成机器码了。所以编译运行比解释运行快
面向过程和面向对象
1、面向过程是一种以过程为中心的编程思想,它首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,在使用时依次调用即可。常见的面向过程的编程语言有 C语言
2、面向对象是以对象为中心的编程思想,按人们认识客观世界的思维方式,采用基于对象的概念建立模型,以此模拟客观世界分析、设计、实现软件的一种编程思想,常见的面向对象的编程语言有 java,c++语言。
各自特点:
面向过程:
面向过程性能比面向对象高。 因为类和对象的创建、调用、销毁都需要性能开销。面向对象:
面向对象易维护、易复用、易扩展
。 因为面向对象有封装、继承、多态
等特点,所以可以设计出低耦合的系统,使系统更加灵活易于维护。
函数式编程与命令式编程(面向对象和面向过程)最大的不同其实在于:
函数式编程关心数据的映射,命令式编程关心解决问题的步骤
动静态和强弱类型
静态类型和动态类型说的是在编译期还是运行期去检查变量类型的问题
强类型和弱类型说的是变量类型是否固定,是否能改变的问题
静态语言和动态语言
定义
静态语言:在编译期间
就确定了变量的类型,C/C++,C#、JAVA
动态语言:在运行期间
才确定变量的类型。Python、JavaScript
对比
静态语言的优势:
1、编译时检查出错误的类型匹配,以提高程序的安全性;
2、可以根据对象类型优化相应运算,以提高目标代码的质量;
3、减少运行时刻的开销。
所以适合实现复杂的业务逻辑、开发大型商业系统
动态语言的优势:
更加的灵活
强类型和弱类型
强类型是指变量类型一旦定义就不能再改变(当然可以做强制类型转换,但此时转换的是字面值,不是变量的类型)
弱类型则允许改变变量类型
强类型的速度可能略逊于弱类型语言,但是强类型定义语带来的严谨性又避免了不必要的错误。
举例:
java和c++都是强类型:
js是弱类型:
var A=5;
A="dsfsv"//可以的
var B=true
A=B //可以的
对c++ Java go python js 的一些总结
C++:
静态强类型语言,编译执行,速度很快。兼容c语言,所以支持面向对象和面向过程。
允许程序员手动垃圾回收
java:
静态强类型语言
面向对象
先由java编译器将源程序编译成机器无关的字节码文件,所以可以一次编译,到处运行,与os无关
然后由jvm通过解释+编译的方式将字节码文件编译成机器码
自动垃圾回收
Go:
天然支持高并发,是go语言最大的亮点
支持goroutine协程,可实现大并发处理,高效利用多核。
利用管道通信机制,形成 Go 语言特有的管道 channel 通过管道 channel , 可以实现不同的 goroute 之间的相互通信。
和c++一样编译执行,编译速度很快,内存开销小。
自动垃圾回收,采用标记-清除算法
没有像java那样使用虚拟机,编译器在编译代码的时候会插入相关的代码进源程序,去实现什么时候需要暂停,什么时候启动回收。
没有类和继承的概念,所以严格来说不是面向对象的语言
但是它又通过接口(interface)来实现多态性。支持面向对象的编程风格。
因此可以说go是混合型的语言。
静态强类型,但是Go 语言其实也有一些动态语言的特性(通过关键字 var)
python:
python是动态弱类型、面向对象的,解释执行(所以运行速度慢)、自动垃圾回收的脚本语言
解释+编译:
Python解释器由编译器和虚拟机构成,编译器将源代码编译成字节码,然后再通过Python虚拟机来逐行解释
执行这些字节码。
python解释器有很多种:
CPython:C语言开发,相较JVM没有JIT及时编译,使用最广,官方解释器
IPython:基于CPython之上的交互式解释器
PyPy:采用JIT及时编译技术,对python代码进行动态编译,追求执行速度
Jython:运行在Java平台上的解释器,可以直接编译成Java字节码由JVM运行。
JavaScript
解释执行的脚本语言,动态的弱类型语言。
跨平台性脚本语言。
JavaScript依赖于浏览器本身,与操作环境无关,只要有支持JavaScript的浏览器,就可正确执行
对c++ Java go python js 的一些总结相关推荐
- 【华为OD机试真题】1023 - 按身高和体重排队(JAVA C++ Python JS) | 机试题+算法思路+考点+代码解析
文章目录 一.题目
- 【人工智能 Open AI 】我们程序员真的要下岗了- 全能写Go / C / Java / C++ / Python / JS 人工智能机器人
文章目录 @[toc] 人工智能 AI Code 写代码测试 用golang实现冒泡排序 用golang实现计算环比函数 goroutine and channel 用golang实现二叉树遍历代码 ...
- Atitit.异步编程 java .net php python js 对照
Atitit.异步编程 java .net php python js 的比較 1. 1.异步任务,异步模式, APM模式,, EAP模式, TAP 1 1.1. APM模式: Beg ...
- java执行python路径_java调用其它语言脚本(python、js)
1.背景 之前用开发过程一些功能如图像处理.相似度计算.水印等需要调用算法写的方法,但是算法一般都是用python语言进行开发.所以经常直接用java调用python脚本文件.在网上搜了很多方法也排了 ...
- pythondevp2p_以太坊GO、JAVA、PYTHON、RUBY、JS客户端介绍
原标题:以太坊GO.JAVA.PYTHON.RUBY.JS客户端介绍 区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地 作者:佚名 来源:CSDN 原文链接:http://blog ...
- 500+门java,python,js等常用语言入门,学习,实战,项目资料领取
500+门java,python,js等常用语言入门,学习,实战,项目资料,提升自己
- 学习 正则表达式 js java c# python 通用
正则表达式 js java c# python 学习网站 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Globa ...
- go java nodejs 速度对比_除了node.js,Java、Python、Go 哪个适合web前端工程师
不知道作为web前端工程师的大家有没有相似的经历:很多时候我们想深入学习node,立志向web全栈方向发展,但是却十分遗憾的发现很多node教程基本都是helloworld级别的.如果真想搞后端开发, ...
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...
最新文章
- 2022-2028年中国清水混凝土行业供需策略分析及市场供需预测报告
- 藤本植物和攀爬植物模型包 Globe Plants – Bundle 23 – Vines and Creepers 03 (3D Models)
- Android 生成keystore和ecplise 发布release apk
- 小学生学python-小学生都学Python了,你还不知道如何开始
- python卷积神经网络回归预测_回归[keras]的一维卷积神经网络,做
- Flutter Web:Shadow Root问题
- mysql默认安装目录说明
- 力扣78. 子集(JavaScript)
- 读《向外行一样思考、像专家一样实践》之 简单、省略、抽象化、例子分析
- C# 5.0 Async函数的提示和技巧
- 《计算机网络自顶向下方法第7版》第二章习题解答
- 《搭建你的数字积木 数字电路与逻辑设计》(1)
- 屏幕画图工具Pointofix
- solidworks工程图剖视图没有从默认的A开始解决办法
- spring手动控制事务开启_手动控制spring事务
- python opencv 修改局部区域像素值
- python制作雕刻软件_Mac动画制作软件——blender for Mac
- 怎么将文字转换图片?三个小技巧分享给大家
- css悬停动画,CSS卡片悬停动画效果实现
- Spring-retry重试组件
热门文章
- 说话人验证论文翻译:Generalized end-to-end loss for speaker verification
- DDR4 电气规格参数
- 无法退出Fastboot模式
- ProjectDay07
- 十面阿里 屌丝程序员的逆袭之路(文末献礼)
- win2003系统服务优化
- 反序列化时,java类需要无参构造函数
- 【无标题】UE 鼠标中键控制屏幕移动(记录一下)
- chrome游戏:“钉子户大战拆迁队(Guard NailHoushold)”和“The Fancynbs
- 蓝桥杯 ADV-327	VIP试题 研究兔子的土豪(试题解析)