基于前文中文编程语言之Z语言初尝试: ZLOGO 4的一些评论, 此文尝试作一个非常简单的代码对比, 使讨论更加有实例根据. 下图是节选自前文最后的示例代码, 由于选取的对照LOGO版本 (alancsmith.co.uk/logo/, 2002年第一版) 不支持单行内多条语句, 特意将所有语句分行编写. 另外, ZLOGO暂不支持循环, 因此也不使用LOGO中的循环语法.

之前有评论中提到有的LOGO版本支持"FD 10", FD应该是Forward的缩写. 在现今的代码风格中, 一般将可读性放在追求代码简短之前, 而且在硬盘价格白菜价的今天, 一般只有几KB的源代码文件完全不需要考虑占用硬盘的问题. 选取的这个版本的LOGO的关键词更可读也更与ZLOGO接近.

下面是一些个人的观感:

  1. "色"和"度"的后缀使用, 使这些操作的语义更加一目了然.
  • "SetPenColour 0"还需要额外记住0对应的是白色, 2是红色.
  • 因为和"Foward 20"的结构相似性, “Left xx"给我这样的LOGO新手的第一感觉是"向左走xx(长度)”, 转念才意识到这是"左转xx度"的意思.
  1. "前进"和"左转"这样长度相同的词语使得代码看上去相对于使用"Forward"和"Left"更加齐整.
  2. SetPenColour这样的Camel风格是为了使一个关键字能够包含多个单词而采用的一种风格, 也在很多主流编程语言中常用, 它比全大写更加可读. 但在英文自然语言中, 这种风格几乎已经不再使用. 另外, "Left xx"在英语自然语言中是"Turn Left xx degrees"的意思, 这里已经大大简写了. 相比之下, ZLOGO中的词法语法基本与中文自然语言一致.
  3. 还是SetPenColour, 由于这个版本是英国开发者编写的, 它使用了英式英语拼写"Colour", 而不少中国人学习的应该是美式英语, 这种微小的差别很容易导致误写.
  4. 在两者自带的几乎是纯文本编辑器的开发环境中编写代码的过程中, 代码输入的时间远小于测试/查错/调整算法的时间, 而且不少代码段是拷贝粘贴生成的. 个人感觉英文输入的笔误率大于中文的(本人的一个Forward写成了Foward).

写到这里, 发现这个版本还是支持简写的, 于是一并比较(右侧):

上面的#1和#3仍然适用. 另外, “FD/LT"相对于"前进/左转”, 个人觉得后者更加对中文用户友好. 当然, 以少儿的优良记忆力, 这些一眼看去无意义的缩写也可以在不明白其原意的情况下在短期内记住.

但如果写了这个代码之后, 不碰LOGO语言, 半年后再看这段代码, 或者十年后再看呢? 恐怕又要重新查一遍用户手册. 当然可以说, 这只要供小学生学两个学期而已以后不可能再碰了, 但如果有一种无论放下多久再拿起时仍然一目了然的语法设计(甚至对于完全不懂LOGO的人), 又何乐而不为呢?

中英文代码对比之ZLOGO 4 LOGO相关推荐

  1. 2017-12-01 中英文代码对比之ZLOGO 4 LOGO

    基于前文中文编程语言之Z语言初尝试: ZLOGO 4的一些评论, 此文尝试作一个非常简单的代码对比, 使讨论更加有实例根据. 下图是节选自前文最后的示例代码, 由于选取的对照LOGO版本 (alanc ...

  2. java中英对比_2017-11-09 中英文代码对比系列之Java一例

    这个系列将对同一段代码进行中文命名和英文命名两个版本的比较. 目的包括, 演示中文命名, 发现命名时可能遇到的问题, 探讨代码风格(中文命名的'套路')等. 示例中的命名风格仅基于个人非常有限的实践, ...

  3. 《用Python写网络爬虫第2版》PDF中英文+代码分析

    互联网包含了迄今为止最有用的数据集,并且大部分可以免费公开访问.但是,这些数据难以复用.它们被嵌入在网站的结构和样式当中,需要抽取出来才能使用.从网页中抽取数据的过程又称为网络爬虫,随着越来越多的信息 ...

  4. 代码对比工具,我就用这 6 个!

    在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍六款程序员常用的代码比较工具. WinMerge WinMerge是一款运行于Windows系统下的文件比较和 ...

  5. java大批量文件对比_推荐 | 这 6 个代码对比工具用过的都说好!

    文章字数:700 干货指数:⭐⭐⭐⭐⭐ 导读:在程序开发的过程中,需要经常对源代码以及库文件进行代码对比,给大家推荐6个常用的代码比较工具. 01WinMerge WinMerge是一款运行于Wind ...

  6. 代码对比工具:我最喜欢用的还是这几个

    点击上方"Java学习之道",选择"关注"公众号 每天早晨,干货准时奉上! 本文作者:yueliang2100 链接:blog.csdn.net/yuelian ...

  7. [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  8. 以Listener和Talker为例ROS1和ROS2代码对比

    以Listener和Talker为例ROS1和ROS2代码对比 flyfish 环境 Ubuntu 18.04 ROS 1 Melodic ROS 2 Bouncy 使用命令创建包 ros2 pkg ...

  9. 【效率】代码对比工具,我就用这6个

    编者荐语 程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍六款程序员常用的代码比较工具. 载自丨小白学视觉 WinMerge WinMerge是一款运行于Win ...

  10. 程序员代码对比工具,就用这7个

    前言 在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍7款程序员常用的代码比较工具. 一.WinMerge WinMerge是一款运行于Windows系统下的 ...

最新文章

  1. 华为热设计工程师待遇_华为给985毕业生开2万元的工资,是侮辱价?还是不自量力?...
  2. EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法
  3. SoftGrid教程——综合应用
  4. mysql中主键的用法_MySQL中的主键以及设置其自增的用法教程
  5. MIT6.830 lab5 B+ Tree Index 实验报告
  6. 实战MEF(4):搜索范围
  7. 极客大学架构师训练营 系统架构 一致性哈希 Consistent Hashing 第五次作业
  8. android 位移传感器 坐标,鼠标的工作原理及位移测量的实现方法
  9. c语言如何用编译器编辑,C语言编译器怎么用,C语言编译器使用教程
  10. 【新书推荐】杰夫·惠勒:帝泉传奇系列(共3册)
  11. UE4大数据可视化教程(10)——设置背景音乐和播放MP3格式音乐
  12. 网页设计——美食博客
  13. 微星GT77HX-13VI2023原厂Windows11重建F3一键恢复msirestore功能
  14. 计算机表格的名次怎么弄,excel表格怎么给成绩排名
  15. 梯度类算法原理:最速下降法、牛顿法和拟牛顿法
  16. 2019年个税计算excel模板
  17. AICS188-Project6-Q1-Q3
  18. redis高并发之秒杀活动解决方案
  19. platform驱动的probe过程
  20. 通过Z-Order技术加速Hudi大规模数据集分析方案

热门文章

  1. 毕业四年年薪200万是怎样的一种体验?
  2. 计算机工程中级职称怎么考,以前中级职称是要考什么计算机-计算机软考中级职称哪个好考...
  3. libguestfs java_rhel7.0(libguestfs) 挂载windows虚机镜像
  4. 计算机考试彩虹云朵,抖音王源彩虹云朵歌曲歌词完整版
  5. Fixing DSDT
  6. 超低延时行情系统的设计方案及实现方案
  7. 网站被劫持怎么办,怎么解决?
  8. oracle数据库变为只读状态,oracle只读模式
  9. GB28181协议视频流媒体平台中国标设备编号和通道国标编号标记唯一的摄像头|视频|镜头通道
  10. iOS开发-Tom猫