[comp.sys.amiga.tech] need help learning amiga programming

2flolump@kuhub.cc.ukans.edu (12/10/90)

Can anyone direct me to a book that TEACHES me how to program on the Amiga.
I bought this computer years ago, with the hope that I could learn to 
program it.  But I soon discovered that the OS was something that really
had to be learned to take advantage of all the features.  Anyway, I own
the Amiga ROM KERNEL manual:Libraries & Devices and it seems to be sketchy
on many things.
I really am starting to dislike C the more I read it,  I don't know why 
everyone praises it so.  I guess those who learn its cryptic commands get
some pride from how others struggle with it.  Anyway, I have owned TDI
Modula 2 for quite awhile and while I like the language, which I believe
is more readable than C and has more software engineering features, which C
lacks, I find that this compiler is inferior.  
This leads to my final questions.  Does anyone know of a good Modula 2 
development package that is actually used?  Does anyone know of a good
book on how to program the amiga in Modula 2?  Does anyone have a 
good recommendation on a C compiler that is affordabe, if I do indeed find
this is the only language with which the amiga can be programmed effectively.

Thank You.
Jason Wilson.

dtiberio@csserv1.ic.sunysb.edu (David Tiberio) (12/11/90)

  The best way to learn programming is to buy a book or magazines that have
lots of programs in them. Then type them in. You will learn to type, and you
will learn how to debug all of your mistakes. This will take time, but it 
will teach you to program BASIC easily.

  As for C, you will have to learn the same way unless there is someone to
guide you because C can be more complicating, but it is also more exact and
has more control over details. Check old Compute! magazines for source
codes that you can practice on.

  I remember when my parents used to punish me for using the computer too
much. They would take away the cable that connects it to the monitor. I used
to turn the power on, open a magazine, and type in programs WITHOUT the 
monitor. If I made a mistake, I would have typed tons of garbage that was
useless. I lost a lot of programs, but I learned to program.

ben@epmooch.UUCP (Rev. Ben A. Mesander) (12/12/90)

>In article <27348.27630086@kuhub.cc.ukans.edu>, 2flolump@kuhub.cc.ukans.edu writes:

> I really am starting to dislike C the more I read it,  I don't know why
> everyone praises it so.  I guess those who learn its cryptic commands get
> some pride from how others struggle with it.  Anyway, I have owned TDI
> Modula 2 for quite awhile and while I like the language, which I believe
> is more readable than C and has more software engineering features, which C
> lacks, I find that this compiler is inferior.

First: No flame intended.

C has very few commands. I really don't find 'for', 'if', etc. all that
confusing. Do you mean C library functions? Amiga library functions?

I find that most C is very well written. There are some people that delight
in abusing the pre-processor, or crunching long strings of operators together
on a single line... Even then, though, the way they are doing it is usually
a well-known idiom, and once you see it and understand it, shouldn't give 
you much trouble.

Persevere!

I've never used modula-2. I assume it must be Pascal-like, and I really
don't like Pascal. I think this has more to do with a broken Pascal
compiler I had to use once, more than the language, but I do find the
Pascal convention of LongMixedCaseVariableNames and the variable and
function scoping rules rather annoying.

--
| ben@epmooch.UUCP   (Ben Mesander)       | "Cash is more important than |
| ben%servalan.UUCP@uokmax.ecn.uoknor.edu |  your mother." - Al Shugart, |
| !chinet!uokmax!servalan!epmooch!ben     |  CEO, Seagate Technologies   |

creutz@max.bnl.gov (michael creutz) (12/12/90)

I agree that C is disgusting.  While I like to mix BASIC with assembly,
the rest of the world disagrees so I have been using PDC to learn C.
This package is quite good, coming with all you need to get started.
For graphics it is much easier if you also get the Commodore includes
(where to get them is described with the PDC package).  For books, you
really need only the RKM and Kernighan and Ritchie.  Anderson and Thompson's
Mapping the Amiga is nice for quick lookups.  While some may object, it is
tremendous fun to play directly with the hardware, for which the Hardware
Reference Manual should be available.
Mike

lhotka@incstar.uucp (Glamdring) (12/12/90)

In article <27348.27630086@kuhub.cc.ukans.edu>, 2flolump@kuhub.cc.ukans.edu writes:
> Can anyone direct me to a book that TEACHES me how to program on the Amiga.
> I bought this computer years ago, with the hope that I could learn to 
> program it.  But I soon discovered that the OS was something that really
> had to be learned to take advantage of all the features.  Anyway, I own
> the Amiga ROM KERNEL manual:Libraries & Devices and it seems to be sketchy
> on many things.
> I really am starting to dislike C the more I read it,  I don't know why 
> everyone praises it so.  I guess those who learn its cryptic commands get
> some pride from how others struggle with it.  Anyway, I have owned TDI
> Modula 2 for quite awhile and while I like the language, which I believe
> is more readable than C and has more software engineering features, which C
> lacks, I find that this compiler is inferior.  
> This leads to my final questions.  Does anyone know of a good Modula 2 
> development package that is actually used?  Does anyone know of a good
> book on how to program the amiga in Modula 2?  Does anyone have a 
> good recommendation on a C compiler that is affordabe, if I do indeed find
> this is the only language with which the amiga can be programmed effectively.
> 
> Thank You.
> Jason Wilson.


Avant-Garde Software (makers of Benchmark Modula-2) has released a book
teaching how to write in Modula-2 on the Amiga.  I have not seen the book yet,
but am seriously thinking about getting it as it sounds very nice.  It comes
with a couple disks of examples also.

	Avant-Garde Software
	2213 Woodburn
	Plano, TX 75075
	214/964-0260

I am not associated with these folks other than that I own their Modula-2
compiler and have been VERY impressed by it and their support of it.
 ______________________________________________________________________
/ Rockford Lhotka				INCSTAR Corp	       \
| Applications Project Leader			1990 Industrial Blvd   |
| incstar!lhotka@uunet.uu.net         		PO Box 285             |
\ 612/779-1701					Stillwater, MN 55082   /
 -------------Amiga - The computer for the creative mind.--------------

david@starsoft.UUCP (Dave Lowrey) (12/12/90)

In article <27348.27630086@kuhub.cc.ukans.edu>, 2flolump@kuhub.cc.ukans.edu writes:

> Can anyone direct me to a book that TEACHES me how to program on the Amiga.
> I bought this computer years ago, with the hope that I could learn to
> program it.  But I soon discovered that the OS was something that really
> had to be learned to take advantage of all the features.  Anyway, I own
> the Amiga ROM KERNEL manual:Libraries & Devices and it seems to be sketchy
> on many things.

To me, the Libs & Devs manual is THE BEST amiga programming manual.

All of the example source code is avaliable on a couple of fish disks.

What "things" are sketchy?

> I really am starting to dislike C the more I read it,  I don't know why
> everyone praises it so.  I guess those who learn its cryptic commands get
> some pride from how others struggle with it.  Anyway, I have owned TDI
> Modula 2 for quite awhile and while I like the language, which I believe
> is more readable than C and has more software engineering features, which C
> lacks, I find that this compiler is inferior.

Amazing Computing magazine usually has a program written in Modula 2
in each issue. However........

In the "real world", there isn't much code written in Modula 2. You
might as well bite the bullet, and learn C.

> This leads to my final questions.  Does anyone know of a good Modula 2
> development package that is actually used?  Does anyone know of a good
> book on how to program the amiga in Modula 2?  Does anyone have a
> good recommendation on a C compiler that is affordabe, if I do indeed find
> this is the only language with which the amiga can be programmed effectively.
>
There are a couple of free C packages avaliable on Fish Disks and FTP
archives. There are North C and PDC. However, you will need to purchase
the Commodore include files if you are going to do much Amiga
specific programming. They go for around $20.00. There is also DICE,
written by Matt Dillon. There is a free (no floating point?) version,
and a supported version that costs money (I think $40.00).

Good Luck!!

----------------------------------------------------------------------------
These words be mine. The company doesn't care, because I am the company! :-)

      Dave Lowrey        |  david@starsoft or {uhnix1,lobster}!starsoft!david
Starbound Software Group |
      Houston, TX        | "Dare to be stupid!" -- Weird Al Yankovic

DXB132@psuvm.psu.edu (12/13/90)

In article <1859a224.ARN2584@starsoft.UUCP>, david@starsoft.UUCP (Dave Lowrey)
says:

>> the Amiga ROM KERNEL manual:Libraries & Devices and it seems to be sketchy
>> on many things.

>To me, the Libs & Devs manual is THE BEST amiga programming manual.

>All of the example source code is avaliable on a couple of fish disks.

>What "things" are sketchy?

While the RKM is a nice (and essential) reference book, it's not designed
to teach people how to program the Amiga, which is what the original poster
was asking about. The RKM *is* sketchy; it assumes you bring a good deal of
knowledge with you to begin with. And I agree that the choice of 'C' for
examples is a bad one. (Unless you're a C wizard. Most people aren't).
Unfortuntely, there aren't many (any?!) good books about programming the
Amiga in general that I know of. (And I mean USEFUL books, not re-writes
of the RKM!!!!!).

-- Dan Babcock

sjorr@sunee.waterloo.edu (Stephen Orr) (12/14/90)

In article <90346.133157DXB132@psuvm.psu.edu> DXB132@psuvm.psu.edu writes:
>While the RKM is a nice (and essential) reference book, it's not designed
>to teach people how to program the Amiga, which is what the original poster
>was asking about. The RKM *is* sketchy; it assumes you bring a good deal of
>knowledge with you to begin with. And I agree that the choice of 'C' for
>examples is a bad one. (Unless you're a C wizard. Most people aren't).
>Unfortuntely, there aren't many (any?!) good books about programming the
>Amiga in general that I know of. (And I mean USEFUL books, not re-writes
>of the RKM!!!!!).
>
>-- Dan Babcock

In order to program the Amiga the RKM's are essential. They document the
inards of this machine as well as just about anything going, however I
will agree that they aren't the most subtle way to get into the machine.
Havinbg said that here are my recommendations.
	1) choose to program in 'C' (personal opinion, flames/wars not needed)
	2) avoid SAMS books, specifically Inside the Amiga with 'C'
		- bad examples (bad code style)
		- implies all sorts of features but fails to elaborate on them
	3) Try the Sybex book 'Programmer's Guide to the Amiga' by Rob Peck
		- very good guide
		- this guy knew what he was talking about when he wrote this.
		- leads well into the RKM's.

Note: I do not represent any of the above companies. I did however teach
myself Amiga and 'C' at the same time using the above mentioned manuals,
and am now good enough to be doing consulting work on this box, be a
registered developer, and be working on CDTV apps.

								Stephen Orr
								SandIsoft
---
All opinion are opinions of me myself and my company.

UH2@psuvm.psu.edu (Lee Sailer) (12/15/90)

PLEASE PLEASE PLEASE not another discussion about whether C is a
      good language or not!  Take it somewhere else.  PLEASE!!!!!

                                                           lee

UH2@psuvm.psu.edu (Lee Sailer) (12/15/90)

In article <90346.133157DXB132@psuvm.psu.edu>, <DXB132@psuvm.psu.edu> says:
>While the RKM is a nice (and essential) reference book, it's not designed
>to teach people how to program the Amiga, which is what the original poster
>was asking about.

I disagree.  The RKM are prefectly designed to teach a person how to
"program the Amiga."  And, correctly, they assume that the person is
already an expert programmer, where "expert" means equivalent to
at least a BS in computer science (with good grades, and from a tough
program).

Why should the RKM teach people how to program, or for that matter
why should they teach how window systems work, message passing, pointers
structs externs memory management etc etc etc????

As I recollect, it took me a good six months of hard work to teach myself
C in a plain vanilla text and command line environment.  That was in
1984.  Then, in about 88-90, it took me another year or two to come
up to speed as an Amiga programmer, using windows, gadgets, and graphics
in a competent (though still not really expert) way.  I am a pretty
smart guy with 25 years of amateur programming experience, not to
mention that I am a professional *teacher* of programming (a different,
but equally difficult skill 8-).  If it took me three years to learn
C and Amiga stuff, how long will it take you?  Less?  Maybe.

Let me drone on.  As a rule of thumb, it takes about 5000 hours to become
an "expert" at any worthwhile skill---juggling, tennis, the cello,
or even programming the Amiga.  Use the back of an envelope to figure
out how long it will take to acquire those 5000 hours in elapsed time.

lee
The RKM *is* sketchy; it assumes you bring a good deal of
>knowledge with you to begin with. And I agree that the choice of 'C' for
>examples is a bad one. (Unless you're a C wizard. Most people aren't).
>Unfortuntely, there aren't many (any?!) good books about programming the
>Amiga in general that I know of. (And I mean USEFUL books, not re-writes
>of the RKM!!!!!).

>-- Dan Babcock

bleys@tronsbox.xei.com (Bill Cavanaugh) (12/15/90)

Lines: 38

>90348.123646UH2@psuvm.psu.edu
>
>In article <90346.133157DXB132@psuvm.psu.edu>, <DXB132@psuvm.psu.edu> says:
>>While the RKM is a nice (and essential) reference book, it's not designed
>>to teach people how to program the Amiga, which is what the original poster

>>was asking about.
>
>I disagree.  The RKM are prefectly designed to teach a person how to
>"program the Amiga."  And, correctly, they assume that the person is
>already an expert programmer, where "expert" means equivalent to
>at least a BS in computer science (with good grades, and from a tough
>program).
>
>Why should the RKM teach people how to program, or for that matter
>why should they teach how window systems work, message passing, pointers
>structs externs memory management etc etc etc????


Lee, you're missing the point.  No one has suggested that the RKM's should
teach someone how to be a programmer.  The question was if there was some
OTHER book that laid out the basics of Amiga programming in layman's terms. 
Your post sounded like you were either saying, "I had it tough;  therefore,
everyone should!", or, "Only someone who already has been programming for
years and is already an expert should be allowed to learn how to program the
Amiga."

On another point, the specific purpose of the RKM's (or any manual for an
operating system) is to describe how that operating system works.  They
>should< teach how window systems work, since that's an integral part of the
operating system.  Message passing and Amiga-specific memory management also
fit, since these concepts are not generic.

I've been programming as an amateur for fourteen years, and as a pro for
two.  I taught myself as much C as I need to know, but I wouldn't DREAM of
writing a serious Amiga application without some form of tutorial work
first.  My hat goes off to all of those people who figured this stuff out on
their own, but many of us are either not that smart, or don't have that

peter@sugar.hackercorp.com (Peter da Silva) (12/17/90)

I don't understand. The RKMs are decent tutorials, as far as such things go.
They are certainly better than the equivalent documents for other computers.
The only problems with the RKMs are first, they don't include any DOS info,
thanks to Commodore's unfortunate agreement with Bantam, and second that they
forgot about the horrible things nroff does to C source code.

They certainly do explain message passing, memory management, and how the
windowing system works. What more do you expect from the primary docs?

There's a sad lack of the equivalent of Peter Norton's book on the PC, but
that's certainly not Commodore's job.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.