技术标签: JS / HTML / CSS / 前端笔记 脚本语言 c++ C / C++ / JAVA 编程语言
机器语言(面向机器)——>汇编语言(面向机器)——>高级语言(面向过程——>面向对象)
(1)机器语言属于低级语言。
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令。
全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。
(2)汇编语言
实质和机器语言相同,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
(3)高级语言
高级语言是相对于汇编语言而言,编写的程序不能直接被计算机识别,必须经过转换才能被执行。
越是低级的语言对机器越是友好,越是符合机器的思考方式,因此执行效率高。
越是高级的语言对人类越是友好,越是符合人类的思考方式,因此开发效率高。
常用编程语言及其用途
C:操作系统、嵌入式、驱动开发
C++:图形图像、科研、通信、桌面软件、游戏、游戏服务器
C#:Windows桌面软件、.NET Web、服务器
Java:
Java SE:跨平台的桌面应用,Android;
Java EE:企业级应用,web开发、服务器后端;
Java ME:手机应用、流行于非智能机时代;
Java Android:用于安卓开发应用
GO:高性能服务器应用,比较年轻
Erlang:高并发服务器应用,多用于游戏
Python:Web、科学计算、运维
Ruby:Web
Perl:运维、文本处理,用的较少
Lisp:科研,一种逻辑语言,用于人工智能
Node:一个JavaScript运行环境(runtime)
Haskell:Haskell是一种标准化的、通用纯函数编程语言,数学逻辑方面
Scala:一种类似Java的编程语言,集成面向对象编程和函数式编程的各种特性
JavaScript:前端,在node中可以做后端
HTML/CSS:标记语言,主要是给前端工程师构建页面使用
(0)命令式语言 & 函数式语言 & 逻辑式语言
命令式语言的语义基础是模拟“数据存储/数据操作”的图灵机可计算模型,十分符合现代计算机体系结构的自然实现方式。其中产生操作的主要途径是依赖语句或命令产生的副作用。现代流行的大多数语言都是这一类型,比如 Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各种脚本语言也被看作是此种类型
函数式语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如 Lisp、Haskell、ML、Scheme 、F#等。
逻辑式语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog 。
(1)编译型语言 & 解释型语言 :两者只是翻译的时间不同
编译型语言:由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,如 C、C++、Fortran、Pascal、Delphi 、汇编…
在程序执行前,有一个单独的编译过程,将源程序—>机器语言,生成一个可执行程序 .exe,使用的转换工具称编译器。
以后再执行这个程序时,就直接用exe文件,不用再进行翻译了,所以效率较下者高。
解释型语言:运行速度较前者慢。如Python、JavaScript、VBScript、Tcl、Perl、Ruby、MATLAB …脚本语言!
每次执行程序都要一边转换一边执行,用到哪些源代码就将哪些源代码转换成机器码,用不到的不进行任何处理。
每次执行程序时可能使用不同的功能,这个时候需要转换的源代码也不一样。
不会生成可执行程序,使用的转换工具称解释器。
因为每次执行程序都需要重新转换源代码,所以解释型语言的执行效率天生就低于编译型语言,甚至存在数量级的差距。计算机的一些底层功能,或者关键算法,一般都使用 C/C++ 实现,只有在应用层面(比如网站开发、批处理、小工具等)才会使用解释型语言。
有说JAVA是混合型,也有说是解释型。 和 C# 都属于半编译半解释型的语言,源代码先转换为中间文件(字节码文件)再转换。
(2)强类型语言(静态语言) & 弱类型语言(动态语言)
强类型:如JAVA,C,C++,C#
优点:静态语言由于强制声明数据类型,让开发工具(IDE)对代码有很强的判断能力,在实现复杂的业务逻辑和开发大型商业系统、以及那些声明周期很长的应用中,开发者可以依托强大的IDE来更高效、更安全地开发。
是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须生命数据类型。
弱类型:如超级脚本语言Python,Ruby…脚本语言JavaScript,VBScript,PHP,ASP,Perl,SQL,Shell…HTML…宏语言…
优点:动态语言思维不受约束,可以任意发挥,把更多的精力放在产品本身上;集中思考业务逻辑实现,思考过程就是实现过程。
是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。
(3)面向过程型 & 面向对象型
面向过程:C;Fortran语言主要用于编写与数值计算有关的程序,广泛应用于科学和工程计算领域。
面向对象的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL、JAVA、C# 等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Python、 Objective-C等。
(4)脚本语言
又称为扩建的语言,是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。
脚本语言(JavaScript,VBScript,Python,PHP,Perl,Ruby等)介于标记语言HTML和编程语言C,C++,Java,C#等之间。
辨别:
脚本语言的特点是语法简单,一般以文本形式保存,并且不需要编译成目标程序,在调用的时候直接解释。这可以当做是脚本语言的判断标准,比如道说JavaScript,你只需要用记事本新建一个Html文件,在里面加上一段脚本就可以了,在浏览器打开Html文件时自然会调版用JS脚本。总之你能用记事本写出程序,不需要编译环境权生成目标程序的基本上就是脚本语言。
(5)标记语言
常见HTML,XML…(一般分三类:标示性的,过程性的,描述性的)
是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。
区别:
1、标记语言不用于向计算机发出指令,常用于格式化和链接。
2、脚本语言介于标记语言和编程语言之间,脚本语言脚本语言不需要编译,可以直接用,由解释器来负责解释。
3、编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
api-swagger启动Tomcat,访问:http://localhost:8090效果图 实现步骤1.添加Maven依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifa...
Instant.now().getEpochSecond()时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳转化为Date或LocalDateTime时,需要添加ZoneId(地区)或ZoneOffset(偏移数据)来转为本地时间。public static void main(String[] arg...
中国太阳能电池行业运营需求与十四五展望规划报告2022版-------------------------------------《修订日期》:2022年2月《出版单位》:鸿晟信合研究院《对接人员》:周文文【内容分析有删减·了解详情可查看咨询鸿晟信合研究院专员!】目录 第一章:中国太阳能电池行业发展环境分析第一节 太阳能电池定义及分类一、 太阳能电池定义二、 太阳能电池分类第二节 太阳能电池行业政策环境分析一、 太阳能电池行业相关政策二、 太阳能电池行业发展规划...
计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。 传统计算机系统的硬体单元一般可分为输入单元、输出单元、算术逻辑单元、控制单元及记忆单元,其中算术逻辑单元和控制单元合称中央处理单元(Center Processing Unit,CPU)。硬件系统电源: 电源是电脑中不可缺少的供电设备,它
文章目录现状原因解决办法现状通过spring-boot 使用JDBC连接经过kerberos认证的Hive时, 报错Caused by: java.lang.ClassNotFoundException: org.apache.curator.connection.StandardConnectionHandlingPolicy at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_172] at java
犯罪大师第二届推理大赛有甲乙丙丁四人答案是什么?第二届推理大赛有甲乙丙丁四人是犯罪大师每日任务中的一道题,很多玩家中在做这道题的时候都有些疑惑,不清楚问题的答案是什么。今天寒山就整理了相关的解析,一起来看看第二届推理大赛有甲乙丙丁四人的答案吧。问题:Crimaster第二届推理大赛最终有甲乙丙丁四人进入决赛,但是不清楚具体的名次。根据几位知情人士透露的情况,他们中只有一人说谎。谁是第一名?A:甲、...
一、密钥分配 、二、密钥分配中心 、三、对称密钥分配 、四、对称密钥分配说明 、五、密钥分配协议 、六、Kerberos 协议工作流程 、七、Kerberos 协议要求
http://scikit-learn.org/stable/modules/classes.html#module-sklearn.decompositionReferenceThis is the class and function reference of scikit-learn. Please refer to thefull user...
python3 日志检索异常抛出异常 raise KeyError(key),KeyError: 'formatters'
DNS: resolver1.opendns.com: 208.67.222.222 解析域名:nslookup XXX
@ConfigurationProperties 的使用一、前言 spring3.0新增的注解,提供了Java配置的能力,使用Java配置更好的理解配置的bean。SpringIOC的一个核心概念——Bean。由Spring容器来负责对Bean的实例化、装配和管理。XML是用来描述Bean很流行的配置方式。但随着Spring的日益发展,“Spring项目大量的烂用XML”就是最为严励的一个批评。因为Spring会把多有的业务类都已Bean的形式配置在XML文件中,造成了大量的XML文件。使用xml来配
OSPF动态路由配置,及注意点邻居表:放邻居设备链路状态数据库(拓扑表):会有所有设备信息用area:边界路由器进行DR是同一个网段而言如当多个路由器连接到交换机时,OSPF中的进程号:一个路由器上可以有多个ospf进程用于储存不同的信息,不同ospf之间进行通讯需要重分发。OSPF区域号(area),值得注意的是整个OSPF域内不同区域之间都需经过area 0(0为骨干区域)来通信,...