计算机语言 - - Day01 计算机语言基础

一. 计算机语言的集中分类

1. 低级语言和高级语言

  1.1 低级语言: 机器码, 汇编语言

  - - 机器码: 计算机能够直接识别的二进制编码, 无论语言多高级都要转成二进制文件来让计算机识别运行.

  - - 汇编语言: 用助记符代替机器指令的操作码, 用地址符号或标号代替指令或操作数的地址, 在不同的设备中有着不同的指令集.

  1.2 高级语言: C, C++, Java, Python, PHP, go...

  - - 高级语言与低级语言的区别: 高级语言大部分不能直接跟硬件打交道, 这使得程序运行速度降低, 但是高级语言更接近人性化, 可读性强.

2. 动态类型和静态类型

  - - 动态类型语言是指在程序运行期间才给变量指定数据类型, 如: Python

  - - 静态类型语言是指在写程序代码的时候就要指定变量的类型, 如: Java, C, C++

3. 强制类型与弱类型

  - - 强制类型: 如果一个变量只能定义为一种类型, 如float类型, 那么它就只能是float类型而不能再不发生转化的情况下赋予int类型, 这就是强制类型的具体体现. 如: C

  - - 弱类型: 变量没有类型的界限, 可以任意的复制. 如: Python

4. 编译型, 解释性, 半编译半解释

  对于源程序, 编译型语言在执行程序时会将源文件一次性转换为机器码, 而解释型语言是边编译边解释

  解释型语言是离不开解释器的, 这也导致了解释型语言运行速度比较慢. 但是因为解释器的存在, 所以解释型语言移植起来方便.

  - - 编译型语言可见于C, C++

  - - 解释型语言可见于Python

  - - 既编译又解释: Java. Java程序代码经过编译后转换为移植称为Java字节码的中间语言(.class), Java虚拟机(JVM)将对字节码进行解释和运行. 编译只进行一次, 而解释在每次运行程序时都会运行. 编译后的字节码采用一种针对JVM优化过的机器码形式保存, 虚拟机将字节码解释为机器码, 然后在计算机上运行.

  Java语言程序代码的编译和运行过程: 程序源代码 - - > 编译器 - - > 字节码 - - > JVM(Java虚拟机) - - > 机器码(01010...) - - > 计算机

二. Python语言和Java语言

1. 什么是Python语言

  - - Python是一种解释型, 面向对象, 动态数据类型的高级程序语言

2. 什么是Java语言

  - - Java是1995年有Sun公司推出的一种极富创造力的面向对象的程序设计语言

  - - Java是一种通过解释方式来执行的语言, 其语法规则和C++类似

  - - Java是一种跨平台的程序设计语言. 用Java编写的程序, 可以运行在任何平台和设备上. 如Windows, MacOS, UNIX, 真正实现一次编写, 到处运行

三. Python解释器

Python是一门解释型语言, 代码想要运行, 必须通过解释器执行, Python存在多种解释器, 分别基于不同语言开发, 每个解释器有不同的特点, 但都能正常运行Python代码.

  - - CPython 这个解释器是用C语言开发的, 所以叫CPython, 在命令下运行Python, 就是启动CPython解释器, CPython是使用最广泛的Python解释器

  - - IPython 是基于CPython之上的一个交互式解释器, 也就是说IPython只是交互方式上有所增强, 但是执行Python代码的功能和CPython完全一样, 好比很多国产浏览器虽然外观不同, 但内核其实都调用了IE

  - - PyPy 是另一个Python解释器, 他的目标是执行速度, PyPy采用JIT技术, 对Python代码进行动态编译, 所以可以显著提高Python代码执行速度

  - - Jython 是运行在Java平台上的Python解释器, 可以直接把Python代码编译成Java字节码执行.

  - - IronPython 和Jyphon类似, 是运行在微软.net平台上的Python解释器, 可以直接把Python代码编译成,net的字节码

  综上: 在Python解释器中, 使用最广泛的是CPython, 对于Python的编译, 除了可以采用以上解释器进行编译外, 技术超高的开发者还可以按照自己需求自行编写Python解释器来执行Python代码, 十分方便.

四. Java的版本

  - - Java SE 是Java的标准版, 主要用于桌面应用程序的开发, 同时也是Java的基础. 包含Java语言基础, JDBC(Java数据库连接性)操作, I/O(输入/输出), 网络通信, 多线程技术

  - - Java EE 是Java的企业版, 主要用于开发企业级分布式网络程序, 如电子商务网站和ERP(企业资源规划)系统, 其核心为EJB(企业Java组件模型)

  - - Java ME 主要应用于嵌入式系统开发, 如掌上电脑, 手机等移动通信电子设备, 现在大部分手机厂商所生产的手机都支持Java技术.

  

猜你喜欢

转载自www.cnblogs.com/python-web/p/10556001.html