Poster | Thread |
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 |
|
|
jap
| |
Re: Programming tools and Information Posted on 28-Jul-2015 23:15:23
| | [ #2 ] |
|
|
|
Member |
Joined: 10-Oct-2005 Posts: 63
From: Unknown | | |
|
| |
Status: Offline |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 | | |
|
| |
Status: Offline |
|
|
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 |
|
|