中文编程语言之Z语言初尝试 - ZLOGO 4

简介: 学习ZLOGO官方教程,记录过程中的发现. Follow the official tutorial of ZLOGO programming language, and share the findings during the way.

@TKT2016 开发的Z语言(ZLOGO是它的一个部分)是本人至今看到的唯一一个仍活跃开发的开源且比较完整的中文编程语言项目. 它的源码在TKT2016/ZLanguage3.

此文从用户角度尝试一下ZLOGO的功能, 并记录一些过程中的发现.

首先上一个看完教程后自己写的螺旋方块演示. 源码附在最后.

2017_11_28_ZLOGO__

以下是官网的说明:

LOGO语言创始于1968年,是美国国家科学基金会所资助的一项专案研究,在麻省理工学院(MIT)的人工智能研究室完成。

ZLOGO是基于Z语言实现LOGO语言功能的编程软件,用了中文易懂的语句代替原先LOGO语言难于记忆的命令,更方便学习者掌握。

官网上下载了ZLOGO4, 按照说明, 解压后就可运行.

按照ZLOGO4教程, 逐步实验.

第一个LOGO程序中, 有"左转60度". 推测默认方向是朝上, 测试了一下"左转0度", 的确如此. 推测"前进200"中的200指的是像素数. 觉得教程中最好说明这些基本的默认要素(包括画线的颜色, 粗细, 海龟行走速度等等).

在运行窗口打开的情况下, 再次"运行"会打开一个新的运行窗口.

代码缩进好像是不严格的. 即使每行开头没有缩进, 也照样运行(后补: 经进一步测试, 过程的第一行允许开头没有空白, 但之后的行不允许). 当然它可以使代码更可读.

在第二个"显示隐藏"程序中, 逗号用来分割两个语句:

    前进50,隐藏

尝试把它分成两行:

    前进50
        隐藏

运行效果相同, 但发现两个问题:

  • IDE里的Tab不等同于多个空格(5-6个空格之间)
  • 如果"隐藏"之前没有空格, 就会弹出"编译信息"窗口并报错:
第4行,第3列错误:
不正确,应该是:

另外, 如果海龟越出了窗口, 比如"前进"太多, 好像运行窗口不能滚动, 或者最大化.

计算功能初步尝试一些合法表达式没有问题. 不过狠了一把试了"前进(2/0)", 好像就不显示了, 也没有报错.

最后的过程部分, 才看到"过程体每一行程序必须以空格开头,使程序的开始列必须大于过程名的列号。"这就解释了上面的报错. 建议将这个警示提到文档开头, 而且反馈信息最好明确一些.

学完教程之后, 试着参照p5js的一个演示程序, 写了个简单的方块螺旋效果图, 当然ZLOGO和p5js不是同类工具, 这里只是参考算法而已.

最大的感触当然是过程没有参数的痛苦, 原本螺旋演示里只要定义一个过程就可以了. 暂时没有在教程中看到这一功能. 如果已经支持, 期待原作者指正.

小结:

虽然距离实用尚有一点距离(本身也是测试版), 但瑕不掩瑜, 已有雏形. 除了过程参数之外, LOGO的经典功能已经具备. 非常期待改进版~~

附上"螺旋.zlogo"源码:

后续: ZLOGO 4与LOGO代码对比实验

2017-11-28

相关文章
|
2月前
|
网络协议 数据挖掘 编译器
C++语言
C++语言
23 3
|
5月前
|
自然语言处理 JavaScript 前端开发
【100 种语言速成】第 2 节:Emojicode
【100 种语言速成】第 2 节:Emojicode
42 0
|
存储 算法 Unix
用一句Halle认识C 语言
用一句Halle认识C 语言
117 0
用一句Halle认识C 语言
|
自然语言处理 JavaScript 数据可视化
中文编程的前世今生
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 写这篇文章前,我想先放一张图 这是 1942 年,人类发明的第一台计算机 ENIAC,它占地 170平方米,按照杭州将近 3 万一平的地价,放它需要花 500 万。
中文编程的前世今生
|
Java 开发者
快速掌握一个语言最常用的50%
现在的开发工作要求我们能够快速掌握一门语言。一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习;其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作。
929 0
|
JavaScript API 编译器
日语编程语言"抚子"-第三版实现初探
对第三版"抚子"语言的源代码进行初步学习. Study the source code of the 3rd version of Japanese programming language Nadesiko.
994 0
|
算法 Linux 程序员
我为什么建议大家一定的会 C 语言
我为什么建议大家一定的会 C 语言
2081 0
P4语言
官网:https://p4.org/ github:https://github.com/p4lang/tutorials   相关文章: P4语言编程快速开始:https://www.sdnlab.com/18072.
1491 0
|
JavaScript 开发工具 前端开发
|
Web App开发 Java C#