[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

607.0. "Intuition programming guides" by Z::TENNY (Dave Tenny | DTN 225-6089) Tue Jul 21 1987 19:12

	I'm looking for suggestions on books which give good
	descriptions and examples of Intuition related programming.
	(devices,graphics,animation,and objects like menus/gadgets, etc.)

	I have a very early set of the developers docs, and while
	they're usable, I'm sure someone must have come out with
	much better programming guides.  Also, I would guess that
	there's some nice 1.2 features to demonstrate.

	So please record your favorite Intuition books here.
	Perhaps we should have another topic for other book topics
	like Dos...  doesn't matter.

Dave
T.RTitleUserPersonal
Name
DateLines
607.1JON::SANTIAGOEd Santiago, LEDEWed Jul 22 1987 10:5616
    As has been said before, Rob Peck's "Programmer's Guide to the Amiga"
    is pretty good (I finally gave in and bought it last week). Pretty
    high level, but very useful stuff and nice examples. 
    
    Eugene P. Mortimore's "Amiga Programmer's Guide" is also nice to
    have - it's basically a large index of functions, with some examples.
    Make sure you get the 1.2 version.
    
    And of course there's "Guide for Amiga Programmers", "Programming
    Amiga Guide", "Amiga's Guide to Programmers", and finally "Guido
    Programs the Amiga", available at fine bookstores anywhere :^).
    
    Note: The Mortimore book is available everywhere. The Peck book
    is available only at the B. Daltons in the mall behind Shopper's
    World - and I looked in a LOT of places before finding it there.
    Incidentally, both of these books are printed by Sybex.
607.2"Boerke, boerke, boerke.."TEACH::ARTArt Baker, DC Training Center (EKO)Wed Jul 22 1987 17:3017
	I second the endorsements of Mortimer's and Peck's books; you
	probably need both, since the Mortimer book doesn't really
	have any examples -- it's just a reference work (kind of like
	learning a language from a dictionary).

	Also, be real careful with the examples from the Peck book;
	they contain a number of errors.  Some of them simply prevent
	compilation of the programs; others result in runtime dysfunction.
	Particularly, check out the arg's that are supposed to be passed
	to the various O/S functions; Peck got VERY creative on a few
	occasions... That's why it helps if you have BOTH the Peck and
	the Mortimer books.

	-Art

	"Walk Like a Mathematician..."
607.3JON::SANTIAGOEd Santiago, LEDEWed Jul 22 1987 18:246
    There's an errata sheet for the Peck book, it was on Usenet a
    while back. If anyone cares I can probably mail (physical) a
    floppy with this on it for someone to upload (my modem is still
    resting... and it's probably cheaper to buy a new one than to
    fix it). It's pretty big, so I don't really feel like typing it
    in. Besides, typing in a list of typos is never a good idea.
607.4More book reviewsTLE::RMEYERSRandy MeyersWed Jul 22 1987 19:0534
Re: .2

Another source of errors in the Peck book is in the early chapter on
AmigaDOS functions, he frequently just declares as normal C variables
objects that must be long word aligned when passed to AmigaDOS functions.
This only works if the variable happens to be long word aligned when
the activation record for the function is built.  Thus, a routine that
depends on this may work when called at one dynamic call depth but
not at another.

Peck does know better than this.  In one of the examples Peck carefully
allocates long word aligned structures using the Exec's memory allocation
routines so that they would be long word aligned, and mentions in the
running commentary why he didn't just declare them as variables.  However,
previous example makes the alignment error, and the two or three examples
following the correct one make the error.

All in all though, I do recommend the Peck book.  It provides lots of
examples, and although there may be some bugs in the examples, they do
a good job of indicating the approach you should take to solve a problem.

About the Mortimer book:  If you have the official documentation, you may
not want to get it.  It doesn't contain much more information than the
the official documentation, and it contains fewer examples.  Its main
additional features are that it does document the new 1.2 routines, and
it is a condensed version of the official documentation.  That may allow you
to trade the desk space needed to hold four large manual for the space
needed for two normal sized manuals.

I actually thing that the Intuition manual is a very good introduction
to programming with Intuition.  You may want to just try sitting down
and reading it from cover to cover.  If you then read the chapter on
the Workbench in the Rom Kernal Manual, you should be all set as an
Intuition programmer.
607.5DCC::JAERVINENDown with gravity!Thu Jul 23 1987 08:332
    Is Volume II of the Mortimer book out yet?
    
607.6YupTEACH::ARTArt Baker, DC Training Center (EKO)Thu Jul 23 1987 15:1610
>    Is Volume II of the Mortimer book out yet?
    
	Yes, it's been popping up in places like B Dalton's for a couple
	months now.  It's a little disappointing, in that it doesn't cover
	some of the areas promised for it in Vol I.  Not to be daunted by
	a smaller number of pages however, the publisher is charging the 
	same (outrageous) price as they did for Vol I.

	-Art
607.7DCC::JAERVINENDown with gravity!Fri Jul 24 1987 07:277
    Talk about outrageous prices! Ha! You should see what they charge
    for those books at this side of the pond... your's are almost free!!
    :-)  :-)
    
    Well, what *does* it talk about then? Or rather, what did they leave
    out that was promised in Vol I (I do have it)?
    
607.8The case of the missing chaptersNAAD::SWARRLearner's PermitMon Jul 27 1987 04:1220
    Well , go to the introduction .
    
    When you get to the part where they decribe Volume II stop at device
    functions and commands. No math. No resource, No debug. No dos and
    No extensions.
    
    I think the publish or perish syndrome hit. Still alot of valuable
    information, but it is half as thick as volume I. No mention is
    made of the missing chapters. ( or of a sequel ) or Vol III.
    
    I guess they just were not done in time and they went with what
    they had. Same darn price ( as already noted<--(is noted a punny
    remark given the context of and method of communication?. Sorry
    I wandered off a second and now I am back)
    
    I am a little frosted , as I bought my copy without looking inside
    (ah, here it comes) proving once again that you cannot judge a book
    by its cover.
    
    <jim
607.9WARNING: dis-recommendation/flame ahead.Z::TENNYDave Tenny | DTN 225-6089Wed Aug 12 1987 18:5268
	Thanks to everyone who replied to this note.
	I purchased a book before there were many replies,
	so now I can suggest what NOT to buy.

	(I should have stuck with my original DOC set, but there
	really are some annoying things about it, which is why I
	wanted another book's perspective, organization, and examples).

	I bought "Inside the Amiga" by John Thomas Berry.
	This book just goes to show that any pcdos brain damaged 
	guru can write a book and get it published.  

	I perused the first three chapters the night I bought it,
	and without even close scrutiny, I found many typos, and
	logical errors in the programs.  I mean, QUANTITY was the key word.

	Well, when I actually tried to use this book as a quick reference
	for the use of the Info() function one day recently;
	I found the following problems in the presented programs.
	And I was actually stupid enough to type in one of the
	errors and run it before I saw the software reset function
	it provided.  Here are some sample problems with ONE sample program:
	(page 410 if you own this piece of crap.)

	- Resources he allocates with AllocMem are FreeMem'ed.

	- He doesn't need all those includes,  I think he just includes
	  everything for convenience and page filler (minor flaw).

	- This was the beaut I unthinkingly did which really, finally
	  proved to me that this book stinks.
	
	  if ((lock = (struct FileLock *)
		      AllocMem(sozeof(struct FileLock), MEMF_CHIP|MEMF_CLEAR))

		.
		.
		.

	
	lock = Lock(argv[1], ACCESS_READ) ...

	... blah blah mumble...

	What's wrong with this last picture?

		A: he frequently allocates stuff from CHIP memory 
		   where it should be FAST mem to use resources best.

		B: he loves MEMF_CLEAR, when it's completely superfluous
		   in his code. (just adds to execution cost )

		C: YOU DON'T NEED TO ALLOCATE ^&* locks, they are
		   given to you by functions like LOCK.
	
		   If you bother to FreeMem the lock you obtained
		   above, (which at that point is from Lock(), and
		   his program doesn't free any resources he grabs in this
		   program)
		   you call FreeMem with garbage, and crash your machine.

Anyway, this was just a sample.  If I convince anyone not to buy this book,
maybe I will have done something good.

Sorry, I guess it just exceeded my trash tolerance.

Dave
607.10Berry also writes fast code :-)TLE::RMEYERSRandy MeyersWed Aug 12 1987 23:108
Re: .9

I think I saw the Berry book in a bookstore!  I was very impressed with
the author's degree of misunderstanding.   I read a section on how to
use the Execute() AmigaDOS function, and noticed that the guy didn't
realize the Execute() was a synchronous operation.  After every Execute()
in his example programs he would put the program to sleep for 10 seconds
in order to give the CLI commands being executed time to complete.
607.11Is Peck's book still the book of choice?RTL::DMULLENDan Mullen, Run-Time Libraries.Thu May 23 1991 12:5119
[In the spirit of recycling I'm reusing this circa 1987 note]

I'd like to do some C programming and I want to make sure I have a FM when it
comes time to RTFM.

Is Rob Peck's book still the book of choice these days?

Does one still need Mortimer's book to complement Peck's book?

Does anyone know of a B. Daltons near Nashua, NH?

Can the "C Manual" that came out 'recently' on the Fish disks be used as
a substitute for one or both of these manuals?  (Has any experienced
programmers taken a look at this "C manual?".  I've flipped through most of
it and seems OK at first glance.  It has lots of examples.).

Thanks,

..Dan
607.12HPSCAD::GATULISFrank Gatulis 297-6770Thu May 23 1991 21:5527
    
    re -1
    
    I use the C-Manual from the fish disks.  I find it very helpfull.
    Andres covers a lot of topics and his simple examples are often all you
    need to get started quickly with Amiga specific stuff.  I did find that
    the source code on those disks doesn't always "exactly" match the
    executables he supplies.  They are very close but if you compile and
    link some of them you'll find windows are sometimes re-positioned and
    the text is different in some of them.  
    
    I think if learning "C" is your objective get something additional. I
    personally don't care for the organization of Pecks book.  Have you
    looked at Kernighan & Ritchie?  It is the precise language manual and
    the book has lots of complete examples you can try for yourself.
    
    The ROM Kernel manual is a very good investment as documentation for 
    includes and library function calls.  Somewhere in the upload area is 
    also the RKM companion disk from C= which has lots of code right
    out of the Rom Kernel Manual.
    
    Frank
    
    
    
    Frank 
     
607.13Ritchie thanks you for your supportTLE::RMEYERSRandy MeyersFri May 24 1991 01:1062
Re: .12

>[Kernighan & Ritchie] is the precise language manual ...

K&R has many good things going for it, but it is not a precise language
manual.

If you want precision, and an authoritative description of C, you should
get the ANSI C Standard.  This is not a good idea for someone learning
the language because the standard is hard to read, and many times will
make a statement that has profound impact and far reaching implications
without stating that something important has just been said.

The next best thing to a precise description will probably be Harbison
and Steele, third edition.  However, it probably isn't a good book to
learn the language from.  It makes a better book for the intermediate
level C programmer who wants to learn more.

K&R is a good book to learn C from (or, at least, a very high percentage
of C programmers learned from it).  Make sure you get the second edition,
which describes ANSI C.  The first edition is more of a historical document
these days.

I agree with the advise in .12 that if you are learning C on the Amiga
you should get a book on C itself.  K&R is a good choice.  The Peck
and other Amiga specific books are really for a C programmer who wants
to learn the Amiga, not the language itself.

This is a good time to tell my Dennis Ritchie Story.

Ritchie attended the first meeting of the Numerical C Extensions Group,
a subgroup of the ANSI C standards committee.

On the morning of the first meeting, when I went to breakfast in the
hotel, to my surprise I was seated at a table next to Dennis Ritchie.
Figuring that the man deserved to eat breakfast in piece (and afraid
he would remember the argument I got into him with over "noalias"), I
decided not to introduce myself.

Well, a few minutes later, a group of four or five guys showed up also
destined for the NCEG meeting, and the hostess sat them down at a large
table on the other side of Ritchie.  They didn't recognize Ritchie, and
they launched into a conversation about C programming.

Well, I started to watch Ritchie eavesdrop on the conversation next
door.  They would say something like: "Blah, blah, blah UNIX header files
blah, blah, blah," and Ritchie's head would sort of twitch and his
pupils would dilate.  He didn't start out to listen in: it's just that
the buzz words kept grabbing his attention.

Finally, the group stopped talking about programming itself, and started
talking about what books to recommend to beginning C programmers.  At this
point, Ritchie was hooked, and cocked his head so he could hear every
word.

The merits of various books were discussed, and then finally, one of the
people said, "Well, there are a lot of new books, but I find myself still
recommending K&R as the best book to learn from."

At that point, Ritchie breaks out into a big smile.  I say to him, "Nice
to be appreciated, huh, Dennis?"  He smiles even bigger, says "Yeah,"
and then modestly looks down at his shoes.
607.14Try PlumKALI::PLOUFFAhhh... cider!Fri May 24 1991 14:189
    K&R, in my opinion, is a terrible book to learn C from.  It is an
    excellent reference, though. (Someone else will have to comment on the
    new ANSI edition.)  As someone who learned programming in college and
    then did a lot of microprocessor assembly language stuff, I found
    Thomas Plum's _Learning to Program in C_ an excellent language
    tutorial.  So excellent, in fact, that it kept getting borrowed from my
    office and lately hasn't come back!
    
    Wes
607.15BAGELS::BRANNONDave BrannonFri May 24 1991 19:5913
    I tried the K&R route, it's great theory on how C should work.
    The problem I ran into was Lattice 3.03 vs. how it was supposed to
    work.  Combine that with coming from an applications Fortran
    background, I was ready to tear that book into tiny, little, pieces.
    It didn't help that I was doing this in a ram disk on a A1000, where
    every time the program went south, it killed my system.
    
    The solution was to combine K&R with the old VAX C book.  That had
    lots of examples, and I could even try them on VMS so I could determine
    if the problem was with my code or Lattice.  And yes, now I know how
    to implement arrays in C :-)
    
    Dave 
607.16Not learning C, learning Amiga Graphics...RTL::DMULLENDan Mullen, Run-Time Libraries.Fri May 24 1991 20:0616
Thanks for the replies.  I'm not a C beginner (and I have K&R 2nd ed.) so
my goal is a good book on programming with Amiga graphics.  Perferably part
reference and part "tutorial".  The "C-manual" from the Fish Disks has a
nice format.  Each chapter has a topical discusion, the interface for each
of the routines discussed is there, and lots of examples.

With a little more hunting I should be able to track down the RKM companion
disk mentioned in .12 (I didn't see it on TAPE:: and haven't checked any
where else yet).

I just learned there's a B. Daltons in the Mall of New Hampshire but that
the're Amiga selection could be lacking.

Maybe I should wait for the 2.0 updates...

..Dan
607.17FF344 for RKM CompanionBOMBE::MOOREAmiga: Where 'multimedia' REALLY beganFri May 24 1991 20:581
    RKM Companion is on Fish #344.
607.18other booksDFN8LY::JANZENA Refugee From Performance ArtSun May 26 1991 01:5210
	The C Programming Guide (3rd edition) by Jack Purdum  from Que
	helped me learn C.  I now also have an ANSI spec and the RKM's
	(old).  Amiga C for Advanced Programmers might be a book that,
	with difficulty, helped me learn Intuition.  I am having trouble 
	remembering if it was the Peck.
	Algorithms in C, a hardback I bought at Quantum in Cambridge
	a mile from the Kendall square stop, is a good "crib off the
	Knuth" with exmaples in C instead of an invented machine
	language.
	Tom
607.19RKM should suffice if you know CTLE::ALIVE::ASHFORTHLord, make me an instrument of thy peaceMon May 27 1991 11:387
I got started with the *original* RKM, which at the time was pretty iffy as
regards last-minute changes, unimplemented features, etcetera. The new set is
invaluable, IMHO, if you want to use the system correctly. And the Mall of NH
also has a Software, Etc. shop, which usually has a modest but sufficient supply
of Amiga-related manuals.

Bob
607.20Amiga specificSALEM::LEIMBERGERTue May 28 1991 08:344
    System Eyse has a good bookshielf. There is a Beginners,and advanced
    book on C on the shielf. I forget who published them but browsing seems 
    to indicate that they would be very helpfull.
    							bill 
607.21Where's the C in Fish?DECEAT::PETERSONsnowball has a better chanceTue May 28 1991 20:175
    I feel dumb - I must be searching for the wrong titles, keywords and
    text.  I'm trying to figure out which Fish Disk(s) contain the "C
    Manual" to which many people have referenced.  Can anyone help me out,
    please?  Thanks much.
    	David
607.22The C manual is on disks 456 & 457MADRE::MWMTue May 28 1991 22:113
But there may be a later version.

	<mike