English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 21 August 2024, 12:48   #101
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by alkis View Post
I understand the feeling about C++, but C?
I don't think there is a simpler language than C.
I hear you but the only people that really say that, myself included, are already familiar with it. We forget the first encounter because there's an epiphany moment with C where suddenly it all clicks and we forget the WTF moments where something compiled but didn't work or when something wouldn't compile but seemed correct. We forget the phases we went through with pointer indirection, multdimensional compact arrays, single dimension arrays of pointers that we could dereference as if they were 2D arrays and how lethally different their internal representations are, etc. It's all muscle memory now and seems like the most obvious thing in the world - precisely because we aren't beginners.

Beginners ask informative questions. Why do you need to declare the return as void? What, it will return an integer by default if I don't specify? Why? If I don't declare any parameters that means what? Oh, I have to put void to say it takes no parameter, otherwise I am asking the compiler to play guessy games based on the first invocation?

There's all sorts of odd fruity behaviours in C that we again avoid by muscle memory.

I also think that many of us will have had some sort of assembler experience before C which preps you for concepts like different integer types, pointers and linear arrays just being a continuous span of memory locations and what not, but I can imagine (even if not recall) how they seem in isolation to beginners without that experience.

Last edited by Karlos; 21 August 2024 at 13:02.
Karlos is offline  
Old 21 August 2024, 12:57   #102
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by Thorham View Post
That's indeed nicer. Isn't Blitz also newer than AMOS? AMOS is still quite old school.
Yeah, I believe so.
Karlos is offline  
Old 21 August 2024, 17:01   #103
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,179
Quote:
Originally Posted by Karlos View Post
A while later there was a DK book series that showed a nicer way. It used the DEF FN keyword to define a function that would run a machine code routine from basic. It didn't include listings of the machine code, just the pokes, but there was some obvious boiler plate bytes in every example. Decoding those showed me how it was getting the variables passed to the declared function from the basic stack. Knowing that, I could write my own assembly routines that could be called from basic as a function. Happy days.
Those would be the "Step By Step" programming guides from Dorling Kindersley. I have all four. The two that introduced m/c routines in DEF FN were books 3 and 4:

https://spectrumcomputing.co.uk/alt/...ics-Book_Three

https://spectrumcomputing.co.uk/alt/...hics-Book_Four

You can find the PDFs of those on those links.

Last edited by TCD; 21 August 2024 at 17:14. Reason: Fixed the quote
Dunny is offline  
Old 21 August 2024, 17:14   #104
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Damn! Nostalgia overload.
Karlos is offline  
Old 21 August 2024, 19:23   #105
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
These are available for the C64 as well.
Thorham is offline  
Old 21 August 2024, 20:13   #106
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,179
Quote:
Originally Posted by Thorham View Post
These are available for the C64 as well.
They're superb and possibly my most treasured computer books. I got so much mileage out of them back in the day.
Dunny is offline  
Old 22 August 2024, 08:29   #107
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
Quote:
Originally Posted by Dunny View Post
They're superb and possibly my most treasured computer books.
Sadly they don't make them like that anymore
Thorham is offline  
Old 22 August 2024, 10:36   #108
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
I had books 3 and 4. I have no idea what happened to them. I still have a ZX Spectrum owners manual though, the original ringbound one with the strange floating cityscape at sunset/sunrise cover.
Karlos is offline  
Old 22 August 2024, 12:57   #109
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,759
I think any language helps, but your first language(s) should be 1) simple and 2) educational. BASIC was, in the 1970s.

Simple can mean 3 things: a) limited, b) not limited but low-level (write all the code), c) not limited and written code available, but you must learn a bunch of custom libs which will break and change. a keeps the language simple and easy to learn, while b and c keeps the language simple and hard to learn, and c means you have only custom knowledge about opaque functions, knowledge which is worth nothing and useless to learn.

Early languages also had to be limited to be small in size and leave enough RAM for programs. Some limitations like line numbers also came from something like this; to make the editor smaller and faster. BASIC is BASIC even without line numbers, and most BASICs did have functions of a sort.

I would say languages classed as educational would be a better start; this excludes the C family but includes languages like the Pascal family, Lingo, etc. But BASIC wasn't bad for the 1970s and early 80s. You could do a lot. Some dialects were bad tho, like the C64 BASIC.
Photon is offline  
Old 22 August 2024, 13:51   #110
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
I would suggest that Python fills the gap of simplicity and ease of learning, except that it's not really an option for learning to program on the Amiga.

I think Blitz Basic is probably an OK dialect though, it does support things that prepare you for moving on, like scalar types, structures and pointers and what not and it's not too much of a word salad.
Karlos is offline  
Old 22 August 2024, 20:01   #111
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,416
Also, to an extent it will depend on whatever reading material and / or tutorials you have. Even BASIC is a steep learning curve if all you have is a blank screen with a blinking cursor. The Usborne BASIC books in the '80s were wonderful learning material and taught me basic, despite the dialect used by my Atari being unsupported and thus incompatible with 80% of the material.

But I also had (and still have) an extremely dry book that does its best to put any aspiring coder off learning even BASIC. It's called Programming Your Atari Computer by Mark Thompson (viewable here), and spends 85 pages lecturing on computer theory, boolean algebra, binary arithmetic and so on before introducing a single command. As a kid, it might have put me off coding if I didn't also have access to the Usborne books in the library.
Daedalus is offline  
Old 22 August 2024, 20:40   #112
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,210
This again something that Python actually does quite well. It's entirely possible to learn basic (hah!) programming with nothing but the default Python documentation included with the language.
Locutus 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 07:18.

Top

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