I Never understood the adversity to basic. It has the same command set as any other programming language out there. (we're not talking runtime libraries here ! . only the elementary constructs)
- you have subroutines (functions that don't return anything) and functions
- switching logic : if-then-else-elseif / select case
- looping logic : for-next, while and do-until
- you have all the elementary operators , mathematically (+-/*^and sqrt, rounding and sin cos and other stuff. many other languages aready need additional libraries for trig stuff) and boolean (and / or / not)
- you have all datatypes : integers and floats , multidimensional arrays and strings
Basically all you need and have in any other language (pun intended)
On top of that:
- simple , easy to understand plain english keywords.
- No mindfuckery with whitespace for flowcontrol (like python) and the endless associated tab/spaces problem in the editors.
- No need for all the braces and semicolons like C and many others. why do you need to tell the compiler a statement ends ? it can't figure that out by itself ? and why can't it use the implicit <CR> or<LF> at the end of line instead of me having to explicitly type it ? Ok, ok i hear you : long instructions.. statistically speaking there is less long instructions than short ones. So you need less 'continuation' characters' than 'termination' characters. Besides, if the instruction becomes that long it can't fit in 80 columns: time to carve it up in multiple shorter chunks. it only improves readability and understandability.
- No endless crap with having to help the compiler with = / == as the compiler knows exactly when it means 'assign' and when it means 'compare'. (any language can do that. the decision tree is very simple and many language much older than c could already do it)
- you get a runtime library with string handling and many other things. automatic bounds checking, no memory overruns in arrays or strings as those their length stored upfront so the runtime can throw an error if you step out of line.
What's there not to like ?
All these other languages are nothing else but Basic in a different form made more complicated requiring more compiler handholding and less bound checking and more curly braces, semicolons and other stuff that makes it look like a mathematicians wet dream.