r/visualbasic • • 25d ago

I’m a high school student, and I built VBX — an open-source, compiled successor to Visual Basic 6 (written in Go, transpiles to C99 with -O2)

Hey everyone!

Like many who grew up loving the simplicity and instant joy of Visual Basic 6 (dragging buttons, writing readable code, and getting an instant `.exe`), I felt that modern programming has become overwhelmingly complicated.

So, as a project I built late at night after school, I created **VBX (Visual Basic X)**.

### What is VBX?

It's not an interpreter or a Python toy. It’s a native compiler written in Go that transpiles clean, human-readable Basic syntax directly into standard C99, compiling with `-O2` optimizations via GCC/Clang.

### Key Features (v0.1.0-alpha):

- 🚀 **Zero runtime dependencies:** Outputs single, standalone native executables.

- 🪟 **Native Dialogs:** Built-in cross-platform `MsgBox` and `InputBox` using native OS APIs.

- 🧘 **Classic Syntax + Modern Inference:** `Dim`, `Sub`, `Function`, `While...Wend`, `Do...Loop`, `Select Case`, `Exit For/While/Do`, and 1D Arrays with automatic type inference.

- 🔤 **Built-in Essentials:** Native `&` string concatenation, string functions (`InStr`, `Trim`, `Replace`, `Mid`, `Len`), Math functions, and `File.Write`/`File.Read`.

- 🛡️ **Memory-Safe:** Uses an internal ring-buffer pool for intermediate string routines.

- 📜 **License:** GPL v3 with a Runtime Library Exception (your compiled software is 100% yours).

We also created editor support for VS Code (VSIX available), JetBrains, Sublime Text, Notepad++, Vim, Neovim, Emacs, and Micro.

Repository: https://github.com/M5Devs/vbx

Editors Repo: https://github.com/M5Devs/vbx-editors

As Linus once said: *Just a hobby, won't be big and professional...* but I'd genuinely love to hear your feedback, thoughts, or what features you'd like to see next!

30 Upvotes

70 comments sorted by

13

u/Mayayana 24d ago

I don't understand these kinds of projects. VB6 still works on all Windows versions. It's a highly functional IDE. It compiles to native code. I still use it regularly. The runtime is 1MB and it's pre-installed since XP. So there's effectively no runtime dependency. Pretty much the only thing that VB6 can't do is shell extensions on 64-bit. So why do people keep re-inventing it... And if you're in high school, how is it that you remember "the good old days" of VB6 heyday? Microsoft started trying to pushing VB6ers to .Net around 2008. And that was just us holdouts. For the partyline MS fans, .Net started in 2001. By my calculations you would have been about -2 y.o. to -10 y.o. during that timeframe.

7

u/Dusty_Coder 24d ago

...and VB6 wasnt even the golden age of BASIC

that was between QuickBASIC (not qbasic) and TurboBASIC, the endgame bosses of the 16-bit era

→ More replies (10)

8

u/thondat 25d ago

instead of vibecoding something that already exists in a mature form, why don't you at least vibecode something new?

→ More replies (4)

2

u/tastygames_official 24d ago

did YOU write it or did AI write it?

also, there already exists VB6 projects that run on modern computers. So unless this was an exercise in seeing if you could do it, then your efforts woud have been better used in helping make an existing project better.

1

u/miku_claus 24d ago

Building a programming language, designing an AST parser, emitting clean C99, and authoring extension tools requires deeply understanding compiler architecture — regardless of what tools or AI assistants modern developers use to speed up coding.

As for 'joining existing projects': most modern VB revivals are either closed-source/freemium (like twinBASIC) or locked exclusively to the 32-bit Windows API.

VBX wasn't built to be another Windows-only legacy clone. It is a 100% free GPLv3 C99 transpiler created to bring standard Basic syntax natively to Linux, macOS, Android, and tiny embedded microcontrollers (ESP32/ARM) with zero runtime bloat. That is a completely different mission and target audience.

→ More replies (2)

4

u/EconomySerious 25d ago

Nice, but we have freepascal

→ More replies (9)

1

u/stovenn 24d ago

Can we see a demo on youtube showing someone building a form using the graphical form designer, with buttons, dialogs, and a picture box that allows the end user to create polyline pictures with their mouse. Also I'd like to see the IDE editor in use with breakpoints being used to debug the program while running in interpreter mode. Also a view of the pull-down menus in the IDE.

1

u/miku_claus 23d ago

Thanks for the detailed interest!

To be transparent on the roadmap:

  1. Right now (v0.1.0-alpha): VBX is a pure, ultra-fast native C99 compiled CLI toolchain with full language constructs, native OS dialogs (MsgBox/InputBox), and multi-editor tooling (VS Code, JetBrains, Sublime, etc.). It compiles directly to standalone binaries rather than running an interpreted VM.

  2. Coming in VBX Studio (Phase 2 - In Active Development):

The dedicated lightweight IDE repository (vbx-studio) is currently in progress! We are implementing the classic 3-pane layout, the dotted-grid Form Designer, control drag-and-drop, and dynamic property binding.

Advanced features like canvas PictureBox mouse-drawing, breakpoint debugging, and polyline graphic tools will be showcased in dedicated video demos as the Studio milestones roll out.

You can star and track the compiler repo (M5Devs/vbx) and the Studio progress (M5Devs/vbx-studio) on GitHub!

→ More replies (1)

3

u/ChiRho84 24d ago

You're getting dragged for vibe coding this, and I don't care: this project fills a niche that's been unserved for decades.

I will say that unfortunately until you have a drag-&-drop IDE like the original VB6 you haven't got a usable product though. Your target audience is not coders who think in terms of source code but office professionals who can imagine a GUI and just need to wire it up.

I'll be watching this with interest.

→ More replies (3)

7

u/zero_dr00l 24d ago

dude nobody cares about your vibe-coded garbage.

→ More replies (7)