basic语言目前还有用吗,basic语言入门

首页 > 经验 > 作者:YD1662022-10-29 17:52:35

BASIC语言能不能和C系列语言完美兼容?

basic语言目前还有用吗,basic语言入门(1)


现在比较成熟的语言,除了汇编语言之外。
要么跟C语言类似,要么像BASIC语言。
BASIC语言现在也就VB、VBA、VBS还在使用。
而别的语言几乎全是C语言近似的写法。
还有一些像SQL、Dephi、Luna之类的,
语法跟BASIC高度相似,却又有C语言的一些特征。
我在这里是按相似度把它们分为B和C两个系列,不是指某种语言。

那么BASIC和C系列语言的明显区别在哪里呢?
C系列每一句代码后面都是分号,VB、VBA、VBS却是换行。
当然VB里也可以使用冒号代替,这是它们语句分割符的不同。

然后是C系列使用的符号多一些,B系列使用语句多一些。
下面使用表格简单的比较一下两类语言符号的差别。

C系列

BASIC

中文释义

-

*

*

/

/

|

or

^

xor

异或

&

and

%

mod

求余

自加

--

自减

!

not

=

=

赋值

==

=

等于

!=

<>

不等于

<

<

小于

>

>

大于

>=

>=

大于等于

<=

<=

小于等于

>>

右移

>>

左移

||

or

或者

&&

and

而且

0x

&H

十六进制

f

!

小数

&

整数

%

整形

^

乘方

除了上述这些差别,还有B系列以什么语法开头往往以End什么结尾。
比如if到end if 还有sub到end sub等等,很多这样的。
而C系列则是{开头,}结尾,或者说这叫一个片断吧。


那么哪一种更简单呢?很多人会说是BASIC。其实不对
VB的代码是最简短的,注意是代码不是语法。语法上明显C更简短。
比如and、xor、mod,换成C写法只用一个字符号,B写法是五个字。
有人说这明明三个字,怎么是五个字,因为它们前后必须加空格。


如果你写a&b在C系列里是没问题的,而BASIC里不加空格aandb显然是不行的
再比如then也没有)简短,End Function也没有}简单。
那么申请变量VB是“Dim a as byte”,C写法则是byte a;


也不用再多作比较了,用VB的人肯定不服气,“VB代码就是比别的精炼”
我自己使用VB十几年,出于种种原因,比如VB多线程和并发处理有点差,数据类型有点少,不能用指针等等。


我尝试学习C 却一直难以入手,毕竟习惯VB了。我之所以要自己设计编程语言,当初也是想尝试换一种语言。


所以在自己定义编程语法时,几乎是完全模仿VC的路线,而IDE界面则是跟VB一样。
相比之下VB的界面设计全球最好,没有之一。但在语法上则有一个“执念”要换不一样的。


为什么非要跟VB“划清界限”,就是不想让人说我的语言就是用VB中文版。
因为我是直接生成机器语言的,跟任何编程语言都没关系,包括汇编。
而像易语言、vs系列、gcc、go、gun、python、JAVA、等则是翻译型或解释型语言。


我完全没有炫耀的意思,就是说我的编程原理不依赖任何语言,不依赖系统。(只是你要写win软件时依赖)


我也可以在Linux、安卓、苹果、塞班等系统下,甚至用单片机开发win系统的软件。(别的语言没这功能吧)


不过话说回来,这有什么用,半夜在被窝里,用手机写软件,还不能在手机上测试,发电脑上才能用?


随着我设计的编程语言一步步完善,就发现C写法也是有很多不合理的地方。(VB用户来点精神!!)


比方说判断语句,在C系列是“switch”,在B系列里是“Select Case”
VB可以用逗号分割多个条件,还可以用“1 to 10000”,一到一万,同时再加逗号。


而在C系列语言里根本没有这种写法。“只能”是一次判断一个条件。
既然是一个条件,代码后面必须加break之类的跳出。不加的话,后面代码全部都会执行。


这叫怎么理解,“单条件”判断某个数,如果等于1,则执行等于1这个条件的代码
同时其它不等于1的条件代码也会全部执行。这叫什么逻辑,太让人无语了吧。
那C语言为什么要用break,它内部直接给“加”上不行吗?因为它真的有用。


如果你不加break,可以直接写下一个条件判断,只要没这句,它就会继续走
那就可以实现“多条件”了呀,但是1到一万的怎么办?判断是否为1,是否为2的代码,一直写到一万……


真的只能这样了。从这一点上来说,肯定是VB的语法更好用一些,那么我就也支持逗号加多条件。“一到一万”,不是用to而是用~,这个英文符号就是表示几到几的。之所以不用-是防止和减号混淆。


还有C系列语言里,=和==,|和||,&和&&意思是不一样的,=不是等于,==不是等等。
不过VB里却没有 、--、 =、-=、*=、/=之类的写法,毕竟写法简单,我自然是会支持的。
不过我在支持的同时,也更灵活:可以用a 5;B*c;d/10;这种写法,注意这是三句独立代码
这样才更符号“语言”逻辑呀,A加等B,B乘以等于C,多别扭啊。直接a加3,b乘5,C除以D才通顺。


包括那些分号、括号之类的,真正的作用就是区分一句话。任意符号包括换行也能把语句区分开。所以我就没把这些条件限制得很死,只要能达到区分的目的,不一定非得用分号啊。


那么重点来了,在我的语法里,空格总要有吧,而且在哪里的空格都要处理。
它在VB里是用来区分变量、关键词等“名称”,C里面也一样啊。再有换行在C里也有啊
也一样能区分两个语句,那么我不再严格规定使用符号了,用VB的写法,一样通行啊。


搞了这么久,一直在跟VB“划清界限”,结果还能用VB的方式来写,那我这又是何苦呢?
能兼容不是更好吗?当然了100%兼容是不可能的。就比如VB的有些写法,and、xor还是太长了。毕竟符号只有一个字,还不强制加空格。用英文又太长,用中文也许可以,比如then太长,用“则”就可以啊。还有and可以用“与”,or可以用“或”,一个英文字搞不定,汉字肯定可以。(不过能用符号肯定比打汉字要容易)

于是乎我终于改变思路,再也不“排斥”VB了,毕竟是伴随我十几年的语言,它的长处我也相当了解。我在吸纳接受VB优点的同时,却要跟它“撇清关系”,实在是太不应该。我也不再反感别人说我这是VB中文版了。


还可以大方的承认,这就是“VB中文版”,而且解决了VB很多不完善的地方,这也是我一个VB“老手”的经验之谈。我这么多年来,之所以要自己做编程,不就是要突破VB的局限性?要是VB能达到我的需求,我又何必放弃那么熟悉的语言,来走这条完全“摸黑”的路?


最后我再规劝一下在各个不同领域“坚守”的编程爱好者,不要再有门户之见,作为中国人为了给国外的软件分高下,而争的面红耳赤,甚至恶语相向,实在是没必要。还有那些不喜欢英文编程的国人,也不要极力排斥国外的东西。我开发这个SEC中文编程,也是全面兼容英文的。毕竟网上能复制下来的代码,几乎都是英文的。能直接拿来用不更好吗?我既能兼容英文又能写中文代码,既能兼容C系列语言,又能兼容B系列语言,不也是挺方便的吗?

截图示范一下,原本代码里分号特别多。

basic语言目前还有用吗,basic语言入门(2)

我把代码里的分号全部都去掉,试试效果。

basic语言目前还有用吗,basic语言入门(3)

然后编译运行都没有问题,如果那里不用括号而是空格,后面是“则”,英文的就不再继续演示了,用“then”也是可以的。“绘制弹窗 ~ 绘制静态”这种代码写法,也是VB里才具备的,就是把所有要绘制的“小窗口”,都指定为18号粗宋体,运行后列表、标签、文本框,按钮都变成这种了。

总之“兼容”也不是要完全一模一样,哪种好用,书写方便就怎么来。用中文容易看懂,用英文输入快,所以“国产编程”就应该是包容的发展。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.