Amiga.org

Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: Dr_Righteous on December 11, 2005, 12:29:41 AM

Title: Compilers... What did they use before?
Post by: Dr_Righteous on December 11, 2005, 12:29:41 AM
Ok, so I've decided to try my hand at coding for Amiga... I'm used to Borland C for DOS and I don't like the overly complex crap you have to go through with GNU based C/CPP compilers. I want a folder full of libraries a nice IDE and a no-nonsense compiler... Like the good old days. A package that wouldn't know what to do with a "makefile." Freeware of course.

So what did people use before GCC, before anyone even heard of Linux?
Title: Re: Compilers... What did they use before?
Post by: odin on December 11, 2005, 12:32:00 AM
Ehm, machinecode? Cardboard pieces with holes in them? ;-).
Title: Re: Compilers... What did they use before?
Post by: Dr_Righteous on December 11, 2005, 01:02:40 AM
Heh, I've considered assembler, but that's a little time consuming.
Title: Re: Compilers... What did they use before?
Post by: Piru on December 11, 2005, 01:05:33 AM
Note to self: It's actually worth the effort to read the msg with thought before replying... :-)

Anyway, I doubt you find any simpler stuff from older compilers, nor proper IDEs. Makefiles etc are not Linux really, but very integral part of any C coding, from the very beginning (C was deviced for writing Unix). Even SAS/C has smake!

IMO one does him/herself a favor by learning to use the simple but yet powerful tools, such as make.

Also, gcc isn't really that bad, and it has one huge advantage over other compilers: It's available of dozens of platforms. So if you use std GNU make and gcc, your project can easily build for virtually hundreds of target systems.

PS. StormC 4 uses gcc.

PPS. Of the "older" compilers I prefer SAS/C.
Title: Re: Compilers... What did they use before?
Post by: Dr_Righteous on December 11, 2005, 01:14:48 AM
Ok, perhaps I should rephrase my question... What is the best C/CPP compiler for Amiga that is NOT *nix based?
Title: Re: Compilers... What did they use before?
Post by: Karlos on December 11, 2005, 01:26:16 AM
Assuming you don't want to use gcc, you have several options:

VBCC (free, shell based, C/C99 only)
StormC3 (shipped free with devcd 2.1)
StormC4 (I think it's like 50 Euro now?)
SAS/C (if you can still get it)

If you are looking for a really easy to use IDE, stormc is good. It isn't the greatest compiler however but for quick jobs it is quite good.

Even now I sometimes use it to build a project that I will later compile with gcc or whatever.
Title: Re: Compilers... What did they use before?
Post by: ltstanfo on December 11, 2005, 01:28:20 AM
Hello Dr.

It's nice to see a fellow Styx fan online. :-)

To answer your questions, the AMIGA never really had a fully IDE for C (the AMIGA was really before C++ but more later).

The most popular commercial C packages of the day were Lattice/SAS C (the most used by developers), Manx C and in later years (after the demise of C=) Haage and Partner developed Storm C.  There were other C compilers but the three I have mentioned were "mainstream" although Manx died out pretty fast (around 1990 or 91 IIRC).  

The earlier C packages were command line compilers and you used an editor to write your code (CED comes to mind).  There were various "patches" written by users and one final patch for Lattice (before they discontinued AMIGA support) that made an early effort at adopting come C++ protocols and had a crude IDE but nothing on the order of MSVC or Borland.

Storm C was perhaps the only AMIGA C compiler to come close (IMO) to what you are looking for but even it is short of a truely IDE like MSVC or Borland.

You can visit the Haage and Partner website (google them) and select the AMIGA catagory.  I think they still sell Storm v4.0.  As for Lattice (my compiler of choice) it is long out of production / support but it turns up from time to time on ebay for reasonable prices and has the most material publised for it (books, FAQs, AMINET stuff, etc...)

I hope this helps you.

Regards,
Ltstanfo
Title: Re: Compilers... What did they use before?
Post by: Dr_Righteous on December 11, 2005, 01:57:16 AM
@ltstanfo

[OT] HUGE fan of Styx.. Even sans Dennis and John (RIP). They play around here several times a year and I go to every show I can! [/OT]

I'll probably upgrade to Storm C once I get my feet wet, since it seems to be the best commercial package available. I'm really just looking to get my feet wet with something freeware for now.

I've been browsing around for a couple of hours now, and found SAS/C to pretty much be a dead end in terms of availability.

I really don't mind the lack of a REAL IDE, since I think I have a copy of GoldED running around someplace. Failing that there's always EditPlus on my PeeCee. I just need a something tidy to crank out the binary when I'm done.

DICE looks promising... Any thoughts?
Title: Re: Compilers... What did they use before?
Post by: ltstanfo on December 11, 2005, 02:08:43 AM
Quote

Dr_Righteous wrote:
@ltstanfo

[OT] HUGE fan of Styx.. Even sans Dennis and John (RIP). They play around here several times a year and I go to every show I can! [/OT]


I really miss the "old Styx".  I saw them here in Huntsville twice (the Paradise Tour) and a couple of years ago when they got the replacement singer for Dennis (I don't recall the guy's name, he's OK but it just didn't feel right to me).  I've always loved their stuff from the first plexiglass toilet to their newest stuff.


Quote

DICE looks promising... Any thoughts?


Wow!  There's a compiler I haven't used / seen / heard about in quite a while....Dillion C (aka DICE).  It was a nice compiler for its day and the author / developer was a pretty sharp guy.  It's good for a first effort if you can't find a copy of SAS.  For my money, SAS is still the best compiler for the AMIGA (not that I've written a line of AMIGA code in several years).

Good luck with Storm C.  It is the newest compiler for the AMIGA but I never really liked using it.  Nothing specific, it just wasn't my "cup of tea".

Regards,
Ltstanfo
Title: Re: Compilers... What did they use before?
Post by: Trev on December 11, 2005, 02:35:52 AM
This isn't the answer you want to hear, but I find I'm most efficient using Visual Studio with either VBCC or a gcc cross-compiler. Staying 100% Amiga is great (and sometimes fun), but going through the motions on a real Amiga is a bit painful. Coding under WinUAE is a huge improvement. If I weren't using Visual Studio, I'd code with WinUAE, GoldED, and VBCC. (Of course, GoldED--now part of Cubic IDE--includes everything you need to code C/C++ out of the box.)

If you're able to find a complete SAS/C package (they show up on eBay every once in a while), you'll still receive free phone support from SAS for issues with documented solutions.

I also use StormC at times just to make sure my cross-compiler is working properly. . . .

--Styx--

I saw Dennis DeYoung perform with the Sacramento Philharmonic Orchestra, the Sacramento Children's Choir, and a touring "rock" band last year. Excellent performance, although tainted with pro-war, anti-muslim banter.

Trev
Title: Re: Compilers... What did they use before?
Post by: Dr_Righteous on December 11, 2005, 04:16:55 AM
Yeah, GCC just isn't my cup of tea... I've got a small problem with the *nixing of AOS. I just don't like "GNU things." If I wanted an old *nix box, I'd buy an SGI O2 or something.

Perhaps I'm headed in the wrong direction? Aside from losing my mind in assembler, are there alternatives? Is there a better high-level language to code in for Amiga?

Say it's 1994 and I just got my brand-spanking-new A4000D... I get a wild hair up my keister and want to write a word-processor or a platform game from scratch. What would have been used?
Title: Re: Compilers... What did they use before?
Post by: Doppie1200 on December 11, 2005, 09:06:11 AM
I can recommend Hisoft C. It has not such a steep learning curve and it has a nice IDE
Title: Re: Compilers... What did they use before?
Post by: amigaoneproductions on December 11, 2005, 09:21:06 AM
Quote
Say it's 1994 and I just got my brand-spanking-new A4000D... I get a wild hair up my keister and want to write a word-processor or a platform game from scratch. What would have been used?


AMOS,  HiSoft Basic,  Blitz ?

I used all three at some time or other,  could never get my head around other languaged :-(
Title: Re: Compilers... What did they use before?
Post by: Curty on December 11, 2005, 10:17:12 AM
@amigaoneproductions

Sorry for being of topic, good to see your still around!  :-)
Title: Re: Compilers... What did they use before?
Post by: uncharted on December 11, 2005, 12:37:48 PM
Quote

Karlos wrote:

StormC4 (I think it's like 50 Euro now?)
SAS/C (if you can still get it)


Technically StormC 4.0 used the GCC compiler :-P
Title: Re: Compilers... What did they use before?
Post by: koaftder on December 11, 2005, 12:40:53 PM
lattice c

Doesnt get much simpler than that
Title: Re: Compilers... What did they use before?
Post by: uncharted on December 11, 2005, 12:42:07 PM
Quote

Trev wrote:
Staying 100% Amiga is great (and sometimes fun), but going through the motions on a real Amiga is a bit painful. Coding under WinUAE is a huge improvement.


I had all kinds of issues with using WinUAE to develop on, often WinUAE itself would bomb it is not helpful in the slightest.  In the end I went back to my crusty old A1200.  Perhaps it's improved now.
Title: Re: Compilers... What did they use before?
Post by: Dr_Righteous on December 11, 2005, 06:08:42 PM
Thanks to everyone for the info... I think I'm gonna start off with DICE, since it's free, and work my way up from there.

Looks like I'll also need a devkit... Was there ever one beyond v2.1 (OS3.5)? One for OS3.9?
Title: Re: Compilers... What did they use before?
Post by: Doobrey on December 11, 2005, 07:17:56 PM
Quote

Dr_Righteous wrote:
Looks like I'll also need a devkit... Was there ever one beyond v2.1 (OS3.5)? One for OS3.9?


There's an NDK for 3.9, at os.amigaworld.de (http://os.amigaworld.de/index.php?lang=de&page=12), although it's nowhere as complete as the 2.1 DevCD, more like an update for 3.9 with a few examples and updated autodocs and includes.
Title: Re: Compilers... What did they use before?
Post by: Karlos on December 11, 2005, 07:23:45 PM
Quote

uncharted wrote:

Technically StormC 4.0 used the GCC compiler :-P


Well, technically, it shipped with both gcc and stormc3 compiler backends, you can use either. Either way, you get an easy to use IDE that in my opinion is ideal for make-loathers...
Title: Re: Compilers... What did they use before?
Post by: Trev on December 11, 2005, 08:50:19 PM
Quote
I had all kinds of issues with using WinUAE to develop on, often WinUAE itself would bomb it is not helpful in the slightest. In the end I went back to my crusty old A1200. Perhaps it's improved now.


The nice thing about WinUAE is the source code. If it bombs, you can find out why, fix it, and recompile it. That said, recent releases (anything released over the last three years) have been pretty stable. Most of the issues I've had with WinUAE over the years have been related to its interaction with third-party components and extensions: parallel port emulation, Catweasel timing, etc.

Trev
Title: Re: Compilers... What did they use before?
Post by: Amiga1200PPC on December 11, 2005, 09:07:33 PM
You will need the Amiga Dev-CD anyway.
It comes with StormC3.
Title: Re: Compilers... What did they use before?
Post by: JLF65 on December 12, 2005, 01:52:35 AM
All my 68K programs were done in DEVPAC - 100% assembly. ADoomPPC was done with SAS/C-PPC and PASM. iFUSION was done in StormC 4.
Title: Re: Compilers... What did they use before?
Post by: ltstanfo on December 12, 2005, 04:44:10 PM
Dr.

You are best to stick with C.  The AMIGA, being built on the UNIX model, was almost exclusively coded in C.  I say "almost" because there were other languages available, Fortran, Pascal, Cobol, Basic, Assembler, etc... but most developers coded in the C arena as that what the folks at C= mostly used.

After the demise of C= there were several interesting attempts at AMIGA programming, most notably "E".  It never really caught on however.

Regards,
Ltstanfo
Title: Re: Compilers... What did they use before?
Post by: chiark on December 12, 2005, 05:28:10 PM
Another vote here for DICE C - it did the job, and mostly did it well.  Do update the thread with your experiences!
Title: Re: Compilers... What did they use before?
Post by: JLF65 on December 12, 2005, 06:59:25 PM
DICE was great for folks who couldn't afford SAS/C. SAS/C was THE standard for the Amiga. MANX C was it's major competitor, and a rather good compiler as well. Both were commercial products.
Title: Re: Compilers... What did they use before?
Post by: Dr_Righteous on December 13, 2005, 01:53:31 AM
Quote

chiark wrote:
Another vote here for DICE C - it did the job, and mostly did it well.  Do update the thread with your experiences!


Well, so far no good... I can code integers just fine... Change them to floats and printf will actually print the word in place of the number. Bad stdio.h?
Title: Re: Compilers... What did they use before?
Post by: Glaucus on December 13, 2005, 02:09:12 AM
Quote
This isn't the answer you want to hear, but I find I'm most efficient using Visual Studio with either VBCC or a gcc cross-compiler.
Well this caught my attention!!! Are you saying that there is a VisualC++ 6.0 cross compiler that will produce Amiga 68K binaries? If so, where do I get one? If that's possible, that would be a wicked development platform as I have WinUAE setup already and have a network share of all my development stuff with my A4000 as well.

  - Mike
Title: Re: Compilers... What did they use before?
Post by: Trev on December 13, 2005, 02:33:08 AM
Quote
Well this caught my attention!!! Are you saying that there is a VisualC++ 6.0 cross compiler that will produce Amiga 68K binaries? If so, where do I get one? If that's possible, that would be a wicked development platform as I have WinUAE setup already and have a network share of all my development stuff with my A4000 as well.


I suppose you could integrate a compiler directly into the IDE, but I just use makefile projects, which let you call any command you want for make, make all, and make clean, and a cygwin-amigaos gcc cross and call make accordingly. Works great on Visual Studio 6.0 and higher. If you're crafty with your headers, Intellisense (type-ahead, function prototype down-downs, struct member completion, etc.) even works properly. And if you have gdb running on the Amiga side, you can even start debugging from the IDE.

Hmmm. It would be sweet to have a Visual Studio compatible remote debugger running on the Amiga side. That might not be that difficult. Don't know. Compile and continue would be cool, too. Anyhow, I don't really know anything about compilers or processing debugging information, so that's over my head.

Trev