BASIC culture - Batteries Included

Started by PixelOutlaw, March 07, 2025, 07:38:45

Previous topic - Next topic

PixelOutlaw

Many people who've started their programming career in the 2000s have totally neglected the BASIC experience most of us have had.

It's interesting that BASIC dialects often come with more multimedia support built in from the start.
It is unfortunate the more languages don't come "out of the box" with tools to make games.

It's sad that platform support for multimedia is now so poor that people flee to the web for choppy buggy UIs.
Not everyone wants to make a web server to have a computer game.

I really do miss the old days when you grabbed a language and could work in 2D and sometimes 3D.
We currently have better languages than ever and many languages feel it's not their duty to provide a way to make real applications.

Now you have to spend hours looking for the right build tools and downloading .dlls and .so files and learning something hideous like modern GLSL or Vulkan which is like building a log cabin out of sawdust and glue.

I wish all languages had the "batteries included" ethos of BASIC.
Yes, it's not the job of "the language" to provide much more than standard input and output but dammit real programs use more than that!
One DEFUN to rule them all, One DEFUN to find them, One DEFUN to RETURN them all, and in the darkness MULTIPLE-VALUE-BIND them.

Pfaber11

Yes the top 3 for me PureBasic, AppGameKit studio and Blitz3D. I find AGK studio the easiest of these to use, PureBasic is more powerful and has been the apple of my eye for a while. 

 
Windows 11 home edition
PureBasic 6.20 and AppGameKit studio
ASUS Vivo book i5 15 16gb ram 512gb ssd
ASUS Vivo book i3 15 16gb ram 256gb ssd
HP Desktop; AMD 6700 A10 16GB ram 2 GB graphics card windows 10

Pfaber11

Windows 11 home edition
PureBasic 6.20 and AppGameKit studio
ASUS Vivo book i5 15 16gb ram 512gb ssd
ASUS Vivo book i3 15 16gb ram 256gb ssd
HP Desktop; AMD 6700 A10 16GB ram 2 GB graphics card windows 10

Dabz

It would be great to see the likes of Windows, MacOS and Linux contain BASIC languages within their default installations, preferably a cross platform affair of the same dialect, even a interpreted command line offering.

Just a simple leaning into programming setup that BASIC offers and was designed for.

Let's get kids tinkering and interested again!

Dabz
Intel Core i5 6400 2.7GHz, NVIDIA GeForce GTX 1070 (8GB), 16Gig DDR4 RAM, 256GB SSD, 1TB HDD, Windows 10 64bit

PixelOutlaw

#4
They kind of went the wrong way with stuff like Scratch which is insultingly stupid.

Granted my first programming language was Logo BUT that's still more powerful than people realize if you actually read the language spec for say UCB Logo.
Expression wise, it's more powerful than a lot of Algol family languages.

It's also unfortunate that the Raspberry Pi foundation had the primary goal of making an affordable programming platform but people just bought it for tinkering and making (initially poor) emulation machines.

But to bring this full circle, it's a shame how complex the modern environment is.
Now I'd imagine kids would reach for a full game engine like Unity or Godot and really that level of complexity isn't necessary for even 2D games.
I went from the OG Game Maker as a kid to BlitzMax after reading entire books on C++ and being frustrated that on its own it didn't *DO* anything visual.
Had it not been for BlitzMax I'd probably never continued making games.
One DEFUN to rule them all, One DEFUN to find them, One DEFUN to RETURN them all, and in the darkness MULTIPLE-VALUE-BIND them.

Pfaber11

I had STOS in the early 90's and felt it was a tad slow but thought give it a few years and basic will be the business and that time was was about 7 years ago for me. And there we are. I thought initially I would master this in a matter of months and boy was I wrong. I think it could be done in a matter of months though for some people. Me I needed up to now to get to where I am now and there's plenty more to learn. 
Windows 11 home edition
PureBasic 6.20 and AppGameKit studio
ASUS Vivo book i5 15 16gb ram 512gb ssd
ASUS Vivo book i3 15 16gb ram 256gb ssd
HP Desktop; AMD 6700 A10 16GB ram 2 GB graphics card windows 10

Filax

#6
For my part, I've never understood why modern languages don't have simple structures and syntaxes... When you look at the readability of Basic code compared to C code... And the more languages evolve, the less clear their syntaxes become!

Blitz3D/Blitzmax (RIP Mark...) perfectly integrated these notions of simple syntax, while still being (a little bit object-oriented, thanks to its linked lists).

I've been trying to understand C ever since I was a teenager... The only version I can even manage to use is Unity's Sharp C. That's why, 40 years after my first programs on the ZX80, I've still loved programming with BASIC. I don't understand why a talented programmer wouldn't take the Blitz3D source code and make it into something modern. With an opening to more professional file formats, the source code is already there!

Steve Elliott

QuoteFor my part, I've never understood why modern languages don't have simple structures and syntaxes... When you look at the readability of Basic code compared to C code... And the more languages evolve, the less clear their syntaxes become!

I agree, well C is far simpler than C++ but some of the syntax with both can be a bit cryptic at times. C++ changes and gets bigger and bigger so you  never really master it. I think it's at C++ 24 now!  ::)
Win11 64Gb 12th Gen Intel i9 12900K 5.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 4.4Ghz Nvidia RTX 2050 8Gb
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.6GHz Nvidia GeForce GTX 1050 2Gb
Linux Mint 8Gb Celeron 2.6Ghz UHD Graphics600
macOS 64Gb M4 Max 16C GPU 40C
Spectrum Next 2Mb

Sledge

Odin has out-of-the-box bindings for Raylib and SDL2 -- that's quite a lot of batteries :D

PixelOutlaw

#9
C++ looks like a toy compared to the syntax explosion of Rust.
It turns out though that syntax can be a single uniform expression such that you make about seven or so normal language things obsolete. It's not a very good model to model programming languages after English because then that gets you in the ambiguity that we see inherent in SQL and earlier COBOL. It's not clear when you can use clauses without constantly looking at railroad diagrams describing their syntax.

But anyway, the most minimal syntax serious language I know of is R5RS Scheme.
I do feel though that infix computation mixed with reserved keywords is not a good way to build a language.
When everything is an s-expression it means you can use those pieces in any position and you don't have to worry about all these crazy things like assignments statements loops conditionals being separate concepts because it's all made of the same stuff.
Look at how stupid C is - you can't just put an if statement at the end of an assignment so they have both an if conditional which does things inside some reserved spaces or you have the ternary operator. That kind of stuff is unified with s-expressions. In this case both of those things were grasping at the same idea but it got split into two concepts because the if conditional is a false dichotomy.

Generally Algol descended languages don't grow well. They need more syntactic features for every new conceptual programmatic feature so the compiler can distinguish them. I consider syntax something that's been solved and unified through es-expressions. It also has the benefit of letting you add your own system level functions and even new control structures without waiting for the language developers to add them. For example, I can define a double for loop or even a for a loop that nests [n] many times with iterator variables so we can stop all that X Y nested iteration for loops that people write.
One DEFUN to rule them all, One DEFUN to find them, One DEFUN to RETURN them all, and in the darkness MULTIPLE-VALUE-BIND them.

Xerra

I have removed one of Pfaber's posts as it was a duplicate of his previous one.
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/revenge-of-the-quadra
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/