English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 20 August 2024, 22:22   #81
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
I always remember finding arp.library on bootable floppies.
Karlos is offline  
Old 20 August 2024, 22:46   #82
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,210
Quote:
Originally Posted by Karlos View Post
Other than BASIC, what other languages that are suitable for people just getting to grips with the concepts are there for thr Amiga? I remember there was Pascal, too.

I think this might be more a problem of the era then Amiga specifically and how we now think about easily accessible programming, such as by your follow up comment about Python.


In the 80's reasonably mature, featureful dynamically typed languages with automatic memory management just didn't exist outside of academia on minicomputers.



So for the home you are left with BASIC.
Locutus is offline  
Old 20 August 2024, 22:55   #83
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by Locutus View Post
In the 80's reasonably mature, featureful dynamically typed languages with automatic memory management just didn't exist outside of academia on minicomputers.

So for the home you are left with BASIC.
Back when I was rocking a ZX Spectrum, one of the first alternative languages I tried was Forth. It was compiled and promised the speed of machine code and the ease of BASIC. I didn't grok it at the time though. Mind you, I was still in primary school.

Last edited by Karlos; 21 August 2024 at 00:07.
Karlos is offline  
Old 20 August 2024, 23:20   #84
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,210
It's 2024, still nobody groks Forth.
Locutus is offline  
Old 20 August 2024, 23:27   #85
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by Locutus View Post
It's 2024, still nobody groks Forth.
I grok the basic stack machine, just not the language itself lol
Karlos is offline  
Old 20 August 2024, 23:50   #86
AestheticDebris
Registered User
 
Join Date: May 2023
Location: Norwich
Posts: 530
Quote:
Originally Posted by Karlos View Post
It seems that these days, Python is the go to language for learning to program on modern systems.
Python is basically the modern reinvention of VB6, by those too young to have lived through the horrors of the original. It's fine for quick and dirty disposable code, but terrible for anything you actually have to maintain long term.
AestheticDebris is offline  
Old 20 August 2024, 23:51   #87
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,179
Quote:
Originally Posted by Karlos View Post
I grok the basic stack machine, just not the language itself lol
Interestingly (or not, you choose) it was my experience with Forth (and RPN in general) that led me to the shunting yard algorithm and then to build an entire BASIC interpreter around it
Dunny is offline  
Old 21 August 2024, 00:03   #88
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by Dunny View Post
Interestingly (or not, you choose) it was my experience with Forth (and RPN in general) that led me to the shunting yard algorithm and then to build an entire BASIC interpreter around it
That is interesting.
Karlos is offline  
Old 21 August 2024, 09:51   #89
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,210
I think that in a way Forth is just to low-level and abstract to be pleasant for a beginner, it's all primitives on a stack machine and very little ergonomics and higher order types etc.

The cognitive load of that just gets in the way of learning 'programming basics', which is indeed something that Python and Lua are excellent at. It's very easy to reason about what you want without being dragged down by complexities you shouldn't need to handle at that point.

As for Python and long-term maintainability. I'd say it's much better now then it was 10 years ago, Types are now pretty much pervasive in a modern Python3 codebase, various dev tools are mature (in part due to typing!) and the whole library ecosystem has quite competent options you can build good future-extendable architectures on top of.

Is it still the same as writing Python 2.7 code? No, and I'm happy with that.

Now, I still would think carefully before picking Python for a large project, but that's fitness tests are part of any sane development process.
Locutus is offline  
Old 21 August 2024, 11:00   #90
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
I do wonder if a more accessible language syntax could be implemented for the Forth machine. Just for fun.

I think Python 3 is a reasonable choice for learning how to write code. As much as I like braces for blocks and whitespace agnosticism, I think they might be noise to a beginner and the rigorous indentation without braces is probably more effective at enforcing block structure for people new to the concept.

My preference is always going to be C and C++ but I definitely wouldn't recommend those to a beginner. You need something you can write and run immediately to see results, without a compilation phase full of errors killing your enthusiasm.
Karlos is offline  
Old 21 August 2024, 11:46   #91
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,210
I don't think a compilation phase is even really the problem if it's reasonably fast enough.

More advanced type systems like exposed by Haskell and Rust move a lot of compile time errors back into the development flow, which i think is probably the right thing to do as it's the fastest iteration cycle possible. (Yes i know, you can't just magic all the things in your type system).

I personally like Haskell a lot and have done non-trivial commercial projects in it, and again there whitespace as part of the syntax and a strong type system really help with keeping the 'noise' down and allowing you to focus on purely your problem domain logic. (Okay, Haskell's terminology isn't conducive for beginners.....).

To keep my stream-of-concousness-writing up, while in the shower in the morning I was thinking about this conversation and remembered AREXX.

I think AREXX was actually the very first programming language I learned, and back in the day wrote some simple self-learner stuff as a 12 year old on a A1200 with OS3.0 with it.

(A)REXX does actually fit a nice spot of a dynamic typed language, I just browsed the docs for it to refresh my memory a bit again and it actually looks pretty readable and all.

Perhaps it's a bit of a bummer that it only really was used as IPC glue, I'd imagine that with full first class native bindings to Intuition/Gadtools etc it could have been nice as a RAD environment.

But hey, we all know about Commodore and continued software investments.
Locutus is offline  
Old 21 August 2024, 12:14   #92
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
I used ARexx quite a bit as a general scripting language for AmigaOS, to be fair. I was able to make it interact with Reaction using AWNPipe on 3.5 but it was a little bit and miss. Occasionally, something would get lost. I don't know if that was a bug in my code or a bug in AWN.
Karlos is offline  
Old 21 August 2024, 12:18   #93
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
Quote:
Originally Posted by Karlos View Post
I just couldn't get into AMOS, it felt too weird and alien. I assume this is less so with AMOS Pro since it seems to support intuition properly.
AMOS is really for games, so OS support isn't so important.
Thorham is offline  
Old 21 August 2024, 12:20   #94
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by Thorham View Post
AMOS is really for games, so OS support isn't so important.
Sure, I get that. It just wasn't for me.
Karlos is offline  
Old 21 August 2024, 12:20   #95
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
Quote:
Originally Posted by AestheticDebris View Post
Python is basically the modern reinvention of VB6
No, it's not. Python and VB6 are both from 1991.
Thorham is offline  
Old 21 August 2024, 12:22   #96
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
Quote:
Originally Posted by Karlos View Post
Sure, I get that. It just wasn't for me.
Okay, thought it might be the lack of OS support that caused that.
Thorham is offline  
Old 21 August 2024, 12:26   #97
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by Dunny View Post
Interestingly (or not, you choose) it was my experience with Forth (and RPN in general) that led me to the shunting yard algorithm and then to build an entire BASIC interpreter around it
Just flitting back and Forth, this reminds me. My failure to understand Forth as a kid looking for something faster than BASIC is what spurred me to just learn assembler instead. I managed to get some books from the library covering it. The biggest challenge was that I didn't actually have an assembler, so I had to write the assembly code on 5mm block graph paper, then translate that to bytes a few columns over (along with the size of each operation for working out branch offsets), then write a basic program to poke it all in, save it, run it, trigger thr machine code, watch it crash, redo it all from the last save. Damn it was laborious. Some time later I did get an assembler. Maybe it was Zeus. I can't quite remember.

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.

Last edited by Karlos; 21 August 2024 at 12:35.
Karlos is offline  
Old 21 August 2024, 12:40   #98
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 732
Quote:
Originally Posted by Karlos View Post
My preference is always going to be C and C++ but I definitely wouldn't recommend those to a beginner. You need something you can write and run immediately to see results, without a compilation phase full of errors killing your enthusiasm.
I understand the feeling about C++, but C?
I don't think there is a simpler language than C.
alkis is offline  
Old 21 August 2024, 12:41   #99
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,924
Quote:
Originally Posted by Thorham View Post
Okay, thought it might be the lack of OS support that caused that.
That was part of it, but I understand the reasoning and don't have an axe to grind. The rest was that it felt weird overall. For example, some of the keywords like Poke,Woke, Loke, Peek, Week, Leek. I appreciate the parser/tokeniser probably benefits from this, but it was a word salad. Being able to Poke.<size> was a lot more intuitive to me, which is part of the reason I found Blitz a better fit.

Last edited by Karlos; 21 August 2024 at 12:50.
Karlos is offline  
Old 21 August 2024, 12:46   #100
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
Quote:
Originally Posted by Karlos View Post
Being able to Poke.<size> was a lot more intuitive to me
That's indeed nicer. Isn't Blitz also newer than AMOS? AMOS is still quite old school.
Thorham 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 05:22.

Top

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