Would MS introduce Small Visual Basic to kids?

Small Visual Basic 411 Reputation points
2022-09-15T22:15:54.3+00:00

I've built Small Visual Basic (sVB) on top of Small Basic, with many enhancements in syntax and code editor, in addition to an easy to use form designer and a small windows forms library.
sVB is still a dynamic language, but it offers good support for basic data types like String, Double, Date, Array and Color by inferring the variable type from its initial value.
sVB is semi object oriented, as it makes variables act like objects by accessing extension methods from Text, Math, Date, Array, Color and Control classes. All of this happens behind the scene to make the code shorter and easier for kids. The kid has only to drag a TextBox and a Button on the form, double click the button to switch to its click event handler, and write the code directly, such as:
TextBox1.Text = "Hello sVB!"
The source code of sVB is fully written in VB .NET:
https://github.com/VBAndCs/sVB-Small-Visual-Basic
So, can MS introduce this enhanced version to kids?
It is compatible with SB with a few breaking changes (esp variable domains), and it can be more attractive to nowadays kids, that kept asking me about opening new forms, dealing with dates, and using AI (the latter is still missing of course, and this is why kids are eager to learn Python, and thi sis why I am thinking of some support of ML.NET in sVB in the future!)

Small BASIC
Small BASIC
A programming language created by Microsoft that serves a stepping stone for beginners from block-based coding languages to more complex text-based languages.
277 questions
{count} votes

24 answers

Sort by: Most helpful
  1. Small Visual Basic 411 Reputation points
    2023-05-15T06:08:02.8666667+00:00
    2 people found this answer helpful.
    0 comments No comments

  2. Small Visual Basic 411 Reputation points
    2024-02-09T05:35:53.3066667+00:00

    In sVB 2.9, The form designer now has a menu designer, which allows you to add menu items and set their properties like name, title, and shoutcut keys. To show the menu designer, right-click the form surface and click the "Menu Designer" command from the context menu. 1d

    After closing the menu designer, menu items willl appear on top of the form designer, where you can click any of them to add its OnClick event handler to the code editor. You can also double-click main menu items to add its OnOpen event handler to the code editor. User's image

    Using the designer to set the shortcut keys for the menu items makes the form auto-handle these keys for you without having to write any more code for them. See the "sVB Notepad 2" application in the samples folder, where the menus are created by the menu designer, and compare that to the rewrote the "sVB Notepad" application where they are crated by code.

    1 person found this answer helpful.

  3. Small Visual Basic 411 Reputation points
    2024-02-13T02:11:58.98+00:00

    I just published the first book of the "Small Visual Basic Kid Programmer" series on Amazon. sVB1

    1 person found this answer helpful.

  4. Small Visual Basic 411 Reputation points
    2024-05-01T07:31:55.0733333+00:00

    Small Visual Basic 3.0 says: Happy BASIC 60th anniversary to all!

    sVB 3.0 has a stable debugger plus many other improvements.

    The language now is complete. I hope you find it useful.

    User's image

    1 person found this answer helpful.
    0 comments No comments

  5. Small Visual Basic 411 Reputation points
    2024-05-05T00:05:34.1533333+00:00

    I just released a new update to sVB (v 3.0.2) with 2 important new features:

    1. sVB Lib folder now includes the LitDev library, so you can use it directly in your code. It is written for sVB so it actually works!
    2. sVB finally can run a subroutine in a new thread by using it as a handler to the Thread.SubToRun Event, which is not actually an event, but it will run the subroutine immediately in a new thread. So, you can set the handler of this event as many times as you need (but don't exceed 100 thread). Ex:
    Thread.SubToRun = Task1
    Thread.SubToRun = Task2
    

    Ti see this in action, import this version of the "Mandelbrot Set" by the ID: KTWP743.000

    I am using 30 threads to draw the shape you see in the picture, which saves about 35% of the time.

    لا يتوفر وصف للصورة.

    This is the code that run the threads:

    For Y = 0 To GraphicsWindow.Height Step 20
       CurY = Y
       Thread.SubToRun = DrawPixel
    Next
    

    Take care not to create too many threads (at most 100 threads and the lesser the better) because that can make your system hang or block some of these threads.

    Note also that you can't pass arguments to the handler, so you will need to use global variables. This method will pause your code for 10ms to allow the new thread to start and read the global variables, but if this is not enough, you may need to call Program.Delay to increase the delay.

    The sVB samples folder has a more advanced version of the "Mandelbrot Set" project.

    1 person found this answer helpful.
    0 comments No comments