计算机
2024-04-23 00:56:44 3 举报
AI智能生成
计算机的基本知识
作者其他创作
大纲/内容
硬件
1、就是组成计算机的物理设备,包含CPU处理器、GPU显卡、硬盘、内存、主板、鼠标、键盘等一切看得见的实体设备
软件
1、是无形的、虚拟的、逻辑的、"看不见的"。
2、软件也会分为系统软件、应用软件等:
(1)系统软件就是控制和协调计算机硬件,支持应用软件开发和运行的系统,例如Windows、Linux、MacOS等操作系统。
(2)应用软件就是我们平时常见的那些双击打开的应用程序(微信、QQ、网易云音乐、浏览器...)等等。
(3)硬件驱动程序也属于软件,相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作。
3、如何去开发软件?或者说用什么东西去描述、控制这款软件,能够按照我们的要求去执行?——编程语言。
2、软件也会分为系统软件、应用软件等:
(1)系统软件就是控制和协调计算机硬件,支持应用软件开发和运行的系统,例如Windows、Linux、MacOS等操作系统。
(2)应用软件就是我们平时常见的那些双击打开的应用程序(微信、QQ、网易云音乐、浏览器...)等等。
(3)硬件驱动程序也属于软件,相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作。
3、如何去开发软件?或者说用什么东西去描述、控制这款软件,能够按照我们的要求去执行?——编程语言。
编程语言
机器语言
01二进制编码,不管你是用什么样的语言去编码,最终计算机都是按照01的方式去执行的,因为芯片里面的晶体管只能表示两种状态。
汇编语言
底层语言、低级语言,是机器语言指令集,通过一些符号去进一步表示机器语言的操作码,使得编码更加容易(但是对比高级语言就不容易了)。
为什么会有汇编语言?因为你不可能用机器语言去写代码,一堆的01编码,别说写了,看都看不懂。例如你要表示加法操作,机器语言就是01010111010101101(只是举个例子,不是对的),这样就很困难了,那么汇编语言的话,直接一个 ADD 符号就可以直接描述这个加法操作,是不是很方便?
这个稍微理解一下就可以了,因为如果你不是做硬件开发、嵌入式开发、反汇编这类偏底层的话,一般接触不到的。
为什么会有汇编语言?因为你不可能用机器语言去写代码,一堆的01编码,别说写了,看都看不懂。例如你要表示加法操作,机器语言就是01010111010101101(只是举个例子,不是对的),这样就很困难了,那么汇编语言的话,直接一个 ADD 符号就可以直接描述这个加法操作,是不是很方便?
这个稍微理解一下就可以了,因为如果你不是做硬件开发、嵌入式开发、反汇编这类偏底层的话,一般接触不到的。
高级语言
相对于汇编语言而言,将编码的过程更加抽象了,例如使用汇编语言去操作 3+5 是这样的:
data segment
numi db 3
num2 db 5
num3 db ?
data ends.
code segment
assume cs:code.ds:data
start:mov ax,data
movds,ax
mov al,numi
add al,num2
mov num3,al
movax,4coeh
int 21h
code ends
end start
而高级语言直接就是 var a = 3 + 5,输出 a 就是等于 8,是不是很简单。
或许会好奇为什么高级语言开发起来这么简单了,还有人要用汇编语言去开发,这个说起来就很复杂,可以自己去搜索一下。
简单地说,汇编语言更多地是用在偏计算机底层上面的,例如操作系统内核、硬件驱动程序、外部设备接口等等,而这些是高级语言所无法做到的;还有就是从执行的效率上面来说,汇编语言的执行效率会比高级语言的执行效率更高...
那么哪些是高级语言呢?
data segment
numi db 3
num2 db 5
num3 db ?
data ends.
code segment
assume cs:code.ds:data
start:mov ax,data
movds,ax
mov al,numi
add al,num2
mov num3,al
movax,4coeh
int 21h
code ends
end start
而高级语言直接就是 var a = 3 + 5,输出 a 就是等于 8,是不是很简单。
或许会好奇为什么高级语言开发起来这么简单了,还有人要用汇编语言去开发,这个说起来就很复杂,可以自己去搜索一下。
简单地说,汇编语言更多地是用在偏计算机底层上面的,例如操作系统内核、硬件驱动程序、外部设备接口等等,而这些是高级语言所无法做到的;还有就是从执行的效率上面来说,汇编语言的执行效率会比高级语言的执行效率更高...
那么哪些是高级语言呢?
1、每一门编程语言都有自己的特点,都有自己擅长的领域,在学习之前应该先了解这门语言一般都是应用在什么领域的,是做什么的,为什么这门语言在这个领域会有优势?
2、编程语言,有面向过程的、面向对象的;有动态的、静态的;有解释型、编译型...这些概念后面可以慢慢去了解
2、编程语言,有面向过程的、面向对象的;有动态的、静态的;有解释型、编译型...这些概念后面可以慢慢去了解
C、C++
面向过程设计的语言,应用最为广泛,基本上能做所有事情,但是一般用来开发较底层的软件,看自己兴趣去学
Java
静态的,编译型,面向对象设计的语言,目前都是应用在Web后端开发
Python
动态的,解释型,面向对象设计的语言,目前应用在爬虫、数据分析、AI、自动化、Web后端开发等
JavaScript
动态的,解释型,面向对象设计的语言,目前应用在前端开发,前端必备技能。其实 JS 的应用范围也挺广的,例如Web后端开发、爬虫这些也能做,有时间可以学一下
等等...
可以查看编程语言的排行榜 https://hellogithub.com/report/tiobe/
可以查看编程语言的排行榜 https://hellogithub.com/report/tiobe/
0 条评论
下一页