同学们,大家好,这里是BinaryBang.
前言
有一句话说”存在即合理”,现在仓颉语言1.0.0的稳定版本已经发布了.仓颉的未来会怎样,这里不做评判,但是仓颉是一门年轻的语言,正适合年轻人学习.
所以呢,从今天开始,我打算使用仓颉语言讲一套一共15节课的编程入门课.
课程介绍
使用的语言
仓颉编程语言,版本为1.0.0
面向对象
1,没有任和编程基础的开发小白.
2,有其他编程语言经验,但是想入门仓颉的同学.
开发工具
VSCode
操作系统
Windows
什么是编程
既然我们要入门编程,那么编程究竟是什么?
我们知道,做饭,是将蔬菜,肉蛋,葱姜蒜等各种食材,经过加工后,得到菜肴的过程,
即做饭就是根据 菜谱 将 食材 转换为 菜肴 的过程
.食材
是一开始的初始状态,菜肴
是结果的最终状态,菜谱
是转换的方式,我们用这样一个表达方式进行表述 最终状态 = 转换方式(初始状态)
就是 菜肴=菜谱(食材)
同样的,编程也是类似的,只不过编程的食材是输入数据
,编程的菜谱就是算法
,最终得到的也是各种形式的输出数据.
即输出数据 = 算法(输入数据)
,
即 编程就是将输入数据根据算法转换为输出数据的过程.
配置开发环境
做饭需要一个便于做饭的环境,里面各种工具都是齐全的.同理,我们编程也需要一个各种工具都齐全的开发环境.
为此,我们需要准备好SDK和IDE两大步骤.
配置SDK
首先什么是SDK?
还是拿做饭来举例子.
我们需要一套厨具,包括锅碗和菜刀,
我们需要一些配料,比如油盐和花椒.
同理我们基于一个语言的编程也需要一个配套的基础设施,这便是该语言环境的SDK
下载
点击这里进入下载页面: 仓颉SDK下载地址
点击cangjie-sdk-windows-x64-1.0.0.zip
旁边的下载按钮进行下载
我们先将下载好的压缩包,放到一个指定目录,比如D:\00-Programming\01-CjSdk\01-Source
下.
这样下载就完成了.
安装SDK
找到刚刚下载好的压缩包然后右键点击解压/解压到cangjie-sdk-windows-x64-1.0.00.zip
:
这样我们就得到了解压后的sdk
sdk解压后,我们可以把原来的压缩包删除掉,只留下解压后的目录
这样,安装就完成了,接下来进行配置
配置SDK
什么是配置SDK?
前面我们说了,SDK就是提供给我们开发用的基础设施,现在我们当然知道这个基础设施放在哪里,但是电脑系统不知道.
配置SDK,就是告诉电脑,SDK在哪里.
1,打开我的电脑
属性界面
桌面上找到我的电脑
图标
右键点击属性按钮
2,打开高级系统设置
3,弹出的面板中选择环境变量
4,认识环境变量
下面的框中,就会显示一个列表,用来显示当前系统的环境变量.
环境变量就像是一个地址簿,用来代表工具的存放地址.
比如,日常生活中,我们会设置一个收货地址,比如菜鸟驿站
,地址是xx省xx市xx区xx街道xx号
,这样如果我说我给你寄了一个礼物,地址是菜鸟驿站
,你就立马知道能在哪里找了.
现在,我们需要给仓颉SDK设立一个地址簿.
5,创建CANGJIE_HOME环境变量
- 点击
新建
- 设置变量名
在新建系统变量
中输入变量名为CANGJIE_HOME
代表仓颉SDK的家,这个名字不能改,只能叫这个名字.
那么变量的值,就是仓颉SDK具体待的地方了.
还记得我们之前现在的地址吗,我们找到他
双击进去一层
再双击进去一层
我们发现这里面有一个bin目录,此时保持这个位置不动,我们点击上面路劲栏的空白区域
此时出现了这个目录的完整路径,我们复制这个路径,回到新建变量这个窗口中,粘贴过去.
点击确定,CANGJIE_HOME这个变量就建好了.
6,将CANGJIE_HOME 添加到 Path环境变量
什么是Path环境变量?
系统找东西的时候,只会在Path这个地址簿中找,所以我们需要将CANGJIE_HOME在添加到Path目录里面去
我们选中Path变量,点击编辑
在弹出的界面中,点击新建
此时底部会出现一个输入框
我们输入第一个路径:
1 | %CANGJIE_HOME%\bin |
接下来,我们一次创建
1 | %CANGJIE_HOME%\tools\bin |
1 | %CANGJIE_HOME%\tools\lib |
1 | %CANGJIE_HOME%\runtime\lib\windows_x86_64_llvm |
这3个路径,最终确保我们新建了4个路径:
最后点击确定关闭弹窗
这样,SDK的配置就完成了.
这一步是本次课最繁琐也是最复杂,同时也是最重要的地方,一定要慢慢来,不要弄错.
下载VSCode
什么是VSCode
我们做饭有了厨具,和配料,还需要一个专门用来做饭地方,这就是厨房.同样,我们编程,需要一个专门环境来编写代码,这便是集成开发环境IDE
.
编程IDE最主要的作用,就是提供了很多辅助我们开发的功能,比如代码提示,自动导包,颜色高亮等功能.
有了SDK和IDE,我们就可以愉快地进行编程了.
安装和配置
- 为IDE创建安装目录
我们首先在D盘创建一个目录D:\00-Programming\02-VSCode\02-Install
,为等下安装做准备.
- 下载
点击这里进入下载页面:VSCode下载地址
如下图所示,点击user installer
旁边的下载按钮
- 点击下载并等待完成后,双击exe文件.
- 同意协议
选择我同意此协议
并点击下一步
- 选择安装路径
这一步提示我们选择安装路径,默认是在C盘,会影响开机速度,我们点击浏览,安装到D盘我们一开始创建的目录
点击确定
我们发现安装目录已经变成我们想要设定的目录了,此时,我们点击下一步.
- 确认开始菜单文件夹
这里我们直接点击下一步
添加附件任务
这一步我们全部勾选,并选择下一步准备安装
点击安装
并等待完成
我们等待安装完成.
最后点击完成
安装Cangjie插件
在VSCode中,点击插件图标
在搜索栏中输入 Cangjie
,确认副标题是VS Code support of Cangjie-language
,并点击Install
至此,SDK和IDE就安装完毕了,接下来就可以创建我们第一个程序了!
创建第一个程序
创建项目
1,创建总目录
我们现在桌面上创建一个 CjStudy
的文件夹,作为我们这次学习资料存放的总目录.
右键点击后,选择用Code打开(VSCode)
桌面上变会打开一个VSCode界面出来:
2,按键Ctrl + Shift +P
打开我们的命令面板,并选择 Create Cangjie Project
此时右下角会弹出一个提示:no open work folder!
此时我们需要再点击一次 Ctr+Shit+P
,并再次选择Create Cangjie Project
3,在弹出的项目类型下拉框中选择 CJNative Cangjie project
4,在弹出的项目类型下拉框中选择 Create Executable Output Cangjie project
5,选择项目地址
.1,我们先选择桌面,并创建一个新的文件夹CjStudy
用来保存此次学习的所有资料
.2,进入CjStudy
并再次创建一个文件夹01-FirstApp
,作为今天程序的路径.
我们双击进入01-FirstApp
,然后点击右下角的选择
此时IDE提示我们输入一个项目名字,我们输入FirstApp
并点击回车.
此时,会弹出一个新窗口出来,这就是我们刚创建的FirstApp项目了.
运行项目
我们打开src目录,发现里面有个main.cj文件,选中这个文件,此时右上角出现一个三角按钮:
我们点击这个三角按钮,IDE就会帮我们编译和运行这个项目了.
如果一切顺利,右下角会出现一个弹窗,并会显示:hello world
恭喜你,第一个app就创建成功并完美运行完毕了.
一般而言,所有编程的第一堂课,都是输出hello word,而这一次,我们在仓颉上已经做到了.
了解项目结构
现在,我们回过头来观察一下项目的结构
我们真正需要关注的是3个文件:
1,src/main.cj
src目录是用来存放代码的目录,main.cj则是我们的编写的代码
2,cjpm.toml
这个是项目的配置文件,其格式为.toml,以后等需要的时候,我们再详细讨论.
3,target/release/bin/main.exe
这个是我们点击运行按钮后才会出现的按钮,这个main.exe才是最终我们运行的程序,代码本身不能被机器识别,只有转换为exe程序后,机器才能识别并处理我们交代的任务.
而这一次我们让机器执行的任务,就是输出hello world
认识代码
我们打开src/main.cj,
整个文件主要分为两部分
上面是 包声明
下面是 主函数main函数.
我们要知道任何程序都需要一个主函数.
主函数的结构:
主函数中,花括号前面的部分是函数头,用来表明函数的名字和返回值.
花括号部分是函数体,用来编写函数主要实现的功能.
函数体目前有两行代码,第一行println('hello world')
用来向控制台输出hello world
这个单词.
第二行,return 0
,表示函数执行完毕,返回0.
大家可能对这些表示不太理解,不过没关系.就像炒菜,我们并不需要知道白菜为什么是白色的梗和绿色的叶,白菜就长这样;
同理,我们也不需要深究为什么程序是这个样子,我们只需要知道程序就是这个样子.
认识3个区域
我们观察IDE窗口,发现最主要的是三个区域:
最左边的是文件浏览区,用来显示项目的文件和文件夹
右上角是代码编辑区,用来编辑文件,书写代码
右下角是控制台,用来和控制台进行交互
1,显示程序输出的信息;
2,输入程序需要的信息;
思考题
好,今天的介绍就到这里.最后,我们留给大家一道思考题.
现在我们的程序可以输出’hello world’,那么如何让程序输出我们最喜欢的格言呢?比如输出”锲而不舍,金石可镂!”
我们下节课进行解答,同学们,下节课见!