English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language

 
 
Thread Tools
Old 03 September 2016, 03:32   #1
TroyWilkins
Registered User
 
TroyWilkins's Avatar
 
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.
TroyWilkins is offline  
Old 03 September 2016, 09:29   #2
Zetr0
Ya' like it Retr0?
 
Zetr0's Avatar
 
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.
Zetr0 is offline  
Old 03 September 2016, 10:21   #3
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
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
alkis is offline  
Old 03 September 2016, 12:32   #4
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 4,332
Blitz or E.
idrougge is offline  
Old 03 September 2016, 12:59   #5
TroyWilkins
Registered User
 
TroyWilkins's Avatar
 
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.
TroyWilkins is offline  
Old 03 September 2016, 14:05   #6
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
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.
Daedalus is offline  
Old 03 September 2016, 14:14   #7
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,176
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.
Locutus is offline  
Old 03 September 2016, 14:36   #8
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
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.
Daedalus is offline  
Old 03 September 2016, 14:41   #9
Zetr0
Ya' like it Retr0?
 
Zetr0's Avatar
 
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
Zetr0 is offline  
Old 03 September 2016, 17:30   #10
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by Daedalus View Post
They all have their advantages and disadvantages.
Perhaps, but it's crystal clear that AMOS is extremely crappy for writing OS friendly tools. It's just not what it's for.
Thorham is online now  
Old 03 September 2016, 19:37   #11
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
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
alkis is offline  
Old 03 September 2016, 20:26   #12
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by alkis View Post
Nothing could beat C in searching the web for an example/sample though
Thorham is online now  
Old 04 September 2016, 01:38   #13
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Quote:
Originally Posted by Thorham View Post
Perhaps, but it's crystal clear that AMOS is extremely crappy for writing OS friendly tools. It's just not what it's for.
Absolutely, AMOS is a fine option for writing games but doesn't give you much in the way of system-friendliness or API access.
Daedalus is offline  
Old 04 September 2016, 01:51   #14
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 4,332
It's not as though C was a thoroughly thought-out language.

Last edited by idrougge; 04 September 2016 at 04:58. Reason: spelling
idrougge is offline  
Old 04 September 2016, 03:28   #15
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
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.
Samurai_Crow is offline  
Old 04 September 2016, 03:56   #16
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by Samurai_Crow View Post
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.
E has all caps keywords
Thorham is online now  
Old 04 September 2016, 04:56   #17
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 4,332
Thorham, I know you use an editor that can handle that for you.
idrougge is offline  
Old 04 September 2016, 10:37   #18
Zetr0
Ya' like it Retr0?
 
Zetr0's Avatar
 
Join Date: Jul 2005
Location: United Kingdom
Age: 49
Posts: 9,768
Quote:
Originally Posted by idrougge View Post
Blitz or E.
'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.
Zetr0 is offline  
Old 04 September 2016, 13:16   #19
idrougge
Registered User
 
Join Date: Sep 2007
Location: Stockholm
Posts: 4,332
Quote:
Originally Posted by Zetr0 View Post
I could be wrong I am unaware of anything good to come from Amiga 'E'!
Photogenics?
idrougge is offline  
Old 04 September 2016, 14:01   #20
daxb
Registered User
 
Join Date: Oct 2009
Location: Germany
Posts: 3,303
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.
daxb 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
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

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 17:41.

Top

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