[alt.sources.amiga] hahaha

rjc@churchy.gnu.ai.mit.edu (Ray Cromwell) (06/26/91)

In article <9106241924.AA26213@caticsuf.cati.CSUFresno.EDU> psteffn@CATICSUF.CSUFRESNO.EDU (Paul Steffn) writes:
>
>If he thinks demos are such a waste of time, why is he wasting his time
>read alt.amiga.demos [let alone, posting messages here].  
>
>You simply can't do anything on par with these demos in C!  Even C
>programmers know that!  [stick to your Amiga Basic!!!!]
>C is a structured language and is as such, a lowest common denominator
>between machines [kind of like New Kids on the Block to music!  haha]
>and it emphasises a structured approach to programming.  If you think
>about it, it's not much more difficult to program than Basic.
>If you want to write applications, C is fine, but anything that is
>real-time should be done in assembly.  Applications are a waste of time
>to me even if it makes money.  Amiga demos are programmed for the fun
>of it, not because of money.  Some demo programmers even get hired to
>write game software, too.  Go crawl under the rock you came from!

   I don't think you know much about C. C doesn't force structured
programming, that's left up to the programmer. C has very little to do
with basic, infact it's an outrageous comparison. Perhaps I should compare
MAST's BlitzBasic or AMOS to assembly. I've seen fairly impressive things 
done with these.

  To prove my point about structured programming, a program in C
can do the following.

extern struct Custom far custom;

	custom.color[0]=0x0000;
	custom.color[1]=0x0FFF;
	custom.bltapt=source;
	custom.bltdpt=dest; etc etc

  A good compiler might generate something like:
		lea $dff000,a2
		move.w #0000,color0(a2)
		move.w #0fff,color1(a2)
		move.l _source,bltapt(a2)
		move.l _dest,bltdpt(a2)

 Languages do not force good programming. It's possible to do 
structured programming in assembly (with lots of work) or C, but it is
not forced.
  
    Also, C programmers (developers) are well aware of how the
Amiga hardware works, they just would rather not touch it so their
program works on all Amigas. It takes about an hour to read the relevant
parts of the hardware manual to start banging on the hardware.
Also, the Amiga should not be compared to the atari st hardware
tricks (the C64 has the same tricks for overscanning the screen,
hardware scrolling it up or down , left or right,  it also doesn't have
a copper so rasters have to be timed) The Amiga is different, the only time
critical timing comes into play is with disk routines, and trying to 
time blitter execution. A note about this, CPU timing and loops _WILL_
fail on anything but a 68000 with chip ram. (even running in fast ram
may mess you up.) Timing should be done via the CIA or VBI.
Vectors are getting a little old, everyone uses them and they are all
about the same speed. The only difference between demos is how
good the objects look, not the vector code itself. Oh, some demos
change the vectors alittle like color cycling based on depth, stenciling,
and perturbing the line-drawing with a sinus but they all basically
look the same. The best thing I liked about Substance was the music
and the hills-and-valley dot plotter in the beginning. I thought
the vectors in cryptoburner's megademo looked better though.
These demos look good, not because of the coding, but because of the
design and the artwork. Otherwise, what seperates one boring vector
demo from another? What really looks good , IMHO, is ray-traced
art. Consider the stuff from pixar, or even the Amiga ray-traced
anims, I think they look much better than vectors.

  I'm not trying to put down Assembly programmers (I know assembly
myself, and programmed in it for over 5 years), but making
blanket statements about C and C programmers is just unforgivable.
Mentioning basic and C in the same message is even worse.
If C can't be used for real-time, than why are most operating 
systems done in C? Why does the defense department support a high level
language like Ada for their embedded system control. The idea that
high level languages can not be real-time is completely wrong.
Someone made a statement that on the average, assembly is only
10% faster than C. This is correct, and I could prove it by profiling
code. This statement is dependent on the compiler used, but 
some compilers can BEAT humans at register choices and tracking
cycles throughout an entire program. Consider a 50,000 line C program
(probably about 200,000 lines of assembly) A compiler could easily
beat a human who is not interested in counting every single cycle
through out the program. This frees the human to manage the real work,
design. A human, may be able to beat a compiler in very tight loops
but overall, the compiler would win in total optimized cycles saved.
Of course, someone could waste their time optimizing 200,000
lines (delaying the project completion, adding bugs, etc).




--
/ INET:rjc@gnu.ai.mit.edu     *   // The opinions expressed here do not      \
| INET:r_cromwe@upr2.clu.net  | \X/  in any way reflect the views of my self.|
\ UUCP:uunet!tnc!m0023        *                                              /