![]() |
![]() |
#101 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
Quote:
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. |
|
![]() |
![]() |
#102 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
|
![]() |
![]() |
#103 | |
Registered User
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,184
|
Quote:
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 |
|
![]() |
![]() |
#104 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
Damn! Nostalgia overload.
|
![]() |
![]() |
#105 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,965
|
These are available for the C64 as well.
|
![]() |
![]() |
#106 |
Registered User
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,184
|
|
![]() |
![]() |
#107 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,965
|
|
![]() |
![]() |
#108 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
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.
|
![]() |
![]() |
#109 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,761
|
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. |
![]() |
![]() |
#110 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
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. |
![]() |
![]() |
#111 |
Registered User
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. |
![]() |
![]() |
#112 |
Registered User
Join Date: Jul 2014
Location: Finland
Posts: 1,211
|
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.
|
![]() |
![]() |
#113 | |
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,862
|
Quote:
I went to the official python website and after clicking through five levels 'Python for Beginners", 'Beginner Guide', ' Beginner's Guide/Tutorial', and 'Beginners Python Course', I was asked to pay € 39.00. Scrolling down for the 'free' beginner’s Python tutorial instead, I was assaulted by ads trying to trick me into making money for them. So I googled 'python language documentation' and got this. Another click for 'The Python Tutorial' and then another click to 'Whetting Your Appetite' which tells us that 'If you’re a professional software developer... Python is just the language for you!' Appetite not whetted. ![]() |
|
![]() |
![]() |
#114 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
If you can already program in another language, python is a doddle - especially if all you want to do is basic procedural/imperative code.
|
![]() |
![]() |
#115 |
Registered User
Join Date: Jul 2014
Location: Finland
Posts: 1,211
|
You can skip to the next page and it'll introduce you to the first learning mechanism, a REPL. One of the better didactic tools for programming instruction.
And then you are ready to continue on the page after that to interactively learn how the primitive types work. But engaging with Bruce is a folly, so I don't know why I bother. (Yes, there's going to be a witty mind bending line of reasoning coming now) |
![]() |
![]() |
#116 |
J.M.D - Bedroom Musician
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,680
|
|
![]() |
![]() |
#117 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
Python gets used by professionals too, just not necessarily software engineers first. It's big in data processing, visualisation and AI. It doesn't do these things itself but it has bindings for all the main technologies that do, and as such is a glue language that people with secondary skills in programming can use without much difficulty. You can easily wield absurds amount of GPU accelerated compute from just a few lines of python code.
It's not my particular cup of tea, but I do understand why it gets used. |
![]() |
![]() |
#118 | ||||||
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,862
|
The OP says:-
Quote:
Quote:
Quote:
Proper computing languages like C don't have GOTO, and all variants were so consistent that K&R was all you needed, even before '89. Furthermore, accepting that programs take take ages to compile and throw up heaps of cryptic errors if you make the slightest mistake, or silently accept that missing semicolon or out of range pointer and go awry and corrupt memory at run time, is what separates real programmers from amateur wannabes. ![]() This complaint didn't apply to Amiga BASIC though, which was fully structured and had extensive support for the Amiga's powerful OS and hardware. Sadly it suffered from being a Mac port, which meant it was incompatible with 32 bit CPUs, and Microsoft didn't fix it (I presume) because Commodore didn't want to - or couldn't afford to - pay them for it. Quote:
Quote:
Quote:
By the time the Amiga arrived many 'leading' developers were already experienced in asm, and so may have transitioned directly to it on the Amiga. However this required programming tools that initially were sparse and difficult to use. I got the MetaComCo assembler for my A1000, but it was a pain to work with so I used Amiga BASIC until something better came along. In my case that was AssemPro, which came with the book Amiga Machine Language by Abacus. |
||||||
![]() |
![]() |
#119 | ||
Registered User
Join Date: Mar 2018
Location: Hastings, New Zealand
Posts: 2,862
|
Quote:
I see Micropython for the Amiga classic has just been released on Aminet. 440k of super-efficient compiled code, ready for you to create the next hot Amiga game on your A500! - provided that you have OS 3.1, bsdsocket.library, and preferably 4 MB of RAM (though it 'may' work in less). MicroPython Quote:
Still, at least it has 'advanced features' such as an interactive prompt. If only BASIC had that! |
||
![]() |
![]() |
#120 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,931
|
Reading the opinions on this thread and ruminating on the last 30 odd years of personal and professional experience is oddly cathartic.
Back when I moved to C, and soon after C++, I was such an opinionated, insufferable prick of a language zealot. Fast forwards to now and I'd like to think that's changed. I'm much more of the view that all languages are tools and you pick whichever suits your needs best. One our of two isn't bad, I suppose... ![]() |
![]() |
Currently Active Users Viewing This Thread: 4 (3 members and 1 guests) | |
Karlos, Bruce Abbott, DanScott |
Thread Tools | |
![]() |
||||
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 |
|
|