retsyo / BadWordsOnFreebasic

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1. 问:你为什么写这个

答:恨铁不成钢。

2. 问:你是不是对BASIC语言有偏见

答: 不是只有FreeBASIC才是BASIC语言。要论遵守BASIC的原意(你知道BASIC语言名字由来嘛?是Beginner's All-purpose Symbolic Instruction Code,即“初学者通用符号指令代码”的首字母缩写词),我觉得易语言都比FreeBASIC更忠诚。啥?你说这是因为易语言是VB的汉化版?可拉倒吧,去看看编译原理的资料吧

3. 问:你觉得FreeBASIC哪里不爽?或者说希望FreeBASIC有哪些新功能/提供哪些库?

答: 按顺序为

  • 因为我平时经常处理的数据类型,是字符串,所以BASIC/C这种古董语言的方法(函数名放最前面),写着累、看着也累。希望引入python的索引以及(注意,这里是“and”,不是“or”)切片、索引/切片下标支持正数/负数/步长/省略下标/省略步长、函数级联
  • 对字符串/数组等,提供 for each,要知道VB都提供了
  • 字符串插值(String Interpolation),要知道VB都提供了
  • 原生字符串、多行字符串。当然这会让传统BASIC用户不舒服,因为他们很害怕把单引号'(传统上用作注释开头的符号)用掉。那就用反引号 ` 呗。不过我个人是喜欢单引号、双引号、三个单引号、三个双引号的字符串;注释嘛,我觉得# 蛮好,//也不错
  • 我平时处理多的,是WORD、EXCEL文件。FreeBASIC除了通过COM,几乎没法读写。啥?土豪你有LibXL
  • 即便FreeBASIC通过COM读了EXCEL文件,也没有pythonpandas那样的处理库——当然,这确实有点难为FreeBASIC了,因为没几个语言有这样的库
  • 索引/切片不仅适用于字符串,而且适用于其它可索引/迭代对象
  • 函数级联操作不仅适用于字符串,而且适用于其它对象。等等,你说我提到了“对象”,而FreeBASIC并不是面向对象的语言?那就使用统一函数调用(Uniform Function Call Syntax ,UFCS)呗;这个特性,D语言、Nim语言等等都提供了
  • 对字符串/数组等,提供 in 判断元素在不在里面
  • Elixir语言的魔符(Sigil) 字符串

4. 问:你提到的操作,FreeBASIC可以实现效果

答: 你用汇编语言写代码嘛?它也可以达到C、FreeBASIC代码的效果。

5. 问:觉得不爽,你咋不去完善FreeBASIC

答:

  • 我早过了激情燃烧、万事手搓的年龄。作为非IT工作者,工作中需要使用快速、实用、适用、稳定的工具;不可能发现问题,自己还去追踪、分析、查看编译器、库这样的底层
  • FreeBASIC官方和部分用户,不愿意看到FreeBASIC引入新语法
  • 我猜测无法方便地修改FreeBASIC自身的祖传代码,以便支持新语法
  • 我认为软件测试、提需求、提bug,也是对软件发展的有益环节。工具/软件/库,越多人用,越可能暴露问题,越可能快速发展;否则永远只是自娱自乐的玩具

6. 问:你的提议,破坏了BASIC语言语法的纯洁性!

答:纯洁性?一个字回答的话,那就是“呸”。 详细回答的话,如果引入不兼容的改动,能提供更高开发效率,有何不可?!

要知道FreeBASIC自身都背叛了自己的初衷:与微软的QuickBASIC兼容

总之,若论遵循传统,FreeBASIC已经是一个怪胎了,它背叛了BASIC(你知道BASIC语言名字由来嘛?是Beginner's All-purpose Symbolic Instruction Code,即“初学者通用符号指令代码”的首字母缩写词),试图成为强大的语言时,引入了不少C语言语法习惯。但这个披着BASIC语言外衣的C语言,既没有达到VB的易用性从而吸引新手,也没有在专业的IT圈内吸引太多专业人士。就那么一点用户量,在乎啥破坏性更新?人家Python2到3、Go、zig语言都不怕。

7. 问:你觉得FreeBASIC未来会发展到什么程度?

答: 如果不发生奇迹的话,那就是只能用“一如既往”描述。如果非要给这个描述加上一个期限的话,我觉是无限期。

论坛帖子 中 coderJeff 提到1.20版本的开发,他说要关注开发真的项目,而不是单纯FreeBASIC自身。不知道这是不是FreeBASIC官方想法。很可惜,FreeBASIC诞生的目的只是为了再生QuickBASIC;逐步发展出了一些新功能;但是基本长期上踯躅不前。前期错过了开发稍微大一点的项目、提供给用户使用,然后用户找bug、提意见的发展过程。不知现在还能不能迎头赶上。

8. 问:你没有觉得FreeBASIC哪里爽?

答: 有两处

9. 问:我觉得你在找碴

答: 嘴巴、大脑是你的,没人阻止你这样说,请便

About