Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 06:45 11 Jul 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : BASIC...

     Page 1 of 3    
Author Message
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2170
Posted: 11:53am 06 Jan 2025
Copy link to clipboard 
Print this post

comments?

personally I think the anti-*insert language here* is taste/snobbery driven like many things in the world of computing... and I have mine but I try to be stern with myself and make sure any prejudices are born out of logical/sensible reason.
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 235
Posted: 12:09pm 06 Jan 2025
Copy link to clipboard 
Print this post

Weird article …
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7857
Posted: 12:23pm 06 Jan 2025
Copy link to clipboard 
Print this post

IMHO all the computer languages were invented to fulfil a particular need at the time. In the majority of cases they were successful. The problem arises when the supporters of a particular language start to champion it as being "the" language and all programming should be done this way as it's obviously superior. I'm not sure if that's "snobbery", but it's seriously misguided if not downright wrong. It leads to saying that other languages, which were designed to fulfil a different task entirely, fail in some way.

I don't think there is or can ever be a single programming language that can do everything. We can never know what's coming so all known languages will probably fail at some point.

BASIC has survived remarkably unscathed. You can still make sense of a program written in Dartmouth BASIC even if all you know is BBC BASIC, and there's a lot of years between them. Not many general purpose languages have survived that long unless they have been mostly confined to quite small user groups (e.g. APL, Forth). IMHO that survival has been because all efforts to rigidly define it have failed. It's become a computer language mongrel, borrowing bits from all over the place. I rather like that. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7857
Posted: 12:25pm 06 Jan 2025
Copy link to clipboard 
Print this post

  karlelch said  Weird article …


Not unusual from Liam. He rambles. :)

The story of how and why Commodore had one of the worst possible versions of a developing computer language is interesting though.

.
Edited 2025-01-06 22:28 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1360
Posted: 12:48pm 06 Jan 2025
Copy link to clipboard 
Print this post

Not much out there that can beat this..

And the programming language? TrioBASIC
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7857
Posted: 01:30pm 06 Jan 2025
Copy link to clipboard 
Print this post

We keep telling 'em but they won't listen.  :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2170
Posted: 01:37pm 06 Jan 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  [BASIC has]... become a computer language mongrel, borrowing bits from all over the place. I rather like that. :)


agreed. I see nothing wrong with cherry picking ideas - the mad jealous "guarding" of one's pet language 'they stole that from *insert language*'... so what? If my skill is in ALang, I really baulk at learning BLang just to get a certain feature as it puts me back being a toddler again - I become useless for a period of time. When a feature is added to ALang I am (usually!) happy to go with it.

I was just considering my career in programming... it has been BASIC or half a dozen assemblers - at which I have made a decent living and produced some monoliths that just worked (one at BT originated in 2002 and was only turned off in 2021.) Dabbled with other BLangs but nothing ever stuck like a good BASIC - perhaps this is what Dijkstra meant when he said "... [after] exposure to BASIC ... programmers [become] mentally mutilated...". Perhaps it is the other way round... the pearl of great price    I don't dislike BLangs, just comfy slippers I guess, my last foray into BASIC for a living was VB6 and there was nothing asked that I couldn't do with it - really, there was no impetus to change and the pleb in me didn't value the big scarlet C I could wear if I wanted (easy... ).
Edited 2025-01-06 23:46 by CaptainBoing
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4038
Posted: 01:51pm 06 Jan 2025
Copy link to clipboard 
Print this post

I think Dijkstra meant that people who had only met the horribly-limited BASIC of that era (and had thus used single-letter variables, GOTO line number, no proper data structures, and not much else) were tough to get thinking in structured ways.

He was teaching some such people up to about 1975 (50 years ago!) and reporting what he found. Fair enough.

It's wrong to use his statement in the context of modern BASICs (other than those which just mimic a similar kind of BASIC).

Granted, most BASICs are still a bit limited in terms of data structures, object orientation, first-class stuff, continuations, etc etc - but although those do have their place the lack of them isn't crippling programmers nor leading to unreadable programs (*)!

(*) which can be written in _any_ language (I've met some horrific C++, for example)

John
Edited 2025-01-06 23:54 by JohnS
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 427
Posted: 01:54pm 06 Jan 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  I don't think there is or can ever be a single programming language that can do everything. We can never know what's coming so all known languages will probably fail at some point.



While my favorite language is ANSI/ISO Full BASIC, I do see that, for specific applications, other languages are better suited. Process control is one of those applications, as is Web development. I do neither so Full BASIC is great for me.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5056
Posted: 02:09pm 06 Jan 2025
Copy link to clipboard 
Print this post

There are many programming languages. Some are better at 1 thing, others are better at something else. Basic was created to lower the bar for students that did not intend to study computer science, but to use computers in their specific area (i.e. biology/chemistry/construction).

As such the language is great. It is general purpose. And could be tought to chemistry students, while FORTRAN and COLBOL would be too hard as a starting point, and definitely the assembly language of the PDP-8's at that time would be hard to grasp.

We now aday have better entry languages (depending the age of the student), and basic has grown since then into more professional tool. But....

There is no way Windows 11 could have been written in Basic alone. Not in compiled basic, not in interpreted basic. You need to work with a variety of languages, and use each at their strength.

Volhout

P.S. STOP about GOTO. The first instruction EVERY SINGLE PROCESSOR executes from a compiled high level super approved language is a GOTO (JMP).
Edited 2025-01-07 00:12 by Volhout
PicomiteVGA PETSCII ROBOTS
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2170
Posted: 02:14pm 06 Jan 2025
Copy link to clipboard 
Print this post

  JohnS said  I think Dijkstra meant that people who had only met the horribly-limited BASIC of that era (and had thus used single-letter variables, GOTO line number, no proper data structures, and not much else) were tough to get thinking in structured ways.

He was teaching some such people up to about 1975 (50 years ago!) and reporting what he found. Fair enough.


yes good point
 
Andy-g0poy
Regular Member

Joined: 07/03/2023
Location: United Kingdom
Posts: 75
Posted: 02:18pm 06 Jan 2025
Copy link to clipboard 
Print this post

Urgg.. Liam surprised I've not seen him taken to task on another system I use...

We do tend to ignore him.

BASIC is one of the few languages that did what it set out to do and got it right pretty much first time.

There is nothing wrong with it, and never has been

Like many engineers of the time I worked extensively with several forms of assembler and basic was used as a tool.  

It enabled almost everyone to get involved with some form of computing, which is something that was lost for a couple of decades after the likes of the C64 and BBC went out of production.

It was only when things like the Raspberry Pi hit the market that things really started to pick up again. Now we have a dozen or more small useful and easy platforms to use. (or play with) including the PICO We now see all sorts of people "having a go" and getting some remarkable results as well.

I think what Liam tends to forget is the time at which these machines were made. Moaning about peek and poke is typical of him. The machines were so simple that peek and poke worked well enough. As well as quoting stupid statements from "learned people" regarding how BASIC ruins programmers. Typical parroting from him.

Python gets my goat in about 5 mins - If I had a swear box it would be perpetually full - why - that ruddy stupid indent requirement. It does not translate across systems very well, and I end up correcting editor errors more than doing actual coding. Not only that I can't format the code HOW I WANT TO.

I don't "do" OOP either - that just adds way to much complexity to the sort of coding I do.

Most of the time I'm simply waggling a few pins up and down!


That's why I've been very pleased to have found MMBasic for the PICO  and I've been evaluating it as a replacement for python for the small projects I usually do now that I'm retired. So far it's proven to be extremely viable.

Interesting comment regarding Richard Russel, I'm not sure about the Z80 port of BBC basic, it could have been so as we did have it on our internal development systems, so it may have found it's way onto the Z80 second processor unit for the BBC micro at the same time. I joined the Lab just about at the time that came out, so I may have missed that part of the development cycle. We were working on a lot of things at that time. but I am sure about the port of BBC basic to the PC. Richard and a couple of the other engineers in our lab were working on it. The latest version is well worth a look at, as it provides a very nice system for the PC, and you can produce self contained executable code that does not require the interpreter to be installed.

Andy
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2170
Posted: 02:24pm 06 Jan 2025
Copy link to clipboard 
Print this post

  Volhout said  ...
P.S. STOP about GOTO. The first instruction EVERY SINGLE PROCESSOR executes from a compiled high level super approved language is a GOTO (JMP).


agree with that. I try to always use structures but I will still use a well-considered GOTO if it makes sense and simplifies things. Often structure can require further structures e.g. to avoid a section of code from executing just before the terminator - why not just GOTO out of it? *some languages don't support jumpining out of structures... you'll have to  work it out. Consider how simple this bit of code would be if we didn't sneer at GOTO... with the ridiculous nested DOs just to avoid the hated GOTO Main instead of EXIT DO and maintain structure. slower to respond too.


Main:
Do
Do
'Re-entry point
If FlagTest(1) Then
 'No check - highest priority task
 FlagRes 1
 ... task code
EndIf
If FlagTest(2) Then
 If Flags And (2^1-1) Then Exit Do
 FlagRes 2
  Do While (stuff_to_do)
   If Flags And (2^1-1) Then FlagSet 2:Exit Do'regular "in task" checks
   ... task code
  Loop
 EndIf
...
If FlagTest(5) Then
 If Flags And (2^4-1) Then Exit Do
 FlagRes 5
 ... task code
 EndIf
Loop
Loop

Edited 2025-01-07 00:30 by CaptainBoing
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4038
Posted: 02:51pm 06 Jan 2025
Copy link to clipboard 
Print this post

It's funny to see FORTRAN & COBOL mentioned - Dijkstra also didn't like them (for good reasons).  He didn't like APL or PL/1, either ...

I suspect C++ would have been another (& probably C).

Ooh, let's discuss Martyn Thomas next :)

John
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7857
Posted: 03:14pm 06 Jan 2025
Copy link to clipboard 
Print this post

Sometimes I suspect that Dijkstra was definitely a tongue-in-cheek bloke. I'm not sure just how much credence we should put into some of these views. :)  I bet he was fun at some sort of parties. I bet he'd have had something suitably pithy to say about Algol too if it had been around. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2534
Posted: 03:34pm 06 Jan 2025
Copy link to clipboard 
Print this post

basic for microcontrollers.
compare picaxe basic, great cow basic and mmbasic.
not just that picaxe was commercial.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4038
Posted: 04:31pm 06 Jan 2025
Copy link to clipboard 
Print this post

  Mixtel90 said  I bet he'd have had something suitably pithy to say about Algol too if it had been around. :)

Algol was around and had been for ages.

It had stopped being mainstream by 1975 I think (if it ever really was), other than via Algol-ish (-derived? -influenced?) languages.

I can't think of any very Algol-like ones that were cross-platform and heavily used around 1975 (I'm not counting C, which is arguably in that category).  There again, 1975 is a _long_ time ago in computing terms!

Pascal just about qualifies but not very mainstream let alone readily portable.

hmm... I suppose Dijkstra was teaching mainly/only computing students so Pascal or the like (Algol W etc) would've been fine for him.

1975 was still mainly mainframes and some minicomputers.  Expensive. Smallish memories. Slow. Lots needed air conditioning. Mostly punched cards / paper tape input.

I suppose those were the days when manufacturers wanted to lock people in so had their own proprietary variants of languages, often "given away" with their computers.

As soon as time-sharing and terminals (especially screens instead of teletypes) with online access became a bit affordable people wanted good interactivity - aha, BASIC!

DEC's BASIC-11 / BASIC-PLUS stood out for some LOL

John
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2534
Posted: 05:49pm 06 Jan 2025
Copy link to clipboard 
Print this post

pascal was like basic years ago. Delphi
Edited 2025-01-07 03:52 by stanleyella
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2534
Posted: 06:44pm 06 Jan 2025
Copy link to clipboard 
Print this post

does anyone use freebasic and stuff to wire rpi?
 
grumpyoldgeek
Newbie

Joined: 30/07/2018
Location: United States
Posts: 36
Posted: 09:27pm 06 Jan 2025
Copy link to clipboard 
Print this post

Having worked as a manufacturing engineer back in the MS-DOS days, I found Microsoft compiled BASIC nearly the perfect tool for hardware test programs and software prototyping.  The code was readable by most technicians, and could be generated quickly.  The programmers didn't like it, but they didn't like being on the production floor either so it worked out fine.
 
     Page 1 of 3    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025