I’ve been programming professionally for over a decade with both “business” and “hacker” languages.<p>Although I’m not unhappy with what I’ve been using, I have developed an interest in BASIC after I was introduced PureBasic and AppGameKit (DarkBASIC).<p>I’m wondering about your experiences and feelings about today’s BASIC languages.
I started in BASIC, and loved it. I was profilic, even. C and such were so ugly and hard in comparison.<p>Once I grew and learned other languages, I only then realized why BASIC is/was weird and 'bad', as people say.<p>I love that BASIC existed for me, and I learned a lot, but I don't think it has much value today.<p>I think Python is a similarly easy language, and one people can immediately be more productive in.
I grew up with many versions of BASIC, the best ones I used were Locomotive BASIC and GFA BASIC. Today's BASIC languages, like FreeBASIC, don't feel like the old BASICs anymore. Furthermore, the power of BASIC in the 80s was that it was on almost every home computer, but that is no longer the case. I think today's equivalent of BASIC is Python.
I have made an easy programming language, which is not BASIC, but has some similarities with the old home computer BASIC variants. Variables don't have to be declared, you can draw on the screen with simple commands, you don't have to install anything and you can start right away, etc.<p><a href="https://easylang.online/ide/" rel="nofollow">https://easylang.online/ide/</a>
Have you looked at <a href="https://freebasic.net/" rel="nofollow">https://freebasic.net/</a> and <a href="https://www.qb64.org/portal/" rel="nofollow">https://www.qb64.org/portal/</a> ? It's been ages since I actually wrote code in BASIC, but there do appear to be nice open-source options in the modern world
I've been playing with classic BASICs recently, especially dialects for pocket calculators. Here are some random thoughts from this exercise:<p>"PRINT USING" is terrible (vs. C's formatted strings).<p>"INPUT A" is not versatile enough. I should be able to prompt with the current value of A, so user can hit enter to keep the current value. None allow you to print the current value of A (INPUT STR$(A)+">",A does not work anywhere). Some dialects allow you to retain A: TRS-80 BASICs do it. MS-BASIC sets A to zero if user just hits Enter.<p>Pocket computer BASIC allows you to enter an expression as a response to INPUT, such as A+1.<p>Modern calculators allow you to enter equations in textbook format. I kind of think modern BASICs should support this- no reason to be stuck in the early 60s teletype world.<p>Pocket computer BASIC allows you to bind programs to keys (or at least entry points to keys: you can have a key jump to a line with a key-label).<p>Pocket computer BASIC allows you to read the last entered value (AREAD command in Sharp).<p>Here is a benchmark which shows why these things can be important, at least in the realm of pocket computers and calculators:<p><a href="https://github.com/jhallen/calculator/wiki" rel="nofollow">https://github.com/jhallen/calculator/wiki</a>
The problem with PureBasic is the executables it compiles are flagged aggressively by antivirus software. Have a look at their forum, it is a major issue for developers who have invested a lot into building software with the language.
I've been using Xojo for a little while, which is kind of like a cross-platform Visual Basic. It's pretty nice other than a fairly limited standard library (json is supported but not zip files, no object serialization and limited file/path manipulation functions). Also there's no "community edition" or similar so you have to be pretty sure you want to use it before paying up the $300 for a license.
BASIC is how I got started, and I'm always tinkering with making BASIC compilers (<a href="https://web.eecs.utk.edu/~azh/blog/teenytinycompiler1.html" rel="nofollow">https://web.eecs.utk.edu/~azh/blog/teenytinycompiler1.html</a>). I'm open to trying a "modern" dialect, and I think novices could benefit from it as well.<p>Are there any <i>big</i> efforts towards a modern BASIC?
It seems like the poster is asking about PureBasic and it's competitor (PowerBasic). These are modern Basic languages that run very fast and compile into small executables with solid library support. I believe the two front runners are both commercial products, but pretty cheap (a lot less than an annual subscription for most IDEs).<p>I don't think they were referring to QBasic or VB6 or anything like that.
DarkBasic was all the rage in the 2000s and it is open source now:<p><a href="https://github.com/TheGameCreators/Dark-Basic-Pro" rel="nofollow">https://github.com/TheGameCreators/Dark-Basic-Pro</a>
My favorite BASIC of all time was QBasic.<p>FreeBASIC was interesting - a portable implementation and extension (including OOP concepts) of the original
PC QBasic and I enjoyed playing with it a long time ago.
I really liked QBasic in the 90's. Its help, debugging functions, and example games you could modify, were amazing to learn programming as a kid.<p>I also tried some Visual Basic back then, but didn't like it because I loved drawing things with pixels in QBasic (using PSET, CIRCLE, etc..., in e.g. Mode 13h) and VB couldn't do that (at least not any way I knew), only create GUI windows with radio buttons and such, which really disappointed me.
I was pretty heavy into the QBasic community in the 2000s, and move into the FreeBASIC community once it was stable.<p>I'd highly recommend FreeBASIC, especially if you enjoy C-style programming. Lots of good libraries and good C library support (give or take writing the headers by hand or translating)<p>I tried QB64, but I'd only recommend that if you want nostalgia. By default, it gives that classic QBasic IDE interface, and feels very self contained.
My first programming language was (I think) BBC Basic. Later on I used AMOS Basic which was tailored to do amazing stuff using the Amiga hardware.<p>AOZ studio[1] is (I believe) a modern descendant of AMOS (but without the Amiga). Every now and again I visit the language's homepage but I haven't downloaded and played with it yet.<p>[1] - <a href="https://www.aoz.studio/" rel="nofollow">https://www.aoz.studio/</a>
I notice each month the high positions of Visual Basic (#6 in Sep 2021) and "Classic Visual Basic" (#11) in the Tiobe Index <a href="https://www.tiobe.com/tiobe-index/" rel="nofollow">https://www.tiobe.com/tiobe-index/</a> . Is Tiobe exaggerating the popularity of these Basics or are they really so popular but rarely discussed?<p>I liked VBA when I used it within Excel.
RapidQ was a friendly dialect that I have dabbled in: <a href="http://rapidq.phatcode.net/" rel="nofollow">http://rapidq.phatcode.net/</a><p>For something more modern, take a look at QB64 that is aiming for QBasic compatibility on recent platforms: <a href="https://www.qb64.org/portal/" rel="nofollow">https://www.qb64.org/portal/</a>
I used Liberty Basic back when I was about 9. It was one of my first languages and I held it very dear. I also dabbled a bit in VB, but C# became somewhat popular(/created? I don't remember) around the same time so that took over.<p>Overall, if you like it, use it! Can't hurt. I wouldn't recommend it for any serious, large projects that would require a team of collaborators, though.
BASIC can be quite powerful. The version on the Sinclair QL was ahead of its time, for example.<p>For modern BASIC, you have some interesting choices such as EndBASIC, which is written in Rust and which has some very cool features:<p><a href="https://jmmv.dev/software/endbasic.html" rel="nofollow">https://jmmv.dev/software/endbasic.html</a>
Others have already shared their opinions on BASIC past and present. I agree with most.<p>In the event you are willing to explore another language I might suggest to have a look at Lua.<p><a href="https://www.lua.org" rel="nofollow">https://www.lua.org</a>
I want to suggest to you that you research AMOS which was a BASIC for the Amiga with very interesting concepts.<p>I think "spaghetti" is in the eye of the beholder. Alternatively you could argue that GOTO/GOSUB puts BASIC near ASM and that is cool.