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 * /