Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
13 crawler(s) on-line.
 121 guest(s) on-line.
 0 member(s) on-line.



You are an anonymous user.
Register Now!
 Comi:  6 mins ago
 Gunnar:  9 mins ago
 amigakit:  27 mins ago
 vox:  52 mins ago
 zipper:  55 mins ago
 kolla:  1 hr 2 mins ago
 OneTimer1:  1 hr 16 mins ago
 BigD:  1 hr 59 mins ago
 OlafS25:  2 hrs 1 min ago
 NutsAboutAmiga:  2 hrs 32 mins ago

/  Forum Index
   /  Amiga Development
      /  Programming tools and Information
Register To Post

Goto page ( 1 | 2 Next Page )
PosterThread
nzv58l 
Programming tools and Information
Posted on 28-Jul-2015 21:22:27
#1 ]
Super Member
Joined: 7-Oct-2003
Posts: 1640
From: Michigan

I finally got my AmigaOne XE loaded with Amiga OS4.1 FE.

So now I am starting fresh, and I wanted to start programming on the AmigaOne. I had done some programming on a Tandem Midrange, and dabbled here and there on the C64 in the golden age of Commodore, so I am much more skilled in procedural programming, but kind of green when it comes to object oriented programming. I had a C++ course in collage that did not seem to get much into object oriented programming until the very end of the class. (I would like to get more practice). I am not a fan of external components. To me if it doesn't compile into the executable then there is a chance of it breaking later on.

I have downloaded the SDK, and to tell the truth, there is so much documentation I do not know where to start reading first.

I would like to know where I could go to find out more how to program specifically on OS 4.1fe?

I would also like to know what tools are considered stable and help with being productive?

Even though C++ is not my favorite language, it is by far the industry standard, so I would like to keep that in mind. However, I have used other languages and I do not have a problem using them. Just that I would like to sharpen my C++ skills.

I was thinking of using the book I have from college as a guide and try replicating everything on the AmigaOne, but I would be really interested in some AmigaOne specific tutorials.

I am also pondering the idea that others may want to learn to program on the AmigaOne and perhaps get a group of people to touch base like once or twice a month to all go through the same projects at the same time so if one of us can not figure out something it may be easier being part of a group rather than trying to do it alone. Now that Amiga OS 4.1 FE is available for classic PPC's it is now possible to run it in UAE with the right setup on a PC or Laptop. I think the price of OS 4.1 FE is very reasonable for an OS, there is really not too much excuse to sit on the sidelines any more.

I have a few projects in mind, some simple and some complex. I would like to get my skill set up enough to start writing some of them.

 Status: Offline
Profile     Report this post  
jap 
Re: Programming tools and Information
Posted on 28-Jul-2015 23:15:23
#2 ]
Member
Joined: 10-Oct-2005
Posts: 63
From: Unknown

@nzv58l

Hi nzv58l,
The AmigaOS Documentation Wiki has a tutorial section targeted for beginning developers: Tutorials. I recommend starting from the AmiWest 2012 tutorials. You may also want to join OS4 Coding forum.

My favourite IDE is CodeBench. An another option is Cubic IDE. CodeBench is free while Cubic IDE costs €44.90.

 Status: Offline
Profile     Report this post  
Steady 
Re: Programming tools and Information
Posted on 29-Jul-2015 0:23:30
#3 ]
Regular Member
Joined: 1-Nov-2004
Posts: 211
From: Melbourne, OZ

@jap

Just a note on Cubic IDE. It was really good, but I found it encountered problems on the latest AmigaOS versions so I gave up using it, so maybe that isn't your best choice. It's a shame because it is quite good otherwise. For AmigaOS 4.x programming, Codebench is my favourite too.

 Status: Offline
Profile     Report this post  
ggw 
Re: Programming tools and Information
Posted on 29-Jul-2015 3:14:57
#4 ]
Super Member
Joined: 24-May-2003
Posts: 1106
From: Austin, TX

@nzv58l

For quite a few issues now, Amiga Future's color magazine has had articles on programming which is VERY specific to OS4.

Go check out their web site.

_________________
..effects of civilization upon...nature, the growing gap between what education was supposed to accomplish and what it consisted of, the national debt and...high taxes, the problem of the excess cost of medical care -- Philip Wylie, 1951

 Status: Offline
Profile     Report this post  
kamelito 
Re: Programming tools and Information
Posted on 29-Jul-2015 11:52:45
#5 ]
Cult Member
Joined: 26-Jul-2004
Posts: 813
From: Unknown

In all produced Amiga C programming book is there a good one?

Kamelito

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: Programming tools and Information
Posted on 29-Jul-2015 12:12:42
#6 ]
Elite Member
Joined: 9-Jun-2004
Posts: 12795
From: Norway

@kamelit0

The problem is that C (C++) programing is a big topic, there are 100.000 of libraries and things to read about.

Generally, it is a good idea to start with something simple like SDL, SDL is maybe not Amiga API, but it is simple to begin with, just to learn the syntax and C language before diving too deep.

AmigaOS API is simple for people who knows it, to everyone else, I'm not so sure, the thing is that not everything you need to know is in the documentations, some time you need to also read the header files.

Generally, you need lots of time, and you must not be afraid of asking stupid questions, and google is your friend, many questions has been asked before and you can find answers too, somewhere on the internet.

Last edited by NutsAboutAmiga on 29-Jul-2015 at 01:21 PM.
Last edited by NutsAboutAmiga on 29-Jul-2015 at 12:23 PM.

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Offline
Profile     Report this post  
Hypex 
Re: Programming tools and Information
Posted on 29-Jul-2015 14:12:27
#7 ]
Elite Member
Joined: 6-May-2007
Posts: 11180
From: Greensborough, Australia

@nzv58l

Hello and welcome to AmigaOS programming.

First, I want to make a point of relief, that is do not concern yourself with C++ and OOP. The fact is OS4, like its predessors, uses classic procedural programming. The only time I have used C++ is when porting Linux code, so not exactly AmigaOS OOP there.

Now, that being said, both OS3 and OS4 do contain OOP elements. In fact the OS3 Datatype system is built upon it. The OS4 API is designed with it in mind. And the Expansion API makes use of it. But OS4 does not use C++ itself, it is all based on normal C.

Some things like API calls use compiler magic to call a "method" off an "interface" pointer like you would in C++. Other things like the OOP Dayatype system remain in C code and have no macros to duplicate OOP calling methods. So they can look confusing for a programmer with no experience in OOP (the old me) and look messy for someone who understands OOP (the current me).

The best thing to do would be to start simple and work your way up. Say a CLI command. Then opeing windows and plotting some gfx. To opening a small GUI. I do agree, that learning to program AmigaOS from scratch, is like jumping into the deep end because you have to learn all its funny ways of doing things. Where as most of use learned about AmigaOS from programming books of the day and playing with assembler. Or C. I had a mix of both. And then AmigaE.

Good luck on your first steps!

Last edited by Hypex on 29-Jul-2015 at 02:17 PM.

 Status: Offline
Profile     Report this post  
nzv58l 
Re: Programming tools and Information
Posted on 29-Jul-2015 20:58:29
#8 ]
Super Member
Joined: 7-Oct-2003
Posts: 1640
From: Michigan

Thanks everyone for the info.

I have a ton of old Amiga programming books, like the abacus series and some about programming the Amiga in C. I wonder if these are of any use or will they just confuse things? I expect that the simple things will remain the same as C on any platform, but Amiga Specifics I expect have changed quite a bit.

For the very start, is there documentation on how to compile a simple "hello world" type program from the CLI?

and then perhaps the same thing in a Window?

 Status: Offline
Profile     Report this post  
nbache 
Re: Programming tools and Information
Posted on 29-Jul-2015 22:07:12
#9 ]
Super Member
Joined: 8-Apr-2003
Posts: 1034
From: Copenhagen, Denmark

@nzv58l

Quote:
For the very start, is there documentation on how to compile a simple "hello world" type program from the CLI?
Apparently you haven't read the "AmigaOS 4.1 SDK.pdf" at the root of your newly installed SDK.

Do that first. It gives you exactly this information - plus quite a bit of other useful stuff.

Best regards,

Niels

 Status: Offline
Profile     Report this post  
kamelito 
Re: Programming tools and Information
Posted on 31-Jul-2015 18:20:52
#10 ]
Cult Member
Joined: 26-Jul-2004
Posts: 813
From: Unknown

is ""Complete Amiga C" from Cliff Ramshaw"worth reading ?

Thanks
Kamelito

 Status: Offline
Profile     Report this post  
DWolfman 
Re: Programming tools and Information
Posted on 31-Jul-2015 21:23:21
#11 ]
Super Member
Joined: 18-Jun-2003
Posts: 1442
From: Leavenworth, KS USA

@Thread

The ONLY C-language book you will ever need for generic C standard programming (and it's how I learned it years ago): The C Programming Language

As Wikipedia explains, that is the one book considered to be the original de-facto standard reference for the C language, written by Kernighan and Ritchie, the guys who created the language along with Unix at AT&T Bell Labs. The way they described how to write C programs just made sense to me, way more than any other books I've seen. And the second edition had some additional appendixes and updates that made it also work great as a complete standard C language reference if you needed it.

Plus, it appears the second edition is available at various places online for free, like here: http://www.iups.org/media/meeting_minutes/C.pdf

So for C on it's own, that is your best bet.

For the Amiga-specific stuff, you'll need to read the PDF pointed out earlier, the one from the SDK, to get started.

_________________
This posting, in it's entirety, is the opinion and/or statement of the author and does not reflect the views and/or position of this site.

 Status: Offline
Profile     Report this post  
Daedalus 
Re: Programming tools and Information
Posted on 31-Jul-2015 22:14:40
#12 ]
Super Member
Joined: 14-Jul-2003
Posts: 1680
From: Glasgow - UK, Irish born

@kamelit0

Quote:

kamelit0 wrote:
is ""Complete Amiga C" from Cliff Ramshaw"worth reading ?

Yes, I have it and I found it excellent both in college for general C stuff, and for Amiga-specific stuff. It's a little old these days since it mostly concentrates on OS2.x, but it does cover some 3.x stuff as well. Great for covering the basics and getting up and running with OS3.x-type software, and once you have that, newer stuff introduced in the NG OSes should be handy enough to get the hang of.

_________________
RobTheNerd.com | InstallerGen | SMBMounter | Atoms-X

 Status: Offline
Profile     Report this post  
tonyw 
Re: Programming tools and Information
Posted on 31-Jul-2015 23:13:59
#13 ]
Elite Member
Joined: 8-Mar-2003
Posts: 3240
From: Sydney (of course)

@nzv58l

Don't write off C++ completely - all the datatypes and classes are written in C++, if you are into that sort of thing. Besides, all the SDK headers are usable by C++ programs without modification.

Good luck!

_________________
cheers
tony

Hyperion Support Forum: http://forum.hyperion-entertainment.biz/index.php

 Status: Offline
Profile     Report this post  
nzv58l 
Re: Programming tools and Information
Posted on 1-Aug-2015 4:11:34
#14 ]
Super Member
Joined: 7-Oct-2003
Posts: 1640
From: Michigan

@nbache

Reading the AmigaOS 4.1 SDK. pdf now. Exactly what I wanted...

 Status: Offline
Profile     Report this post  
nzv58l 
Re: Programming tools and Information
Posted on 1-Aug-2015 6:08:25
#15 ]
Super Member
Joined: 7-Oct-2003
Posts: 1640
From: Michigan

8.Workbench:Programming/source> ed HelloWorld.c
8.Workbench:Programming/source> gcc -o HelloWorld HelloWorld.c
8.Workbench:Programming/source> HelloWorld
This works!
8.Workbench:Programming/source> type HelloWorld.c
#include

int main()
{
printf("This works!\n");
return 0;
}
8.Workbench:Programming/source>

Yay! Success!

...But how do you compile a C++ version of the same?

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: Programming tools and Information
Posted on 1-Aug-2015 6:45:21
#16 ]
Elite Member
Joined: 9-Jun-2004
Posts: 12795
From: Norway

@nzv58l

use "G++" or "C++",
one should be soft link to the other.

C++ is bit stricter, from my experience with it.
(or maybe it was just the project I was working on.)

For the most part C++, is not needed on AmigaOS4, the header files have no classes.

While what you can type on AmigaOS4 might look like classes, its actually structs with "function pointers". Not classes with methods.
I believe namespaces have found their way into some header files. I found namespaces most annoying and unnecessary.

In C you can use "static" if there is name conflict, that most often solves it. And you have "extern" if was defined elsewhere, or should be defined elsewhere.

Last edited by NutsAboutAmiga on 01-Aug-2015 at 10:53 AM.

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Offline
Profile     Report this post  
itix 
Re: Programming tools and Information
Posted on 1-Aug-2015 7:11:17
#17 ]
Elite Member
Joined: 22-Dec-2004
Posts: 3398
From: Freedom world

@tonyw

Quote:

all the datatypes and classes are written in C++


Really...? I doubt that...

In fact C++ is quite bad choice for datatypes and classes because you are mixing two different OOP systems.

C++ is also quite PITA on Amiga due to strong type checking. You must add typecasts everywhere what would not be necessary in C.

_________________
Amiga Developer
Amiga 500, Efika, Mac Mini and PowerBook

 Status: Offline
Profile     Report this post  
cdimauro 
Re: Programming tools and Information
Posted on 1-Aug-2015 7:37:33
#18 ]
Elite Member
Joined: 29-Oct-2012
Posts: 3621
From: Germany

@NutsAboutAmiga

Quote:

I believe namespaces have found their way into some header files. I found namespaces most annoying and unnecessary.

At least it's something that you can use, since C and C++ aren't modular programming languages.
Quote:
In C you can use "static" if there is name conflict, that most often solves it.

That's only because you're keeping private it on that specific file, but clashes can still happen.

 Status: Offline
Profile     Report this post  
nzv58l 
Re: Programming tools and Information
Posted on 5-Aug-2015 3:53:36
#19 ]
Super Member
Joined: 7-Oct-2003
Posts: 1640
From: Michigan

Anyone use StormC5?

 Status: Offline
Profile     Report this post  
ssolie 
Re: Programming tools and Information
Posted on 5-Aug-2015 3:59:45
#20 ]
Elite Member
Joined: 10-Mar-2003
Posts: 2755
From: Alberta, Canada

@nzv58l
Quote:
I have downloaded the SDK, and to tell the truth, there is so much documentation I do not know where to start reading first.

You might want to try some tutorials:
http://wiki.amigaos.net/wiki/Tutorials:Main

_________________
ExecSG Team Lead

 Status: Offline
Profile     Report this post  
Goto page ( 1 | 2 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle