![]() |
![]() |
#81 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
I always remember finding arp.library on bootable floppies.
|
![]() |
![]() |
#82 | |
Registered User
Join Date: Jul 2014
Location: Finland
Posts: 1,210
|
Quote:
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. |
|
![]() |
![]() |
#83 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
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. |
![]() |
![]() |
#84 |
Registered User
Join Date: Jul 2014
Location: Finland
Posts: 1,210
|
It's 2024, still nobody groks Forth.
|
![]() |
![]() |
#85 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
|
![]() |
![]() |
#86 |
Registered User
Join Date: May 2023
Location: Norwich
Posts: 530
|
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.
|
![]() |
![]() |
#87 |
Registered User
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,179
|
|
![]() |
![]() |
#88 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
|
![]() |
![]() |
#89 |
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. |
![]() |
![]() |
#90 |
Alien Bleed
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. |
![]() |
![]() |
#91 |
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. |
![]() |
![]() |
#92 |
Alien Bleed
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.
|
![]() |
![]() |
#93 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
|
|
![]() |
![]() |
#94 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
|
![]() |
![]() |
#95 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
|
|
![]() |
![]() |
#96 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
|
|
![]() |
![]() |
#97 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
Quote:
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. |
|
![]() |
![]() |
#98 | |
Registered User
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 732
|
Quote:
I don't think there is a simpler language than C. |
|
![]() |
![]() |
#99 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
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. |
![]() |
![]() |
#100 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,964
|
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
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 |
|
|