gobasic
deadfrog-lib
gobasic | deadfrog-lib | |
---|---|---|
4 | 2 | |
319 | 13 | |
- | - | |
4.2 | 8.1 | |
3 months ago | 9 days ago | |
Go | C++ | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gobasic
-
TwinBASIC is a modern BASIC compiler
There are a bunch of BASIC interpreters out there, my own isn't so complex or thorough, but I definitely had fun writing it:
https://github.com/skx/gobasic/
My own vision was to reproduce something akin to the ZX Spectrum, rather than the more advanced Microsoft BASIC.
-
EndBASIC
Unusable might be a bit harsh, but I have to say that when I wrote my own BASIC interpreter last year I deliberately concentrated on the line-numbers and facilities of the ZX Spectrum I remembered:
https://github.com/skx/gobasic
Being standalone it doesn't have the graphic support or the interactivity, but it was still a fun project to work upon.
- Commodore Basic as a Scripting Language for Unix and Windows – Now Open Source
-
Why am I wasting time on EndBASIC?
I wrote a simple BASIC too, for nothing more than a sense of nostalgia:
https://github.com/skx/gobasic
deadfrog-lib
-
Minimal Cross-Platform Graphics
I think the Xlib dependency would prevent compilation as an αpε. I put some effort into doing X11 from scratch (without Xlib or Xcb) to make this possible. Or at least, my aim was to be able to build with musl libc and generate a single executable that would run on many different Linuxes.
https://github.com/abainbridge/deadfrog-lib/blob/master/src/.... It is janky though.
-
EndBASIC
Having a bitmap in normal system memory that we can write to the window or screen is easy though and should be more widely supported. Once you've got that you can write pixels, lines, rectangles, mandlebrots etc very easily and building up to a GUI toolkit is also quite easy and fun. This mechanism is fast enough for pretty much everything other than games on modern hardware.
I consider GPU acceleration a form of premature optimization - it adds complexity unnecessarily in many cases.
Here's my library for doing that on Windows and X11. https://github.com/abainbridge/deadfrog-lib
What are some alternatives?
endbasic - BASIC environment with a REPL, a web interface, a graphical console, and RPi support written in Rust
minifb - MiniFB is a small cross platform library to create a frame buffer that you can draw pixels in
yaegi - Yaegi is Another Elegant Go Interpreter
zigzag
array - Simple array language written in kotlin
tigr - TIGR - the TIny GRaphics library for Windows, macOS, Linux, iOS and Android.
olive.c - Simple 2D Graphics Library for C
pixie - Pixie - a minimal, cross-platform pixel framebuffer library for Windows and macOS.