Posted by IanT on 22/08/2023 10:51:53:
… However, (as I may have mentioned previously) I gave up the Arduino IDE in preference to Micromite Basic (MMB) some time ago and I have never regretted it.
I've never been a 'professional' programmer …
IanT
I was a professional programmer, paid to write in COBOL(s), FORTRAN(s), Filetab, C, C++, Sculptor, Perl, Informix-4GL, SQL, MS-BASIC, Visual-Basic, Pick-BASIC, and Delphi (Pascal-like). Also for my employer, I wrote reports on the applicability of Algol, Forth, BASIC, LISP, Pilot, Pascal, Python and Ada. Plus a comparison of the vices and virtues of the competing RDBMS of the day. Not only can I write BASIC, more than one variant, but I've had plenty of experience with other languages in all applications apart from real-time.
I'm afraid BASIC doesn't fare well in a professional programming environment. One difficulty is the large number of different versions of 'BASIC' – it's poorly standardised, leading to low portability and high re-training costs. There are many other irritants.
Early BASIC was narrowly focussed on allowing ordinary folk to interact with a computer, mainly to hint at possibilities. A simple language with no pretensions, the first BASIC was never intended to be more than a demonstrator. Unfortunately, its simplicity meant BASIC was fairly easy to implement on early 8 bit microcomputers, and it became popular in the hobby community, gradually adding many non-standard improvements.
BASIC's fluidity was no problem for singletons with home computers, but youngsters moved on to Computer Science courses, and started in IT Departments with their heads full of BASIC bad habits, that had to be painfully unlearned. Folk who had started with BASIC didn't make good use of the clarity provided by structured languages : they mangled Pascal by expressing logic in BASIC terms. And BASIC didn't support teams of developers. Meanwhile, computer languages had moved on, introducing features that BASICs haphazardly adopted later in non-standard ways. Although modern BASICs look respectable because they've adopted modern features like structured code and objects, BASIC is messy. BASIC's shortcomings turn nasty as programs grow in size and complexity. OK for small simple stuff. All big systems are hard to maintain, but big systems written in BASIC are extra tough. Trouble is most programs don't start out intending to become big and complex, but they often grow like Topsy as users ask for more features.
Today there's no call for BASIC in the world of jobs or academe. BASIC's main benefit is for hobbyists who started with on a ZX80 or BBC Micro, who want to do similar hobby programming on a microcontroller. Fair enough – it reduces the learning curve. But taking that short-cut ain't smart for anyone who wants to earn a living as a programmer, is serious about getting the best out of a microcontroller, or is starting a large project.
Under no circumstances should youngsters be encouraged to start by learning BASIC. In an IT job interview they will be asked to explain why they chose BASIC. They'd better have a good reason, and I don't believe there is one! Choosing BASIC means you don't understand the history, or why other languages are more suitable, or didn't question what their misinformed Elmer said. Being easy to learn is only one factor – grown-up programming needs much, much more. For example, BASIC is inferior to:
- Horrible old COBOL for Data Processing
- FORTRAN for Maths
- C/C++ for system, embedded and software tool programming
- Javascript & Java for web work
- C# for smart phones
- Python for general purpose computing
I see in the 2022 IEEE list of Top Programming Languages that only one BASIC is listed: Visual Basic is 29th between VHDL and Labview.
The only good reason for using BASIC today is you already know it and don't need better. Good choice for tinkerers who already have BASIC skills, bad choice as a starter language for everybody else.
Dave