![]() |
Forum Index : Microcontroller and PC projects : BASIC...
Page 1 of 3 ![]() ![]() |
|||||
Author | Message | ||||
CaptainBoing![]() Guru ![]() Joined: 07/09/2016 Location: United KingdomPosts: 2170 |
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: GermanyPosts: 235 |
Weird article … |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7857 |
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 KingdomPosts: 7857 |
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 KingdomPosts: 1360 |
Not much out there that can beat this.. And the programming language? TrioBASIC |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7857 |
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 KingdomPosts: 2170 |
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 ![]() ![]() Edited 2025-01-06 23:46 by CaptainBoing |
||||
JohnS Guru ![]() Joined: 18/11/2011 Location: United KingdomPosts: 4038 |
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 StatesPosts: 427 |
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: NetherlandsPosts: 5056 |
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 KingdomPosts: 2170 |
yes good point |
||||
Andy-g0poy Regular Member ![]() Joined: 07/03/2023 Location: United KingdomPosts: 75 |
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 KingdomPosts: 2170 |
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 KingdomPosts: 4038 |
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 KingdomPosts: 7857 |
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 KingdomPosts: 2534 |
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 KingdomPosts: 4038 |
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 KingdomPosts: 2534 |
pascal was like basic years ago. Delphi Edited 2025-01-07 03:52 by stanleyella |
||||
stanleyella![]() Guru ![]() Joined: 25/06/2022 Location: United KingdomPosts: 2534 |
does anyone use freebasic and stuff to wire rpi? |
||||
grumpyoldgeek Newbie ![]() Joined: 30/07/2018 Location: United StatesPosts: 36 |
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 ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |