03 September 2016, 03:32 | #1 |
Registered User
Join Date: Jan 2015
Location: Melbourne, Australia
Posts: 548
|
Beginner to Amiga coding.
Hi everyone.
I'd like to learn to code on the Amiga, but I have no idea where to start, what language to choose. I never really advanced too far beyond Basic on the Vic 20 and on the Atari 400. I'd like to learn how to code system legal tools for the Amiga that work on any Amiga in Workbench, although if push comes to shove I do prefer Workbench 2 onwards (and that's what I've got). So, should I learn C? Amos? Blitz? My understanding is that Amos isn't great for system legal stuff, or am I wrong there? Thanks in advance for any and all help. |
03 September 2016, 09:29 | #2 |
Ya' like it Retr0?
Join Date: Jul 2005
Location: United Kingdom
Age: 49
Posts: 9,768
|
@TroyWilkins
If it is for dedicated Amiga based software and you want something up quick - then Blitz is what you are looking for - Amos is okay, if you put the effort in, but it has a lot more limitations compared to Blitz. I was lucky, I had learned both C / C++ before AMOS or Blitz where on the Amiga. C/C++ (the latter doesn't have much compiler support) but give you FULL control of the Amiga environment, including jumping into INLINE assembly for faster routines - as well as compiling one's whole project to ASM so you can tighten (speed up loops, look ups and conditions) Also I found that Blitz is very 'C' like in a lot of ways which is always a win for me =) So from what you have up there I would humbly suggest Blitz, of the 3 you would get the quickest return on effort. C would be the lowest return as there is a lot more effort to get stuff to the screen, but retrospectively there is a lot more support in regards to logic problems, and on line help. I would say Blitz, C and by that time you wont bother with AMOS. |
03 September 2016, 10:21 | #3 |
Registered User
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 727
|
Well, if you want to code "system legal tools" I'd go for C.
If you had wanted to quickly experiment with graphics/game stuff then Blitz/Amos. Btw, if you can give a 'for instance' on a system legal tool it will probably help |
03 September 2016, 12:32 | #4 |
Registered User
Join Date: Sep 2007
Location: Stockholm
Posts: 4,362
|
Blitz or E.
|
03 September 2016, 12:59 | #5 |
Registered User
Join Date: Jan 2015
Location: Melbourne, Australia
Posts: 548
|
Thank you everyone for the responses. The main reason I want to learn is as a learning tool, to learn more about the Amiga and how Intuition, Exec, AmigaDOS and so forth are called upon, and how they work. What do I want to do? Basic stuff really - Open a window to a specific size on an existing screen, make up manus, open a new screen, experiment with calling different common libraries for things such as file requesters, and much further down the track, explore the datatypes system from Workbench 3 onwards and how that can be used to load data.
From memory, the RKMs were written in such a way that C was assumed, I nearly ordered them back in 1993, but was put off by not knowing C and they were not exactly cheap from memory. Now that so much information is now available online, I'm hoping learning more will be somewhat easier, despite me not exactly being a young lad anymore. |
03 September 2016, 14:05 | #6 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,399
|
You're correct in that the OS documentation, header files etc. are written with C in mind and as such, C might be the most obvious route for finding example source and matching official documentation. But as others have said, Blitz can also be used to do everything you've listed and much more, and is just as well suited to system-friendly coding as it is to graphics and games.
There's a decent bit of documentation available on AmigaCoding.com for getting started with Blitz, but one of the first things to decide is whether to use Blitz Basic 2 or AmiBlitz 3. AmiBlitz 3 is much evolved beyond Blitz 2, but as a result also has higher system requirements (020, FPU, more RAM etc.). The basics are still the same between both versions however, and if your target is a machine with little or no expansion, the older Blitz 2.1 is the way to go. The "Ultimate Blitz Basic CD" is the best edition of Blitz 2.1, and you can find that ISO on archive.org. AmiBlitz 3 is on Sourceforge, and your best bet is to download the latest snapshot as many things have been updated since the last full release. |
03 September 2016, 14:14 | #7 |
Registered User
Join Date: Jul 2014
Location: Finland
Posts: 1,192
|
Pretty much the whole environment (except for amigados shit) is oriented around C. Just go with that.
AMOS/Blitz/etc don't make sense, why fiddle with badly thought out crap languages when there is proper C with reasonably usable toolchains. If you need some background on how it all works just grab the OS sourcecode. In a lot of cases a great documentation archive. |
03 September 2016, 14:36 | #8 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,399
|
They all have their advantages and disadvantages. It's worth investigating all options before writing them off as "badly thought out crap languages".
A lot of the OS source is in 68k assembly, which is probably extremely heavy going and therefore offputting for someone just starting out. The development documentation (available here) is more likely to be of value for learning the fundamentals of the OS, and the information contained can generally be applied to any language used to access the Amiga APIs. |
03 September 2016, 14:41 | #9 |
Ya' like it Retr0?
Join Date: Jul 2005
Location: United Kingdom
Age: 49
Posts: 9,768
|
@TroyWilkins
If you do plumb for a "C" distribution, I would recommend Storm C 3.0 - Also a great program called GADTOOLS - this is a wysiwyg screen / window / button program that outputs C code for you to put your functions in - I used it a lot back in the day =D This has gotten me a little excited reminiscing about my old tool-chain setup ... I can see a short afternoon with WinUAE in the near future =D |
03 September 2016, 17:30 | #10 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,891
|
|
03 September 2016, 19:37 | #11 |
Registered User
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 727
|
If you don't mind investing time to a "dead language" you might want to check Hisoft Basic 2.
It's basic so you are familiar with it and it kind of allows system calls and all. PS: "Dead language" as in compiler will never see an update and such... PPS: Nothing could beat C in searching the web for an example/sample though |
03 September 2016, 20:26 | #12 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,891
|
|
04 September 2016, 01:38 | #13 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,399
|
|
04 September 2016, 01:51 | #14 |
Registered User
Join Date: Sep 2007
Location: Stockholm
Posts: 4,362
|
It's not as though C was a thoroughly thought-out language.
Last edited by idrougge; 04 September 2016 at 04:58. Reason: spelling |
04 September 2016, 03:28 | #15 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,213
|
AmigaE is almost as good as C but is easy to learn unlike the cryptic pointer arithmetic and casting requirements of C. In some ways it is better to learn AmigaE with its object oriented programming.
|
04 September 2016, 03:56 | #16 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,891
|
|
04 September 2016, 04:56 | #17 |
Registered User
Join Date: Sep 2007
Location: Stockholm
Posts: 4,362
|
Thorham, I know you use an editor that can handle that for you.
|
04 September 2016, 10:37 | #18 |
Ya' like it Retr0?
Join Date: Jul 2005
Location: United Kingdom
Age: 49
Posts: 9,768
|
'E' ... Really.... now I know your trolling !
I could be wrong I am unaware of anything good to come from Amiga 'E'! AMOS has "SuperFoulEggs", Blitz has "SkidMarks" (poory surpressing immature chuckle) as well as many others (hehe - failed.) @TroyWilkins I have been programming in C for.... err.. since I was 15... so thats 1...2... 4... err... 27 years =) Initially I taught myself 'C' from a book at the library, I managed to find some apps "Dice 'C' and Lattice 'C'" on the Amiga - I had an A600 with 20MB Hard Disk at this time - a little later came GadTools - I have yet to play with this version!. I started working for a company called MicroTech in 1994 where I got qualifications in C/C++, Program Design Methodology and Systems Analysis. I truly enjoy working in C, even on the Amiga - however it does have some eccentricities that are not present on the PC, retrospectively it does have plenty of support. As Samurai Cow points out it can get a tad counter intuitive - especially "void pointers and pointer arithmetic" - but these are skills you will learn - as with any other language. There are a few books I can recommend for you and some resources - I have no doubt that with some of the commenter's here - they will have good links to resources and examples for you as well. Since I have the day, I am going to put together a simple Storm'C' and Gad Tools tool chain today - I haven't compiled anything on the Amiga in probably over 10 years!! Then maybe I will make a YouTube of it. |
04 September 2016, 13:16 | #19 |
Registered User
Join Date: Sep 2007
Location: Stockholm
Posts: 4,362
|
|
04 September 2016, 14:01 | #20 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,315
|
Daniel Westerberg ( www.onyxsoft.se ) is using E for his programs and he did/does a lot useful/good stuff. Furthermore, E source looks more readable then C for me but that may doesn`t mean much.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Amiga Coding: where to begin? | Mr Softy | Coders. General | 27 | 01 March 2017 11:32 |
Amiga Emulation Beginner: Questions | beaglelover | New to Emulation or Amiga scene | 1 | 18 February 2016 04:11 |
Got new amiga, some questions about coding | defcon8 | Coders. Asm / Hardware | 2 | 06 April 2015 08:37 |
Any of you Coding on Amiga? | Amiga Forever | Coders. General | 42 | 31 January 2012 02:58 |
Interested in coding on the amiga. | Gandalf | Coders. General | 7 | 16 August 2011 10:30 |
|
|