![fc2448b2ea585d160123b197e9f4e050.gif](https://img-blog.csdnimg.cn/img_convert/fc2448b2ea585d160123b197e9f4e050.gif)
动图/MASK(安格学习者)
今年是浩然在安格的第三年了。这一年里,浩然如愿收到了理想院校,全美游戏设计专业排名前三DigiPen理工学院的录取通知书。
往前回望,在这三年里,浩然从一个单纯的Minecraft游戏玩家开始,先是做出了属于自己Minecraft整合包;再是学习游戏编程,作为安格游戏制作社的第一编程员,做出了大家自主设计的游戏demo。最近,浩然在社区发起了一个编程社,带领着社区的各位编程同好们,向一起合力开发一个应用程序的目标迈进。
编程这个词对我们而言并不陌生,经由编程的产品们也早已细密地渗透进我们的日常生活。但编程到底是什么?倘若在网络上搜索编程的解释,对于普通人而言,我们看到的是满屏晦涩难懂的专业术语。
浩然第一次在写作打卡小组里发文,即是记录自己的代码进程。导师花菜提了建议,能否将那段学术性的编程文字,改写成文学性的句子。 浩然欣然应允,开始了他的编程科普之旅。
以下,是浩然的编程科普文第四篇,关于编程语言词语分类。
编程语言词语分类 文 | 王浩然 编辑 | 莫凡就像中文和英语里有名词,动词,形容词等词语类型一样,在编程语言中不同的字符组合也有不同的意义。而在常用的一些编程语言中,这部分的语法基本是通用的。
但和日常交流不同,编程有些像是编造一个故事或者世界观,你并不是在形容发生了的事情,而是在进行创作。
标识符:
在生活中,名词通常指代实际存在或想象出来的事物或概念。换句话说,在听到或看到一个名词时,我们会在瞬间下意识地联想到这个名词所指代的事物。虽然本质上,这个词只是说话的人发出的数个音节或纸上的几个符号,并不是实际的事物。
而在编程中,我们会使用标识符来指代编程中的事物,而标识符本质上就是一些连在一起的字符。这些字符的组合本来没有意义,但我们用它来指代一个或一类事物,就像awsl【阿我死了】或者xswl【笑死我了】之类的词语,是在近年才被赋予了涵义一样。
另外,标识符必须符合一定的规则,就如同人起名字不能使用自己随便画出来的符号一样。
为了让电脑明白这个标识符【词语】是什么意思,我们就需要给出定义。当然,具体的定义方式在不同的编程语言中不同。
修饰符:
正如形容词被用于修饰事物,修饰符也被用于形容编程中的各个事物。
最常见的修饰符是访问修饰符,被用于形容事物的封闭程度。其他修饰符根据具体的编程语言不同而不同,功能也不同,比如有些可以让被修饰的事物从生成起就再也不能被改变。
![dd30ad17a5d87705f95f0cadd3e589a2.png](https://img-blog.csdnimg.cn/img_convert/dd30ad17a5d87705f95f0cadd3e589a2.png)
上图为访问修饰符(C#参考)
运算符:
当我们想要表达一个事物做了动作,我们会使用动词。而在编程中与动词对应的概念是运算符。
最简单的运算符就是加减乘除了,两个名为数字的事物一起进行了名为加的行动,最后获得了名为和的结果。而=这个符号或者说叫赋值运算符,将会把左边的标识符【名字】指代的事物变得和右边的事物一样。所以,运算符指代的是那些运算本身。
![0a0e5940e639c4709b5d5f8489623147.png](https://img-blog.csdnimg.cn/img_convert/0a0e5940e639c4709b5d5f8489623147.png)
上图为访问修饰符
标点符号:
在编程中,例如尖/圆/方括号、单/双引号、冒号与分号之类的标点符号十分常见,但本质上它们和自然语言中的标点符号是类似的。
在自然语言的写作中,正确的使用标点符号是很重要的,而且假如在不同的地方加入标点符号,语言表达的效果也不同。
一个经典案例:下雨天留客天留我不留。这是一句著名的无标点符号句子,在没有标点符号下,这句句子有数种拆解方式,划分出不同的意味。而编程中的标点符号也一样,假如省略了必要的标点,电脑就无法理解程序,而更换标点符号的位置可能使得程序的结果大不相同。
关键字:
正如同在给孩子起名字时,有些已有特殊含义的词语不适合当名字,在编程中也不是所有符合规则的字符组合都可以当成标识符。关键字就是一些有特殊意义的词语,无法被用于命名,将关键字作为标识符会导致程序无法运行。
![ca81da69f7c02a86663ede32dfc8e944.png](https://img-blog.csdnimg.cn/img_convert/ca81da69f7c02a86663ede32dfc8e944.png)
上图为关键字列表
![04009cfccc6458b54002d8dc8e66c53c.png](https://img-blog.csdnimg.cn/img_convert/04009cfccc6458b54002d8dc8e66c53c.png)
上图为实际代码,其中蓝色字体的是关键字,青色字体的是标识符,白色的可能是标点符号、操作符或标识符。需要注意的是,这些都是C#语言的,并不是所有语言通用的。
最后:
编程语言也是语言,仔细分析后也能找出基本的语法规则。而且由于是人造语言的关系,语法也会比较简单。另外,因为编程语言诞生的目的就是为了和机器交流,所以相对固定。自然语言中如果犯了语法错误,人们仍然能听懂,错误日积月累就成了语言的一部分,成为了语法规则的例外。
但编程语言犯了错误只会不能运行,因此编程语言不会像自然语言一样随时间自然演变,只会被语言的设计者们有计划有方向的改动,更加有逻辑。学习英语要从小学一直学到大学,而编程语言也许一个学年就能学会,也正是因为这个原因。
另外,尽管绝大多数编程语言都使用了英文单词作为关键字,但实际上编程语言并不是英语,关键字在编程语言中的意思也与在英语中的意思不一样,就像日语中有很多汉字,但日语并不是中文一样。因此,就算是母语是英语的人看代码,也会像中国人看日语一样,虽然有很多熟悉的单词/汉字,但仍然只能勉强猜个大概。
总之,编程语言的学习对英语水平的要求并不高,对背单词的能力要求也不高,毕竟每个编程语言的关键字大多不到100个。
编程并不是一门需要死记硬背的学科,而是需要通过实践与思考增进理解的学科,语言的学习仅仅只是最简单的一环。
本文已获得作者授权发布 转载时请注明本文作者及原文地址 图源网络 如果你喜欢浩然的这篇文章 欢迎拉到文末,点击喜欢作者,给他一些鼓励吧! 你可能还感兴趣 整理逻辑之小黄鸭调试法 | 浩然的编程科普 Vol.03高级语言、底层语言与程序注释 | 浩然的编程科普Vol.02发明轮子与开发源代码 | 浩然的编程科普Vol.01 浩然的家长社区分享 | 我所赋予的人生的意义 浩然的故事 | 休学三年后,他在游戏中找到了人生方向更多关于先锋· 安格学习社区 超越学校:终身学习者社区 | 先锋教育介绍
![3fa0c30a31e1e7d575457e0b8395c469.png](https://img-blog.csdnimg.cn/img_convert/3fa0c30a31e1e7d575457e0b8395c469.png)
没有围墙、考试和规矩的“三无”创新学习社区,如何让孩子“无所不能”?
![38e24736dea25c4bbed96f90766e86dd.png](https://img-blog.csdnimg.cn/img_convert/38e24736dea25c4bbed96f90766e86dd.png)
![d5927f08af1288e41c45649a156c7cf6.png](https://img-blog.csdnimg.cn/img_convert/d5927f08af1288e41c45649a156c7cf6.png)
![2657b32cf284eb8cddb5a265d6cf1f2e.png](https://img-blog.csdnimg.cn/img_convert/2657b32cf284eb8cddb5a265d6cf1f2e.png)