VBAndCs / sVB-Small-Visual-Basic

Small Visual Basic (sVB) is an educational programming language, created by Eng. Mohammad Hamdy as an evolved version of Microsoft Small Basic (SB). It is meant to be easier and more powerful at the same time, to introduce programming basics to kids and beginners of any age, provided that they can use the English keyboard on the Windows OS.
Other
222 stars 16 forks source link

Small Visual Basic is out there but need to be heard of! #8

Open VBAndCs opened 1 year ago

VBAndCs commented 1 year ago

image

Hi everybody. I spent 3 years to get sVB so far: Half a year to make small Basic videos and discover its downsides, 2 years to create Small Visual Basic and evolve it, and half a year to write its full reference book.

1111

SVB has the best of SB, VB6, VB.NET, VS IDE, and even some WPF features, as explained in the provided links. sVB can be easily introduced to kids, but it has more advanced stages to keep the beginner learning more, until he is ready to move on to VB .NET. I did all this work alone, but now sVB needs all the support it can get to reach kids and beginner. It is a huge evolution for SB, and a very attractive entry point for MS DotNet platform, so, I think it worths to be mentioned in the Small Basic website and docs, and promoted to old SB students who stopped at that point and never learned any other programming language. I met some of them who are scared of VS and VB .NET , but seem interested in sVB. Finally, I have suggested all those improvement in SB repo, but no one cared, and this is why I decided to carry on. So please, make use of this hard work. After all, it promotes MS products, after many kids today have been attracted to Python. Thanks:

@Caseysch @Caseysch2 @peterdur @ianfjohnson @AndrewCook @KenOBonnMS @angelavu @mairaw @debbiechang @vtbassmatt @snappydevlpr @xuachen @OmarTawfik @alxnull @allisoninman @yukie1412 @PieterBenjamin @lucjia @kmelmon @jackbernstein @ygrenier @McSherry @nonkit @litdev1 @RichardMurphy @Ed-Price @OmarTawfik @lizbander @jackbernstein @anabeatrizsouza @dharnesk @Phing1337 @dweinshenker @umaanbazhagan @parthhacks @MicahElizabeth @nancyz1031 @sharwell @jaredpar @mavasani @jasonmalinowski @tmat @333fred @genlu @heejaechang @dibarbet @Youssef1313 @AlekseyTs @jcouv @agocke @jmarolf @JoeRobich @OmarTawfik

VBAndCs commented 1 year ago

An introductory video about sVB.

sjsepan3 commented 1 year ago

Wikipedia presence:

Check out this list of programming languages on Wikipedia; SmallBasic is there, but to edit the list and add sVB under it seems to require the prior existence of a Wikipedia page about sVB itself. Just something to consider...

Steve

sjsepan3 commented 1 year ago

Rosetta Code presence:

Here is another way to get sVB 'on the map'... Microsoft Small Basic is out there on Rosetta Code. You could create a category for sVB, and folks could fill out solutions.

Steve

sjsepan3 commented 1 year ago

I was unable to find a way to send a private message, even on Twitter, so I'll post this here for your input...

Mohammad Hamdy Ghanem, I thank you for all the prompt responses to issues on the Small Visual Basic repository. I finished writing a small project in sVB to test out the language. (The project is posted publicly at https://gitlab.com/sjsepan/sVBApp1). As there were some IDE issues discovered during development, I fell back to working with my favorite editors (VSCode and VSCodium), using a SmallBasic extension written by @alxnull. Interestingly, due to the way that your system is designed, it is possible to do the visual design in the sVB IDE, which is then saved in the XAML file, and then work on the code in the .sb file with VSCodium. Anyway, while the SmallBasic extension was adequate for me to do a lot of the coding, when I finished I decided to make a fork of the extension and try to extend it to recognize more of the sVB syntax. While I am a novice at tinkering with vscode extensions, it worked out fairly well, and I have an extension project that gives slightly more feedback than the original extension. While neither the original Small Basic extension nor this Small Visual Basic extension are backed by any kind of true Language Server Protocol server, they do provide some color syntax highlighting and code snippets. Note that while the sample project is posted publicly, the vscode extension is not yet posted publicly. This is because 1) I used an icon from your IDE project in the README page of the extension and wanted to ask your permission before displaying it, and 2) I wanted to solicit your opinion of the description of the extension, which mentions you and your project. I have two screenshots, one of the private view of the extension page on Gitlab (Figure 1), and one of the README page of the extension as it appears in VSCodium (Figure 2). You may be surprised to see me enabling this means of editing Small Visual Basic, but I think that it could be considered yet another avenue by which sVB programmers could eventually ‘graduate’. Anyway, let me know what you think...

Stephen J Sepan Github: @sjsepan3

Figure 1 gitlab-vscode-smallvisualbasic

Figure 2 vscode-smallvisualbasic2

VBAndCs commented 1 year ago

@sjsepan3 I already mentioned sVB in the history part of the Small Basic page in Wikipedia with a link to GitHub. But creating a full page about sVB needs some time to format the page and represent info in an acceptable way for Wikipedia . I never heard of Rosetta Code, but thanks for the suggestion.

VBAndCs commented 1 year ago

@sjsepan3 This is great. Thanks for your efforts. I thought about the VS extension before, but SB is created in the first place to make kids avoid the VS complexity. Though, I am happy with this addition to sVB, and it can help introduce sVB to VS code users. Feel free to reuse any sVB resources. I think you should omit my name from the description and use only Small Visual Basic. After all, there is only one sVB basic until now :D By the way, I use VB .NET not VS code, and I don't expect this extension to work with VS .NET. Thanks for all the time and effort you are giving to sVB.

VBAndCs commented 1 year ago

@sjsepan3 I downloaded your sVB app1, but the Global.sb file is empty, so, I got errors.

sjsepan3 commented 1 year ago

I downloaded your sVB app1, but the Global.sb file is empty, so, I got errors.

I will check my Git, to make sure it got checked in properly

UPDATE: I've somehow got the code in two different folder levels, and the globals is blank in one. I need to clean up that structure -- not sure what happened there -- maybe copying from Win7 in VBox over to my Linux Mint.

VBAndCs commented 1 year ago

@sjsepan3 You can contact me on my email, which is mentioned in the about the author section in the book.

image

sjsepan3 commented 1 year ago

@VBAndCs

Thanks -- I overlooked that email.

OK, I've cleaned up the repository. It was quite a mess after the 0.1.1 update. I would delete what you downloaded and start clean.

Steve

sjsepan3 commented 1 year ago

@VBAndCs

OK, I've made the modifications to remove your name. The extensions is now public on GitLab

VBAndCs commented 1 year ago

@sjsepan3 Cool :100: Note that the VS Code Marketplace link is broken.

zimaamzayn commented 1 year ago

@VBAndCs Bro Peace be upon you (أسلم أ عليكم). You should add some sort of Tags like ( visual programming language, basic-programming, etc ) to github repositories also Make a github Page by making your VBAndCs.github.io repositories and navigate to setting then to pages and deploy it.

And I would recomend you to make some IDE for Haxe programing language as it has best support for building application for most Platform. https://haxe.org/ https://www.openfl.org/ and https://lime.openfl.org/ the core frameworks for haxe enable to make desktop, web, Flash and Android apps. http://haxeui.org/ the cross platform ui library for haxe use Openfl.

Hope this help and All The Very Best For Your Feature Programming.

zimaamzayn commented 1 year ago

Is there any discussion community (Like Discord ) for sVB general discussion I need to ask advice about how to do that cannot be done in github as it is made for Issue related bug.

VBAndCs commented 1 year ago

Welcome @zimaamzayn وعليكم السلام I've enabled the discussions section, so we can share ideas and questions about sVB. Thanks.

sjsepan3 commented 1 year ago

@sjsepan3 Note that the VS Code Marketplace link is broken.

Thought I had replied to this, but I see I haven't -- Yes, I need to work out how to do Publishing to the Marketplace one of these days... :-)

litdev1 commented 10 months ago

Hi,

I have made a couple changes and managed to get my LitDev extension to work with sVB.

SVB

I have uploaded this to my website as a Beta version 1.2.25.0.

Beta

The way I implemented this extension was to work with GrahicsWindow and other features of SmallBasicLibrary using reflection, rather than your approach to rewrite it. Therefore various methods in the extension that interact with SmallBasicLibrary like GraphicsWindow etc won't work, but the other stuff should.

One last thing - I am starting a Small Basic forum (very ealy stage), and if you would like a thread for sVB let me know.

litdev1 commented 10 months ago

Unfortunately differences in SmallBasicLibrary.Primitive and SmallVisualBasicLibrary.Primitive prevents arguments and therefore pretty limited use. :frowning_face:

litdev1 commented 10 months ago

Did a bit more work and here is a version for test with sVB. Stuff that doesn't work is probably due to differences in implementation between SmallBasicLibrary and SmallVisualBaiscLibrary, for example extra argument on Shapes.GenerateNewName (I handle this one but sure there will be more).

My simple test with a basic graphics and physics test.

TBZF977.000

VBAndCs commented 10 months ago

@litdev1 Thanks for this great effort. It would be nice to have a sVB thread in your forum, although forums are not so popular these days. You may want to look at this SB group on Facebook: https://www.facebook.com/groups/58053367137 I am not a fan of LitDev and don't feel like it a good tool for teaching programming for beginners, nor a useful tool for professionals as SB and sVB both are not meant for professionals. But, maybe I can offer something to make sVB more backward compatible with SB, by adding two implicit CType operators to convert between sVB.Primitive and SB.Primitive, so that data can be passed between sVB and SB extension libs. I expect that this may solve all your issues. I will give it a try. Thanks.

VBAndCs commented 10 months ago

@litdev1 Unfortunately, creating a CType operator will need to include both sVB.Primitive and SB.Primitive with each sVB app, which is not necessary for most of them. The only solution and the easier one is to create a LitDev version that targets the sVB lib. Thanks.

litdev1 commented 10 months ago

Fair enough, that is exacly what I did. Anyway I have moved the download link for it on my website if any sVB users want it - the physics engine and 3D (PXLC585.000) both tested and work nicely.

chenyulue commented 8 months ago

I'm a Chinese user. Now sVB seems only to support English, which makes sVB hard to learn for my kids. In contrast, SB supports the simplified Chinese, and my kid can do some exercises on his own.

So one way to make sVB available to more kids is to add multi-language support. I'm happy to join this work if you have any plans.

VBAndCs commented 8 months ago

Thanks for your feedback.

What exactly you mean by Chinese support?

if you mean translating the popup help info about types and methods, you can do that by translating the "SmallVisualBasicLibrary.xml" file that exists in the bin folder in the sVB installation folder.

But errors messages need to create multi language resources. or simply, you can fork the sVB source code, and translate such messages to Chinese, then compile your localized version.

The souce code is open, so, anyone can fork it and make any changes he wants.

Currently, I have no intention to evolve the language in that direction. The most important features to me is to activate the debugger and to create an android version on the language to work on tablets. Both task need a lot of work, and I has no time currently.

Besides, I have to access to this repo in the mean time, because issues with the 2 factor authentication, so, sVB is al yours. Fork it and go a head.

Thanks.


From: chenyulue @.> Sent: Thursday, November 16, 2023 8:38 AM To: VBAndCs/sVB-Small-Visual-Basic @.> Cc: Mohammad Hamdy Ghanem @.>; Mention @.> Subject: Re: [VBAndCs/sVB-Small-Visual-Basic] Small Visual Basic is out there but need to be heard of! (Issue #8)

I'm a Chinese user. Now sVB seems only to support English, which makes sVB hard to learn for my kids. In contrast, SB supports the simplified Chinese, and my kid can do some exercises on his own.

So one way to make sVB available to more kids is to add multi-language support. I'm happy to join this work if you have any plans.

— Reply to this email directly, view it on GitHubhttps://github.com/VBAndCs/sVB-Small-Visual-Basic/issues/8#issuecomment-1814003607, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALQ5MVUXEMCTBPBW5WFSCVDYEXGHJAVCNFSM6AAAAAAYDL5SO2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGAYDGNRQG4. You are receiving this because you were mentioned.Message ID: @.***>

chenyulue commented 8 months ago

That's really what I want. Thanks! I'll try it according to your suggestion. And I'm glad to know there will be an android version. Looking forward to it.

VBAndCs commented 5 months ago

I just published the first book of the "Small Visual Basic Kid Programmer" series on Amazon: https://www.amazon.com/dp/B0CVK1BMC9


From: chenyulue @.> Sent: Thursday, November 16, 2023 8:38 AM To: VBAndCs/sVB-Small-Visual-Basic @.> Cc: Mohammad Hamdy Ghanem @.>; Mention @.> Subject: Re: [VBAndCs/sVB-Small-Visual-Basic] Small Visual Basic is out there but need to be heard of! (Issue #8)

I'm a Chinese user. Now sVB seems only to support English, which makes sVB hard to learn for my kids. In contrast, SB supports the simplified Chinese, and my kid can do some exercises on his own.

So one way to make sVB available to more kids is to add multi-language support. I'm happy to join this work if you have any plans.

— Reply to this email directly, view it on GitHubhttps://github.com/VBAndCs/sVB-Small-Visual-Basic/issues/8#issuecomment-1814003607, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALQ5MVUXEMCTBPBW5WFSCVDYEXGHJAVCNFSM6AAAAAAYDL5SO2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJUGAYDGNRQG4. You are receiving this because you were mentioned.Message ID: @.***>