Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

ekbass.github.io/BazzBasic

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
EkBass



Anmeldungsdatum: 21.01.2026
Beiträge: 6
Wohnort: Finland

BeitragVerfasst am: 21.01.2026, 17:49    Titel: ekbass.github.io/BazzBasic Antworten mit Zitat

Hello.

I understand that this site is intended for FB/QB programming languages.

However, I thought that no one would mind if I quickly told you about my BazzBasic interpreter, which I have been working on here whenever life itself has given me the opportunity.

It does not compete with FB, it is built with a very different idea in mind.



While BASIC for sure is not having its best days, I still believe it will last at least another 60 years.

For years, I have thought to create my own BASIC dialect, but life, work and such has moved my plans.

Now I finally am moved to the point where I can actually tell about it in public.

BazzBasic

Many of today's experienced programmers started in the 80s by familiarizing themselves with the BASIC interpreters that came with home computers of the time.

The movement of a yellow ball on the screen, a program that printed lottery numbers, a handwritten text adventure... the list is endless.

All fueled by one thing: Curiosity.

Unlike many programming languages, BazzBasic does not aim to be the most powerful or versatile tool.

It is also not a clone or a remake of any previous BASIC programming language.

It is intended to be easy, fun, and provide those small but significant moments of success that early BASIC programming languages offered decades ago.

But with a slightly more modern twist.

Here is classic Eliza program written in BazzBasic: Eliza.bas

BazzBasic is open source project released under MIT license.

I hope you give it a few minutes, even while it is not yet fully finished.
But I moved on with it with pretty good, and Im aiming to ger ver. 1.0 out before summer.

https://ekbass.github.io/BazzBasic/

Thank, Ek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4723
Wohnort: ~/

BeitragVerfasst am: 21.01.2026, 20:50    Titel: Antworten mit Zitat

I just took a look at the documentation. I don't plan to learn a new BASIC dialect (too many BASIC dialects in my life happy) but BuzzBasic looks like it would be fun.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Berkeley



Anmeldungsdatum: 13.05.2024
Beiträge: 115

BeitragVerfasst am: 24.01.2026, 11:58    Titel: Antworten mit Zitat

I don't see a sense in a BASIC interpreter(compiler), if it doesn't tries to be the best in some way.

My favorite model is GFA-BASIC (on the Atari ST). Its editor allowed real Rapid Application Development. The sources were stored as bytecode, therefore each line was checked for syntax errors (and auto-completed and indented) when entered.

I'm a fan of implicit declaration and suffixes. That's fast and clear, e.g. if you use dummies like i% and a$ - you know that it's a dummy with no deep meaning, and it's a string or integer. The developers of FreeBASIC demand explicit declaration explained with the compiling process and suffixes are only supported for downward compatibility.

Using "#" is a good idea, at least for unsigned integers. But "%" for integers is established, and most suffixes aren't very self-explaining, especially "$". My recommendation is to use "$" for strings, "%" for integers, "!" for boolean/flags, "~" for "real" - floatpoint numbers and "?" for "variant". "a$", "a%" and "a" should be different variables, where "a" is to define like in FreeBASIC e.g. "DIM AS VECTOR a". More suffixes e.g. "&" for int8/a byte don't make sense. Basic datatypes should be still int8, uint8, int64, float32 and so on, while "integer" is mutable.

"#" should still be used for (predefined) handles, like with the OPEN instruction. #1 to #8 and more, representing a data stream in this case, perhaps other standard handles like #STDERR...

Using ' for REM (lines) and no resp. invisible LET is also a big improvement. It's much faster to type and better readable. [, ], { and } are often hard to type on non-English keyboards, therefore it's faster to use the common "<label>:" syntax.

Another BASIC aspect is a reliable enviroment. For this I developed RETROGRA resp. the "VT 2000" standard - a console with normally 80x25 characters, Unicode, 216 predefined colors. rgPRINT should replace the normal PRINT instruction. RETROGRA creates a 640x480 8 bpp canvas. https://www.freebasic-portal.de/downloads/bibliotheken/retrogra-406.html You can use all FreeBASIC graphic functions in it, but there is no good text output function yet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
EkBass



Anmeldungsdatum: 21.01.2026
Beiträge: 6
Wohnort: Finland

BeitragVerfasst am: 25.01.2026, 18:55    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
I just took a look at the documentation. I don't plan to learn a new BASIC dialect (too many BASIC dialects in my life happy) but BuzzBasic looks like it would be fun.


If you are a familiar with BASIC, then there is prolly nothing to learn with BazzBasic grinsen

@Berkeley
Roger that.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
SpionAtom



Anmeldungsdatum: 10.01.2005
Beiträge: 397

BeitragVerfasst am: 26.01.2026, 07:31    Titel: Re: ekbass.github.io/BazzBasic Antworten mit Zitat

EkBass hat Folgendes geschrieben:


While BASIC for sure is not having its best days, I still believe it will last at least another 60 years.


Well, at work, there is an aspect that demands VBS, so there is that peinlich


All the best for your project, maybe I'll look into it.
Personally, I got stuck 20-some years ago with Blitzbasis, which took QBasic from DOS to the Windows-World. Then I missed to jump on the FreeBasic-Train.
Apart from Visual Basic I never really took interest in another BASIC language.

But as you say, it might spark some curiosity for newbies... lächeln
_________________
Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 73
Wohnort: Bayern

BeitragVerfasst am: 26.01.2026, 16:26    Titel: Antworten mit Zitat

I think it is a nice and handy tool to learn BASIC (though, in contrast to Berkeley, I do not love suffixes so much zwinkern ). For beginners, it would be helpful to have the manual (help file) as download, preferably as chm file.

I personally will stay with FreeBASIC which I use for 20 years now. Before, I used QuickBASIC, and I am happy to see a simple new BASIC dialect very close to QBASIC. I wish you a good success for your project!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Berkeley



Anmeldungsdatum: 13.05.2024
Beiträge: 115

BeitragVerfasst am: 27.01.2026, 21:02    Titel: Antworten mit Zitat

Lothar Schirm hat Folgendes geschrieben:
though, in contrast to Berkeley, I do not love suffixes so much ;)

But WHY ? It's fast and easy for implicit declarations. - A strength of BASIC. And if you want it "clean" you still can make DIM a AS STRING instead of LET a$=...

And it's easy to understand. Otherwise you have to name a dummy like "atext", to know that it is a string. Nowadays it's of course not sensible to have dozens of suffixes for each type, like BYTE and UBYTE, at least you need a syntax for user defined datatypes anyway. Therefore you only need string, boolean, integer (32/64) and "real"(double), the most primitive and important datatypes. - And variant. Variant is rather useful, it spares much typing work although it's not very safe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4723
Wohnort: ~/

BeitragVerfasst am: 27.01.2026, 22:51    Titel: Antworten mit Zitat

Zitat:
Otherwise you have to name a dummy like "atext", to know that it is a string.

For me, "txt" was always sufficient to label the dummy variable as a string. And it's only one letter more then a$ (and I can type it without using the Shift key).
It's not that difficult to use short descriptive names.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 73
Wohnort: Bayern

BeitragVerfasst am: 28.01.2026, 11:26    Titel: Antworten mit Zitat

Regarding suffixes, it is my personal opinion, for me a code with suffixes looks ugly. I worked with Turbo Pascal more than 20 years ago and found the syntax with explicit daclaration of variables clearer and the code easier to read. Also in QuickBASIC, I used always DIM. But it is no problem for me if other people have other preferences or opinions.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
EkBass



Anmeldungsdatum: 21.01.2026
Beiträge: 6
Wohnort: Finland

BeitragVerfasst am: 28.01.2026, 12:33    Titel: Antworten mit Zitat

I have changed my mind about the use of variables several times over the years.

Originally, %, $, ! etc. were used. In some dialects, INT variables did not need a suffix at all.

The style of BazzBasic is largely due to the fact that I did not want strongly typed variables, but still required initialization for them. I think $ is a good suffix for a variable. Similarly, # is a good suffix for a constant.

You could have rotated them one way or the other, but it would not have made it better or worse.

Another small peculiarity is FN. It is required before a user-defined function call.

I personally think that it clarifies the structure for a novice programmer. But there are probably many different opinions on this too.

Code:

10 REM GWBASIC
400 R=1: S=2
410 DEF MULL(X, Y)=X*Y
420 PRINT MULL(R, S)


Code:
' BazzBasic
DEF MULL(X$, Y$)
RETURN X$ * Y$
END DEF

LET R$ =1, S$ =2

PRINT FN MULL(R$, Y$)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Berkeley



Anmeldungsdatum: 13.05.2024
Beiträge: 115

BeitragVerfasst am: 29.01.2026, 18:12    Titel: Antworten mit Zitat

There is no real need to specify variables explicitely as constants - a smart compiler would be capable of determing that by itself. Especially if you would store source files in a bytecode like GFA-BASIC did. This way, variables would be just an ID that is assigned with the variable informations i.a. its name written how it should be always displayed in the code editor, allowing also to set them as constants, and finally, let the compiler replace them with their constant value.

Unfortunately FreeBASIC is working like a C compiler, i.e. you have to explicitely declare every symbol before you can use it. You might of course simply "precompile" the sources in a first run, so you won't have to declare every SUB and FUNCTION in your code before a call appears, you won't need "header files"...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
EkBass



Anmeldungsdatum: 21.01.2026
Beiträge: 6
Wohnort: Finland

BeitragVerfasst am: 31.01.2026, 09:58    Titel: Antworten mit Zitat

I like FreeBasic and have liked it since its release.

I think it was sometime in 2004, or at least around that time when its popularity started to grow in the QB community.

FB has indeed moved away from what I consider "BASIC-like" programming.

On the other hand, FB is a powerful language that can harness the power of the computer well if necessary.

I would probably use it myself, but with Win11 it has significant problems, especially with graphics.

BazzBasic was written in FB at some point. But those mentioned problems forced me to move to the .NET10 platform.

--- News

Im close to getting v. 0.7 released.

Read more: https://github.com/EkBass/BazzBasic/discussions/6
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Berkeley



Anmeldungsdatum: 13.05.2024
Beiträge: 115

BeitragVerfasst am: 31.01.2026, 13:15    Titel: Antworten mit Zitat

EkBass hat Folgendes geschrieben:

On the other hand, FB is a powerful language that can harness the power of the computer well if necessary.

Full ACK. But that doesn't exclude being more like GFA-BASIC. You may e.g. both use "DIM a AS STRING" or "LET a$=..." to declare/define a string variable. You can have implicit declaration and still write header files. FreeBASIC allows to use all libraries like C/C++ - theoretically - and even to include BASIC code in a C/C++ project.

EkBass hat Folgendes geschrieben:
I would probably use it myself, but with Win11 it has significant problems, especially with graphics.

Which are...?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
EkBass



Anmeldungsdatum: 21.01.2026
Beiträge: 6
Wohnort: Finland

BeitragVerfasst am: 31.01.2026, 16:47    Titel: Antworten mit Zitat

Berkeley hat Folgendes geschrieben:
Full ACK. But that doesn't exclude being more like GFA-BASIC. You may e.g. both use "DIM a AS STRING" or "LET a$=..." to declare/define a string variable. You can have implicit declaration and still write header files. FreeBASIC allows to use all libraries like C/C++ - theoretically - and even to include BASIC code in a C/C++ project.


Roger that. And for the record, GFA-Basic is not in the list of dialects
I'm familiar with or planning to get familiar with. BazzBasic is intentionally
designed with its own philosophy rather than following any specific dialect.
But I'm glad you have found a dialect you enjoy.

Berkeley hat Folgendes geschrieben:
Which are...?


Oh, it's been months since I worked with the FB version. I recall the issue
was extremely slow graphics rendering on Windows 11 - even a simple SCREEN 18
with basic drawing commands would take seconds to display, and often only
the text output was visible.

Here's a minimal test case from my notes:
Code:

' Minimal graphics test
' Really slow and in the end only thing which is visible is "Press any key..."
SCREEN 18
LINE 100, 100, 500, 100, RGB(255, 0, 0)
CIRCLE 320, 240, 50, RGB(0, 255, 0)
PRINT "Press any key..."
SLEEP
END


I googled it back then and found reports of similar Win11/FB issues,
but I don't remember the details anymore. This was one reason I moved
to .NET with SDL2.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
EkBass



Anmeldungsdatum: 21.01.2026
Beiträge: 6
Wohnort: Finland

BeitragVerfasst am: 01.02.2026, 11:57    Titel: Antworten mit Zitat

Version 0.7 is now released.

Main issues: Support for LINE INPUT and pre-compiled libraries.

More at: github.com/EkBass/BazzBasic/discussions/7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz