不同语言编程能整合到一起吗_编程语言词语分类 | 浩然的编程科普Vol.04

fc2448b2ea585d160123b197e9f4e050.gif

动图/MASK(安格学习者)

今年是浩然在安格的第三年了。这一年里,浩然如愿收到了理想院校,全美游戏设计专业排名前三DigiPen理工学院的录取通知书。

往前回望,在这三年里,浩然从一个单纯的Minecraft游戏玩家开始,先是做出了属于自己Minecraft整合包;再是学习游戏编程,作为安格游戏制作社的第一编程员,做出了大家自主设计的游戏demo。最近,浩然在社区发起了一个编程社,带领着社区的各位编程同好们,向一起合力开发一个应用程序的目标迈进。

编程这个词对我们而言并不陌生,经由编程的产品们也早已细密地渗透进我们的日常生活。但编程到底是什么?倘若在网络上搜索编程的解释,对于普通人而言,我们看到的是满屏晦涩难懂的专业术语。

浩然第一次在写作打卡小组里发文,即是记录自己的代码进程。导师花菜提了建议,能否将那段学术性的编程文字,改写成文学性的句子。 浩然欣然应允,开始了他的编程科普之旅。

以下,是浩然的编程科普文第四篇,关于编程语言词语分类。

编程语言词语分类  |  王浩然 编辑  |  莫凡

就像中文和英语里有名词,动词,形容词等词语类型一样,在编程语言中不同的字符组合也有不同的意义。而在常用的一些编程语言中,这部分的语法基本是通用的。

但和日常交流不同,编程有些像是编造一个故事或者世界观,你并不是在形容发生了的事情,而是在进行创作。

标识符:

在生活中,名词通常指代实际存在或想象出来的事物或概念。换句话说,在听到或看到一个名词时,我们会在瞬间下意识地联想到这个名词所指代的事物。虽然本质上,这个词只是说话的人发出的数个音节或纸上的几个符号,并不是实际的事物。

而在编程中,我们会使用标识符来指代编程中的事物,而标识符本质上就是一些连在一起的字符。这些字符的组合本来没有意义,但我们用它来指代一个或一类事物,就像awsl【阿我死了】或者xswl【笑死我了】之类的词语,是在近年才被赋予了涵义一样。

d914c6557c6042f42d76f03969dfef63.gif

另外,标识符必须符合一定的规则,就如同人起名字不能使用自己随便画出来的符号一样。

为了让电脑明白这个标识符【词语】是什么意思,我们就需要给出定义。当然,具体的定义方式在不同的编程语言中不同。

修饰符:

正如形容词被用于修饰事物,修饰符也被用于形容编程中的各个事物。

最常见的修饰符是访问修饰符,被用于形容事物的封闭程度。其他修饰符根据具体的编程语言不同而不同,功能也不同,比如有些可以让被修饰的事物从生成起就再也不能被改变。

dd30ad17a5d87705f95f0cadd3e589a2.png

上图为访问修饰符(C#参考)

运算符:

当我们想要表达一个事物做了动作,我们会使用动词。而在编程中与动词对应的概念是运算符。

最简单的运算符就是加减乘除了,两个名为数字的事物一起进行了名为加的行动,最后获得了名为和的结果。而=这个符号或者说叫赋值运算符,将会把左边的标识符【名字】指代的事物变得和右边的事物一样。所以,运算符指代的是那些运算本身。

0a0e5940e639c4709b5d5f8489623147.png

上图为访问修饰符

标点符号:

在编程中,例如尖/圆/方括号、单/双引号、冒号与分号之类的标点符号十分常见,但本质上它们和自然语言中的标点符号是类似的。

在自然语言的写作中,正确的使用标点符号是很重要的,而且假如在不同的地方加入标点符号,语言表达的效果也不同。

一个经典案例:下雨天留客天留我不留。这是一句著名的无标点符号句子,在没有标点符号下,这句句子有数种拆解方式,划分出不同的意味。而编程中的标点符号也一样,假如省略了必要的标点,电脑就无法理解程序,而更换标点符号的位置可能使得程序的结果大不相同。

777e4be430fe18bafa8b01fd35d58b61.png

关键字:

正如同在给孩子起名字时,有些已有特殊含义的词语不适合当名字,在编程中也不是所有符合规则的字符组合都可以当成标识符。关键字就是一些有特殊意义的词语,无法被用于命名,将关键字作为标识符会导致程序无法运行。

ca81da69f7c02a86663ede32dfc8e944.png

上图为关键字列表

04009cfccc6458b54002d8dc8e66c53c.png

上图为实际代码,其中蓝色字体的是关键字,青色字体的是标识符,白色的可能是标点符号、操作符或标识符。需要注意的是,这些都是C#语言的,并不是所有语言通用的。

最后:

编程语言也是语言,仔细分析后也能找出基本的语法规则。而且由于是人造语言的关系,语法也会比较简单。另外,因为编程语言诞生的目的就是为了和机器交流,所以相对固定。自然语言中如果犯了语法错误,人们仍然能听懂,错误日积月累就成了语言的一部分,成为了语法规则的例外。

dda565c6d31828f75d093a5187b9c5a3.png

但编程语言犯了错误只会不能运行,因此编程语言不会像自然语言一样随时间自然演变,只会被语言的设计者们有计划有方向的改动,更加有逻辑。学习英语要从小学一直学到大学,而编程语言也许一个学年就能学会,也正是因为这个原因。

另外,尽管绝大多数编程语言都使用了英文单词作为关键字,但实际上编程语言并不是英语,关键字在编程语言中的意思也与在英语中的意思不一样,就像日语中有很多汉字,但日语并不是中文一样。因此,就算是母语是英语的人看代码,也会像中国人看日语一样,虽然有很多熟悉的单词/汉字,但仍然只能勉强猜个大概。

c261c7214ee9f9bdf74140c9073830b5.png

总之,编程语言的学习对英语水平的要求并不高,对背单词的能力要求也不高,毕竟每个编程语言的关键字大多不到100个。

编程并不是一门需要死记硬背的学科,而是需要通过实践与思考增进理解的学科,语言的学习仅仅只是最简单的一环。

本文已获得作者授权发布 转载时请注明本文作者及原文地址 图源网络 如果你喜欢浩然的这篇文章 欢迎拉到文末,点击喜欢作者,给他一些鼓励吧!  你可能还感兴趣 整理逻辑之小黄鸭调试法 | 浩然的编程科普 Vol.03高级语言、底层语言与程序注释 | 浩然的编程科普Vol.02发明轮子与开发源代码 | 浩然的编程科普Vol.01 浩然的家长社区分享 | 我所赋予的人生的意义 浩然的故事 | 休学三年后,他在游戏中找到了人生方向
更多关于先锋· 安格学习社区 超越学校:终身学习者社区 | 先锋教育介绍 3fa0c30a31e1e7d575457e0b8395c469.png

没有围墙、考试和规矩的“三无”创新学习社区,如何让孩子“无所不能”?

fcf34ab599627cb6847f50d678f6012d.png

一所没有“老师”的“学校” | 先锋·安格社区导师介绍

a1d11cf31e5bc2c1a430127c8c53bffa.png

社区生活介绍|先锋·安格社区的学习者生活 38e24736dea25c4bbed96f90766e86dd.png演讲全文 | 2018哈佛中国教育论坛:黄鹃娟《从骆驼到婴孩》 d5927f08af1288e41c45649a156c7cf6.png 2657b32cf284eb8cddb5a265d6cf1f2e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值