认识和理解计算机语言,如何理解所有的编程语言和语言,零基础入门到精通,收藏这篇就够了

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我对上帝说西班牙语,对女人说意大利语,对男人说法语,对我的马说德语。

——法国国王查理五世(1500——1558)

首先,让我们先来玩个记忆游戏,请你仔细地浏览这张图,并尽可能记住所有的细节。仔细浏览的意思是说,从上至下,从左至右,从实线到虚线,每一个字、每一幅图都仔仔细细地看一遍。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

自然 - 语言 - 符号

吾爱汝。

我愛你。

I love you.

Te amo.

上面四句话,是什么意思?换句话说,它背后的本质是什么?相信你一定懂得第一句和第二句话,即便你不懂第四句话,但通过前三句话,你也一定知道第四句话表达的是同样的意思——“我爱你”——就是这四句话的本质,它们唯一的区别是符号不同。

发现了吗?文字仅仅只是一种符号,光是看着 Te amo 这些符号的组合,你什么都不明白,也什么都做不了。只有当你把Te amo背后的那个“东西”与前面三个等同起来,它才有了意义和本质。

你完全可以自己设计出一套符号系统,用来表达,你想表达的含义,摩尔斯电码和盲文就是很好的例子。

数学,也是一种语言,某知名高数教材,面向大一新生直接引入极限的精确定义,使得初学者无法理解背后的本质,学起来必然痛不欲生。

机器语言与动物语言

小猫喵喵喵喵,小狗汪汪叫,语言学家和动物学者可能会说小动物不会语言。我不这么认为,难道发不出26个汉语拼音,英文字母的音就无法交流吗?实际上,小动物才是真正的交流高手。高手过招往往都是点到为止,因此小动物的交流也很简单,吃、喝、拉、睡——一个动词,无需多余的编码(code)组合就能表达完所有意思,且不会造成歧义,快捷又高效。

编码(code)

a. 一种在信息传输过程中用来表述祖母或数字的信号系统。

b. 由被赋予了一定主观意义的符号、字母以及单词所组成的系统,该系统可用于传输需要保密或简短的信息。

c. 一种由若干符号和规则组成的系统,用来向计算机表述指令。

相比之下,我们的语言就复杂得很多了,一说到学习英语,一些人就会苦恼,小的时候记26个字母的发音、写法,再大一点要记住它们的排列组合,也就是编码,再来还有它们的语法规则,主、谓、宾、定、状、补、从句……甚至人类的语言还有很多的“噪音”,歧义重重——往往越解释,越不清楚,越描越黑。

被误解是表达着的宿命。

——马东《奇葩说》

20世纪40年代末,第一台计算机诞生了,随着计算机的出现,一种新的语言也诞生了,叫做机器语言(machine language)。程序员使用这种语言编写程序,输入到计算机中,经过计算机的处理,产生结果再返还给程序员。机器语言(也称机器指令、机器码)是计算机可以直接识别的二进制位(binary digit)编码,之所以采用二进制,因为电路的电压便于用“高”和“低”两种状态来表示,就像这样:

10001100 10100000 // A加B

同样的它们都是符号,一旦经过设计和编码,就可以表达特定的含义。

和小动物一样,计算机也有基本的需求——做算术运算。“0”和“1”经过编码,就可以做出加、减、读、写等基本操作了。

但是,编程人员很快就发现了——作为人类自身的不足,用两种状态表达计算过程,容易出错,记忆困难,不便阅读,编写起来十分枯燥。

机器语言(machine language):以二进制形式表示的机器指令。

二进制位(binary digit):也成为位。基数为2的数字中的0或1,它是信息的基本组成元素。

汇编语言

程序员认识到这个问题,很快就设计出了汇编语言(assembly language),利用助记符来编写程序,顾名思义,是帮助编程人员记忆的符号语言。

add $t0, $s0, s 1 / / 将寄存器 s1 // 将寄存器 s1//将寄存器s0的值和 s 1 值相加,赋值给 s1值相加,赋值给 s1值相加,赋值给t0

add $t1, $s2, s 3 / / 将寄存器 s3 // 将寄存器 s3//将寄存器s2的值和 s 3 值相加,赋值给 s3值相加,赋值给 s3值相加,赋值给t1

sub $t0, $t0, t 1 / / 将寄存器 t1 // 将寄存器 t1//将寄存器t0的值和 t 1 值相减,赋值给 t1值相减,赋值给 t1值相减,赋值给t0

但是根本问题依旧没有解决,计算机懂的是机器语言,不是汇编语言,因此每次使用汇编语言编写完程序后,还是需要程序员翻译为机器语言,这时,汇编器(Assembler)就诞生了,它充当翻译官的角色,将汇编语言翻译为机器语言。

由于汇编语言与机器语言十分接近,机器语言与汇编语言又统称为低级语言。虽然助记符比机器语言要容易记忆,但用它编写程序依旧十分繁琐,编程人员必须将注意力和时间消耗细节上,告诉计算机每一条指令的执行:第一步从内存的某一个位置取一个数,第二步加到某个寄存器中,第三步再……这些工作,费时费力,因此产生了新的需求。

汇编语言(assembly language):以助记符形式表示的机器指令。

汇编器(Assembler):也叫汇编程序,将指令由助记符形式翻译成二进制形式的程序。

高级语言与自然语言

记忆、阅读与理解起来困难,不符合人类的认知规律,高级语言应运而生。只要你学过四则运算,和初等代数,你就一定能理解下面这句话在做什么,满足了什么样的需求。

a = (b + c) – (d + e);

这段代码,和上面的汇编代码本质所做的事,满足的需求,所表达的含义是等同的,却更符合,人类的认知,容易记忆。

高级语言:如C、C + +、Java、Visual Basic等可移植的语言,由一些单词和代数符号组成,可以由编译器转换为汇编程序。

编译器:将高级语言翻译为计算机所能识别的机器语言的程序。这个过程相当复杂,不作过多介绍。

高级语言与低级语言在某些方向上是一致的,因为其本质的工作,所需要完成的任务本质上并无变化,不外乎要做基本的运算,所有的高级语言都有基本的运算符号,运算规则:

I love you.

She needs me.

They eat hamburgers.

人也有基本的需求,我爱你,我需要你,我吃汉堡,我喝可乐。语法老师在教你时,肯定会告诉你:

I 是 主语

love 是 动词

you 是 宾语

一个完整的句子必须有动词,同时你必须按照主+谓+宾的顺序来听说读写,那是因为“我”和“你”本身本无任何联系,“她”和“我”本身并无联系,“他们”和“汉堡”也无联系,而 love, need, eat 产生了动作,才使得他们产生了联系。自然语言中 I, you, she, me, they, hamburger 归类为名词,在编程语言中我们把它们称为类型。我们用编程语言的形式,可以将上面的三句话改写为:

love(I, you);

she(needs, me);

eat(they, hamburgers);

这时 I, you, she, me, they, hamburger 也叫作参数。love, she, eat 表示它们所完成的动作,称为函数。

汉语和英语相比较而言,英语有16种时态变化,我们在学习与理解不同的语言时,要注重的是它们的共性与特性:

词性(名词,动词,形容词,副词···)

句子结构(主+谓+宾···)

···

同样的,学习现代编程语言,也需要去学习和理解它们的特性:

面向过程

面向对象

变量定义、引用

算术运算

函数定义、调用

···

一部分初学者,甚至某些已经学过编程语言的人,还纠结于在选择什么样的编程语言这种问题上,是不正确的。

学习、理解或者掌握一门编程语言别无他法,就是学会使用其语言的特性,编写出一定数量的代码,像学英语一样仅仅靠背语法规则,但从不去使用在听、说、读、写上是行不通的。

更重要的是,带着问题,带着目的去运用语言。

后记

还记得开篇的图吗?同样的,与汇编语言一样,机器永远只能识别二进制,无法识别高级语言,我们需要将高级语言先转化为汇编语言,编译器就是用来翻译高级语言的。

我已经带着你遍历了自然语言、低级语言甚至是动物语言,希望看完之后你对所有的语言都有了更进一步的认识。

为了便于初学者学习,基本上已在文中出现的计算机相关术语下方,给出了较为准确的解释,希望可以帮助初学者更好的理解这些专业术语。

众所周知,网络安全与我们息息相关,无论是企业还是个人都应该重视网络安全。而且网络安全是一个新兴行业,人才需求量远大于供给,因此在薪资福利上具有很大的优势,但对于初学者而言,很多人依然担心前景问题,那么网络安全就业前景如何?本文为大家介绍一下。

============================================================================================================================

题外话

从目前市场情况来讲,网络安全的就业前景是非常不错的,2022年的统计数据,网络安全专业的缺口已经增长到140万人。

1、就业岗位多,发展方向广

①就业环境:网络安全可以在计算机科学与技术、信息通信、电子商务、互联网金融、电子政务等领域从事相关工作,还可以在政府机关事业单位、银行、保险、证券等金融机构,电信、传媒等行业从事相关工作。

②就业岗位:网络安全工程师、渗透测试工程师、代码审计工程师、等级保护工程师、安全运维工程师、安全运营工程师、安全服务工程师等。

2、薪资待遇可观,提升较快

作为一个新兴行业,网络安全人才的市场需求远远大于供给,企业想真正招到人才,就必须在薪酬福利上有足够的竞争优势。因此,网络安全领域的薪资近年来也呈现稳步增长的态势。

根据工信部发布的《网络安全产业人才发展报告》显示,网络安全人才平均年薪为21.28万元,整体薪资水平较高。数据显示,网络安全人才年薪主要集中在10-20万元,占比40.62%,与往年持平;其次是20-30万元,占比为38.43%,较2020年占比19.48%有显著提高;而年薪在10万以下人才占比由2020年的19.74%下降至2022年的9.08%。由此可见,网络安全行业作为新兴赛道,尚在快速发展阶段,从业人员薪资水平提升较快,也显示出网络安全行业相对更重视人才留存。

3、职业发展空间大

从网络安全专业学习的主要内容来看,包括linux运维、Python开发、渗透测试、代码审计、等级保护、应急响应、风险评估等。可见该网络安全专业的技术性很强,具有鲜明的专业特点,是一门能够学到真正技术的工科类专业之一。

因此,在职业发展上,网络安全专业除了就业岗位众多之外,由于专业技术性较强,在工作单位将处于技术核心骨干地位,职业发展空间很大。

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值