English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old Yesterday, 17:13   #1
Megalomaniac
Registered User
 
Join Date: Sep 2022
Location: Eastbourne
Posts: 1,184
Do aspiring programmers benefit from learning BASIC (or a variant) first?

If you owned a home computer from the late 70s to early 90s, it almost certainly came with a dialect of BASIC, be it Microsoft or Locomotive or Sinclair or BBC. Unless you had access to computers in an academic or scientific setting, this was almost certainly your first access to a programming language, with schools and colleges relatively late to offer computing as a subject. Lots of early classics were coded in BASIC, the original Football Manager for example. You still get BASIC languages to this day.

It made its mark on the Amiga too. As late as 1991, the dropping of AmigaBASIC (a Microsoft BASIC derivative poorly regarded by then, but actually well-received on the Amiga's launch) from Workbench 2 received some murmurings of discontent, that it was going to impact people's learning of computing. Variants like Blitz and AMOS were still to come into their own - games like Skidmarks, the Valhalla series, Base Jumpers and Gloom were made in them, not to mention innumerable PD/coverdisk or recent homebrew games - all mostly by people with no professional or academic coding experience. Amiga Format cover-mounting the programs and having extensive guides has to take some great credit there - not sure if magazines in other countries did anything similar at the time?

Still, though, there are criticisms of it. Some feel that it promotes bad programming habits. Some care that it lacks functions or object-orientation. The variants can be quite different from each other. Still, when I took A-Level Computing at age 16, having dabbled in Spectrum BASIC at a very young age, and later Blitz to a limited extent, did feel helpful, as I wasn't completely new to many of the concepts.

Of course, home computers varied in the quality of their BASICs. It's been argued elsewhere that a system coming with a relatively poor BASIC (or at least, one which didn't maximise the computer) this may have been a blessing in disguise, as it encouraged programmers to go straight to assembler. Was this a general feeling, or were the outweighed by the amount of people who were put off from programming altogether? Do we know to what extent the leading Amiga game programmers started off with learning BASIC, whether they feel it was good or bad before progressing to Assembler or perhaps C?

Last edited by Megalomaniac; Yesterday at 17:26.
Megalomaniac is online now  
Old Yesterday, 18:16   #2
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,084
Do aspiring programmers benefit from learning BASIC (or a variant) first?

it can do I guess, as it usually gives reasonably quick results and so spurs them on to continue.
abu_the_monkey is offline  
Old Yesterday, 18:45   #3
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,156
I would argue yes, but not with AmigaBASIC. It was terrible.

I moved up from a Spectrum - where I coded in BASIC mostly - to an A1000 in very late '87 and it naturally came with AmigaBASIC.

I powered it up and after about an hour decided to drop it for now. It was bloody awful. Slow, even compared to the Spectrum, and with a horrifically designed IDE. Didn't go back to coding on the Amiga until much later.

AMOS was better and Blitz was great fun, though by that point I'd been messing with C.
Dunny is offline  
Old Yesterday, 19:10   #4
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,673
Quote:
Originally Posted by Dunny View Post
I would argue yes, but not with AmigaBASIC. It was terrible.

I moved up from a Spectrum - where I coded in BASIC mostly - to an A1000 in very late '87 and it naturally came with AmigaBASIC.

I powered it up and after about an hour decided to drop it for now. It was bloody awful. Slow, even compared to the Spectrum, and with a horrifically designed IDE. Didn't go back to coding on the Amiga until much later.

AMOS was better and Blitz was great fun, though by that point I'd been messing with C.
Had a similar route from you but i did drop programming, AMOS came too late to rekindle, however i still want to learn blitz, albeit am a bit too busy to find the time to focus
saimon69 is offline  
Old Yesterday, 19:29   #5
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,879
I've said it before and I'll say it again the whole OOP scene is pretentious.
Retro1234 is offline  
Old Yesterday, 19:42   #6
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 32,436
Quote:
Originally Posted by Retro1234 View Post
I've said it before and I'll say it again the whole OOP scene is pretentious.
So BASIC is OOP?
TCD is offline  
Old Yesterday, 20:01   #7
gimbal
cheeky scoundrel
 
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 43
Posts: 7,063
Quote:
Originally Posted by TCD View Post
So BASIC is OOP?
In the world behind the mirror, sure.

---

It wasn't a terrible starting point to learn programming conceptually, especially since you didn't have too many accessible languages to choose from at the time. Nice learning tool, I wouldn't recommend it today though
gimbal is offline  
Old Yesterday, 20:09   #8
tero
Registered User
 
tero's Avatar
 
Join Date: Jan 2009
Location: M'Gladbach
Age: 47
Posts: 631
Quote:
Originally Posted by TCD View Post
So BASIC is OOP?
Some dialects are. .NET basic is OOP, and iirc Gambas too.

To answer the ops question: It is beneficial to learn, but if you want a career as developer I would suggest to learn a language that is in use a bit more often. C#, Python, Java, they are all good first languages and there are jobs for it.

I went from c64 basic to pascal to c. But if that was a good way or not, i cannot say.
tero is offline  
Old Yesterday, 20:29   #9
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,156
Quote:
Originally Posted by saimon69 View Post
Had a similar route from you but i did drop programming, AMOS came too late to rekindle, however i still want to learn blitz, albeit am a bit too busy to find the time to focus
Yeah it can be like that. You have to find the time from somewhere and stick with it.

Quote:
To answer the ops question: It is beneficial to learn, but if you want a career as developer I would suggest to learn a language that is in use a bit more often. C#, Python, Java, they are all good first languages and there are jobs for it.
I went from BASIC to C to asm and then Pascal - where I now work for my day job - and eventually learned enough to make my own BASIC.

Which is precisely where I wanted to be!
Dunny is offline  
Old Today, 10:44   #10
Megalomaniac
Registered User
 
Join Date: Sep 2022
Location: Eastbourne
Posts: 1,184
That title should have been 'DID aspiring coders' as I was primarily thinking about the home computer era. Programming professionally is very much a road untravelled for me, but I'd love to get into retrogames coding, I did have the old Spectrum manual out a while ago and went through much of it with an emulated +2, remembering the concepts - ultimately I'd rather be making Amiga code though. Maybe learning Blitz and making a game in that would be worthwhile, before moving onto something heavier like assembly?

The point about BASIC allowing you see visible results quickly, from HELLO WORLD to the Celsius-to-Fahrenheit conversion program I remember typing in from the Spectrum manual. Maybe Dunny and Saimon are right that a bad BASIC is a bigger impediment if you're already used to a good BASIC?
Megalomaniac is online now  
Old Today, 10:51   #11
chip
Registered User
 
Join Date: Oct 2012
Location: Italy
Age: 49
Posts: 2,979
Basic was the first language i learned before i passed to school languages
chip is offline  
Old Today, 11:06   #12
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,156
Quote:
Originally Posted by Megalomaniac View Post
That title should have been 'DID aspiring coders' as I was primarily thinking about the home computer era. Programming professionally is very much a road untravelled for me, but I'd love to get into retrogames coding, I did have the old Spectrum manual out a while ago and went through much of it with an emulated +2, remembering the concepts - ultimately I'd rather be making Amiga code though. Maybe learning Blitz and making a game in that would be worthwhile, before moving onto something heavier like assembly?
This is something I see time and time again with people who want to code. Ultimately they want to be able to use assembly - especially on low-power systems like the Amiga or the Spectrum or C64 - but they see it as the "elite" language and super, super hard to learn.

I thought so too, as it happens, and I didn't learn any asm until much later, and tbh I wish I'd just knuckled down and learnt it back then instead because it's way easier than I thought. Sure it takes a lot more "boilerplate" than a higher level language but you can work through that with libs or even some heavy copy-paste action.

And it's so worth it.

Quote:
The point about BASIC allowing you see visible results quickly, from HELLO WORLD to the Celsius-to-Fahrenheit conversion program I remember typing in from the Spectrum manual.
Instant gratification is why I love BASIC so much. It's not that I love to code (though I do) it's more that I love to see the machine doing stuff I've told it to, and figuring out how to do it.

That's also why I love coding in Delphi (Pascal) because it's just so rapid at getting results on the screen, and why I took a job in that language
Dunny is offline  
Old Today, 11:31   #13
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,438
Quote:
Originally Posted by Megalomaniac View Post
Still, though, there are criticisms of it. Some feel that it promotes bad programming habits. Some care that it lacks functions or object-orientation. Do we know to what extent the leading Amiga game programmers started off with learning BASIC, whether they feel it was good or bad before progressing to Assembler or perhaps C?

It is not the lack of OOP, it goes even below that. Early dialects of basic, or what we had in the 1980s, were completely unstructured, leading to spagetti code. "GOTO" with absolute line numbers, global variables, no structured data types except arrays, and only two elementary types, namely numbers and strings.


Things changed a bit over time, and in terms of "easy scripting" more powerful languages became available that also provide instant access to the machine, such as python.


Back in the 1980s, probably everyone started with BASIC, but this was more or less because it came with many machines and played the role of the "operating system". You could not sell a machine without BASIC, but that does not make it a good language. Actually, most of the BASIC implementations back then were outmost terrible.
Thomas Richter is offline  
Old Today, 12:07   #14
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,879
Global Variables, that's another thing - if you are using the same name variable in different methods/locally that is horrendous. But global variables are considered evil.
Retro1234 is offline  
Old Today, 12:19   #15
AestheticDebris
Registered User
 
Join Date: May 2023
Location: Norwich
Posts: 512
BASIC had the advantage of teaching the generic flow of iterative code without too much complexity. So certainly learning it gave you a basic understanding of the sequence of execution and simple concepts like variables etc.

But it also tended to teach a lot of bad habits, like poor code structure and over-reliance on global state, which other languages like Pascal deliberately avoided. And it often simplified things too much, making the learning curve when jumping to another language seem almost impossible difficult.
AestheticDebris is offline  
Old Today, 12:45   #16
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 32,436
Quote:
Originally Posted by AestheticDebris View Post
But it also tended to teach a lot of bad habits, like poor code structure and over-reliance on global state, which other languages like Pascal deliberately avoided. And it often simplified things too much, making the learning curve when jumping to another language seem almost impossible difficult.
Even if AmigaBASIC isn't very good, its 'Gosub' feature made it a lot easier for me to later learn C.
TCD is offline  
Old Today, 12:51   #17
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,879
I would disagree strongly. OOP programmers like to think it's a lot more complicated etc but in reality a lot! Of the terms etc originated in BASIC. In my humble opinion so much of it is just pretentious nonsense.

So the original question - I would say a lot of "normal" people can't grasp programming and it's a problem. A quick couple of lessons on something like QBasic and probably anyone can grasp coding
Retro1234 is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Trying to find variant of this song Flow Res. Kenny Amiga scene 1 11 August 2023 21:58
A1200 case, desktop variant? Malakie Amiga scene 6 11 December 2021 18:12
Preferred Falcon variant eXeler0 Retrogaming General Discussion 19 20 November 2020 00:40
How to specify the game variant used in Arcade Mode? ketschak support.FS-UAE 2 07 March 2014 14:31

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:23.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09834 seconds with 15 queries