Posted by Kiwi Bloke on 07/12/2020 04:01:46:
… 'Real' programmers are apt to sneer at BASIC, but a lot are out of touch with modern dialects, and don't like it when reminded that it can take feet of code in 'proper languages' to do what a modern BASIC can do in a few lines.
…
For real retro, there's Programming Like its 1975.
There are good reasons why 'real' programmers sneer at BASIC. Glass ceilings!
I've been paid to write code in at least 18 languages, including BASICs and reported on the pros and cons of others. For fun, I've dabbled with 11 more. Latest is Process, ideal for wow graphics.
In my view computer languages are as different as screws and nails, or tanks and racing cars. It pays to look for the best choice. Plenty on the shortcomings of BASIC about, mostly well founded! But they may not matter in amateur work because they only bite big projects. Apply the 'so what' test.
All computer languages have advantages and shortcomings, for example:
- Algol-60. Mathematical language, clean syntax and structure, poor IO, unsuitable for data processing. Poor team support. First language I liked, but useless for my job.
- Fortran. Efficient maths. Grubby syntax and weak structure, but fast. Support for teams and linkage to other languages. Yuk. Wrote it because I was ordered to.
- COBOL. Data Processing language. Verbose syntax & weak structure. Good support for team development and linkage. First successful business 3GL. Multiple variants, common. Low productivity, not used for new projects. Nasty, but it paid the bills.
- Filetab. Report Generating Language. Brilliant for tabulating data created by COBOL. Not recommended for problems requiring more than 4 pages of code. Liked it very much, but not its glass ceilings.
- 4GLs (Forte, Informix etc). Excellent for database work. A good way of earning a crust, but boring.
- Pascal. Academic language inspired by Algol. Good structure and syntax, weak team support. Good for teaching, less suited to commerce, and slower than Fortran at maths. Like but don't use it – glass ceilings again.
- C. Systems programming language inspired by Algol. Low-level, fast and space efficient, capable of anything – the language other languages are written in. Deceptively simple syntax with dangerous shoals relying on the programmer to get it right. First rate support for multi-million line projects. Portable unless platform specific features are used. Maths reasonably fast. Loads of libraries. Love it! Good mix of challenge and can do.
- C++. Object oriented super-set of C – C on steroids. Wonderful, except full throttle object oriented programming is hard. Fun to write if the advanced features are avoided. Almost anything is possible. Love it apart from the spikes!
- Visual Basic and Gambas. BASICs for Windowing applications. Excellent for but don't scale well. I like both of them for certain jobs. More glass ceilings.
- bash, George 3. Job Control Languages. All nasty in my experience, but essential when programs operate in sequences. Server rather than home user work. perl and Python are useful as JCLs because they're easier to write and maintain. Up to a point!
- perl. Reporting and system scripting language. Built in pattern recognition and other text processing features. Back in the day, superb. Clean structure but spiky syntax that doesn't support later object oriented features cleanly. Today, Python rules the roost.
- Python. Batteries Included. Exceptionally clean structure and syntax. Powerful & reasonably efficient. Programmer friendly and highly productive. Does beginner & grown-up computing equally well. Massive 3rd-party module support. Team friendly. Contender for 'best computer language', but not ideal for Windowing applications, too heavy for most microcontrollers, and too slow and distant from the hardware to be a high performance systems language.
These days I do almost everything in C++ and Python. Almost all computers support C++, which simplifies moving from one platform to another.
Although BASIC is a poor choice for me that doesn't mean it's rubbish! It could be exactly what's needed. Micromites are ideal for chaps who know BASIC from the BBC/Spectrum era and want to program a microcontroller.
Compared with C, BASIC takes up more memory, runs slowly and has weak system programming features. BASIC struggles with linked lists, deques, stacks, atomicity and micro-efficiency. BASIC remains capable until an advanced feature is needed, or tight fast code is of the essence, at which point crunch. The crisis might never happen, but pro's can't take the risk. 'Real programmers' don't like languages that run out of steam.
Dave
Edited By SillyOldDuffer on 07/12/2020 14:41:15