什么是静态强类型、编译型、并发型语言
1、编译型语言
需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。
2、解释型语言
解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。
编译型的语言包括:C、C++、Delphi、Pascal、Fortran 、Go
解释型的语言包括:Java、Basic、javascript、python、PHP
1、动态语言
在运行时可以改变其代码结构:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。
2、静态语言
运行时代码结构不可改变。
动态语言:Object-C、C#、JavaScript、PHP、Python、Erlang。
静态语言:Java、C、C++。
1、动态类型语言
动态类型语言是指在运行期间才去做数据类型检查的语言。
2、静态类型语言
在编译期间确定的或者说运行之前确定的结构,编写代码的时候要明确确定变量的数据类型。
动态类型语言:Python、Ruby、Erlang、JavaScript、swift、PHP、Perl。
静态类型语言:C、C++、C#、Java、Go、Object-C。
1、强类型语言:
强类型语言,一旦一个变量被指定了某个数据类型,如果不经过强制类型转换,那么它就永远是这个数据类型。
2、弱类型语言:
数据类型可以被忽略,一个变量可以赋不同数据类型的值。
强类型语言:Java、C#、Python、Object-C、Ruby、Go。
弱类型语言:JavaScript、PHP、C、C++(C和C++有争议,但是确实可以给一个字符变量赋整形值,可能初衷是强类型,形态上接近弱类型)。
动静态语言是指运行时代码结构是否可以改动;动静态类型是检查数据类型的时机是在运行时还是运行前、;强弱类型是指数据类型是否可以改变。
