home *** CD-ROM | disk | FTP | other *** search
- Subject: 1993 IPISA Conference Proceedings article
-
- 10 AMIGA PROGRAMMING TIPS FOR THE REAL WORLD
-
- Daniel J. Barrett
- Department of Computer Science
- University of Massachusetts
- Amherst, MA 01003
- USA
-
- E-mail: barrett@cs.umass.edu
-
- When Sergio Ruocco kindly asked me to contribute an article for these
- proceedings, I was very excited. You see, I am an Amiga programmer too, and
- I have always dreamed of sharing my favorite programming tips at a
- conference full of experts! The following article explains the ten most
- effective secrets for writing the ultimate Amiga program.
-
- For years, I've been reading millions of "programmer tips" articles
- in magazines, and personally, they make me sick. No matter how clever the
- suggestions are, the authors always forget one very important point: if you
- are the programmer, then YOU ARE IN CHARGE. Who CARES what the users think?
- If they don't like the way your program works, then let the ignorant fools
- write their own.
-
- With this in mind, I hereby present 10 programmer tips for the real
- world. These are GUARANTEED to triple your productivity within 24 hours!
- Well, at least double it. Or maybe cut it in half. I forget. But they will
- DEFINITELY help you; and if they don't, then you have my permission to throw
- these conference proceedings off a cliff and go join a religious cult.
-
- (1) Don't plan your program in advance.
-
- Seriously, now... planning your program in advance is a total waste
- of time, and you know it. Programming is an art form; and as sensitive
- artists, we must not be rushed into making decisions. Will your program
- have a command-line or a graphic interface? An ARexx port? Will it be a
- database or a shoot-em-up game? IT DOESN'T MATTER. Just start coding, and
- worry about these insignificant details later.
-
- Even better, just start COMPILING... even before you have decided
- what your program is going to be. Running the compiler or assembler a lot
- before you write any code will "warm up" your computer, and your software
- will have fewer bugs. Trust me. I ran my compiler 50 times last night
- without writing a single line of code, and so far my program has no bugs.
-
- (2) Don't use the standard libraries.
-
- No real Amiga programmers use the stuff in LIBS:, or even Kickstart.
- It is FAR better to do all the work yourself and create an entire operating
- system from scratch. This is REALLY impressive. Your users will be stunned,
- and beautiful, sexy movie stars from around the world will travel thousands
- of miles to ask you out on dates. Believe me, it's true. I have a hot date
- with Cindy Crawford tonight because she loves my custom Exec list structures.
-
- (3) Don't use "Make".
-
- Face it: "Make" is for wimps. REAL programmers KNOW which files
- are compiled and which ones aren't.
-
- (4) Keep your user interface inconsistent.
-
- Who needs standards? It is much better if every programmer invents
- his/her/its own user interface style, for three reasons. First, it lets
- programmers be creative and helps to relieve stress. Second, by making your
- program harder to use, it gives users valuable practice in working with
- difficult software. Finally, we know that users are incredibly lazy
- creatures, and a little suspense keeps them in shape. It's for their own
- good.
-
- So, don't be afraid to take some chances and make your interface
- really unique! Instead of the right mouse button, use double-clicks to bring
- up menus. Make your window resize gadgets act like close gadgets, and
- vice-versa. Fix your text color and background color to be the same. Be
- inventive, and your users will thank you for it.
-
- (5) Hard-code your fonts.
-
- Why waste time making your program font-sensitive? Hey, if "Topaz 8"
- is good enough for Commodore, it's good enough for everyone. Or to make your
- programs look truly unique, I recommend using a really obscure third-party
- font (e.g., "WalrusBreath 91-point"). If the font isn't found in the user's
- FONTS: directory, then your program should put up a polite, friendly
- requestor and then crash.
-
- (6) Hard-wire all your screens to 320x256 PAL (or 320x71 in NTSC).
-
- Some users will complain if programs don't take advantage of
- overscan, but they are just whiners. YOU wrote the program, so YOU will
- know which screen sizes are best. And while you are at it, you should also
- hard-code the palette and number of bitplanes. That will teach those pesky
- users a lesson.
-
- (7) Use heavy copy protection.
-
- Especially for freeware, where dongle protection is a must.
-
- (8) Ignore playability.
-
- Hey, if the users can't play your game, they're wimps. Let them
- go play checkers instead.
-
- (9) Write all of your documentation at the last minute.
-
- If you want complete freedom in your programming, it simply is not
- practical to write your manuals early. Wait until later: say, after the
- program has been shipping for a few months. By then, you will have a good
- idea of what the program can do, and you're reading to create the docs.
-
- If possible, avoid paper manuals entirely and document the whole
- program in a "README" file on the program disk. I know that some users don't
- like README files because the information often isn't presented in a natural
- order. So, if you feel obligated to please your users, I recommend running
- your README file through C:Sort.
-
- Another option is to use Commodore's AmigaGuide format. This is an
- excellent idea, but many programs do not take full advantage of this
- hypermedium. In most AmigaGuide documents I've seen, fewer than 10% of the
- words appear as buttons. For maximum benefit, EVERY word should be a
- button... even the AmigaGuide window title bar.
-
- If you do decide to use on-line documentation, you might consider
- putting it on a BBS instead of on disk, so you can make changes to it easily.
- If you are feeling nice, you can even tell your users the BBS telephone
- number, but this is not required. (To make things easier, put the phone
- number in the documentation file.)
-
- (10) Don't use the Commodore Installer.
-
- When it was introduced, the Commodore Installer was a significant
- advance over manual installation. Instead of forcing the user to make
- Assigns and execute obscure "Copy" commands, the Installer guides the user
- through a friendly set of easy-to-understand prompts, such as "Please insert
- directory 'READ/WRITE_ERROR' in any drive."
-
- Nowadays, however, the Installer has been replaced by more powerful
- utilities. The best one available today is called BLAZE-INSTALL, created by
- those ultimate programmers at BLAZEMONGER INCORPORATED. BLAZE-INSTALL is so
- easy to use that you don't even need a single mouse-click to install the
- software. Heck, you don't even have to insert the installation disk! Just
- unwrap the package, and BLAZE-INSTALL does the rest. If a file is missing,
- BLAZE-INSTALL automatically generates it... even complete programs! In
- fact, BLAZE-INSTALL is the last program you (or anybody) will ever need to
- buy, since it can create any other piece of software in existence. So I
- guess we programmers should all just go home and find other jobs.
-
-
- Well, those are my 10 most useful Amiga programming tips. I hope
- that you found them useful, or at least mildly destructive. If you'd like
- further information on Amiga programming, I strongly recommend the books
- "Amiga Tips, Tricks, and Terrorism" by Ira Sadist, and "Kicking the Hell out
- of Kickstart" by Pal Booter. Have fun!
-
- ==============================================================================
-
- Daniel J. Barrett, a doctoral student in computer science at The University
- of Massachusetts, is an Amiga humorist on USENET and the inventor of
- BLAZEMONGER.
-
- ---
- Copyright 1993 by Daniel J. Barrett. All rights reserved.
- This article may be freely distributed as long as it is distributed in its
- entirety. It may not be included in any publication without the written
- permission of the author. So nyaaah.
-