Yahoo

 

Home

Journal Contents List

Next - Article Number 3

 

 Internal Links

 

MAC PROGRAMMING
by Gavin Haines: email.gif (183 bytes)
Gavin.Haines@tesco.net


 

Mac programming is very tough. The only thing which is any good for the beginner is "REALBasic", a time-limited demo of which was on the Macformat coverdisk, June 2000. The functional version is expensive. I tried the demo, didn't like it, but it may only be the price which put me off!

http://www.realbasic.com

I would advise any potential Mac programmer to avoid the "CodeWarrior" tutorial available in certain outlets like PC World. There is a compiler, but it can only used for projects which they have given you. These projects only compile to 68k code. This has been done to make the package useless to DP professionals. The fully functional package costs the earth.

MPW can be used, but it is very hard.

There are several freeware compilers, some of which are good. Advice about these is on the Chipmunk Basic homepage.

http://www.rahul.net/rhn/cbas.page.html

Chipmunk BASIC is irritating.

MPW is probably the best bet since the whole thing is available as a fully functional download.

A problem with third-party languages is that Apple have not released technical information regarding the G3. Without this information third party language developers are unable to provide updates which work on the iMac. So, if you are asked to recommend anything for the iMac, remember this.

Although very tough, it would probably be better to go with MPW rather than anything else, since the resulting code, (even if it is 68k code), will work on the iMac.

There is a lot of stuff at Apples "dev" ftp site, including source code for games etc.

"What about PASCAL?", you ask.

Pascal was developed by Niklaus Wirth (pronounced "Virt"). It was designed to enable programming to be taught as a systematic discipline. Unlike BASIC it forces you to explicitly declare all your variables and strings before you can use them. People who have previously learned BASIC often do not like it.

A drawback with Pascal is that certain lines must end with a semi-colon. Leave out the semi-colon, and you will get a mysterious error.

There are many Pascal 'lookalikes', such as "Turbo Pascal", which are not the real thing. "Think Pascal" is rather in this vein, but easy for the beginner. The best real Pascal is "USCD Pascal". It is not free. It runs on a variety of computers. I don't know if you can get it for the Mac.

In computer science circles, the "C" language is often rated the best. This was developed from BCPL, (which stood for "Basic Combined Programming Language"), by Ken Thompson of Bell Laboratories. I don't know why it is called "C". I have read that the language was first documented under Appendix C of the UNIX operating system manual. Another theory is that it was called "C" because an earlier version of it was known as "B".

The idea with BCPL was that it was 'bit-oriented' and designed for programming operating system software, specifically UNIX. The name "UNIX" is a parody of an earlier name, "Multics", which stood for "Multi-User Computer System". The "Un" is taken from the French for "one", hence "Un+"ics" = "Unix". Pathetic isn't it?

There is a lot of Unix influence in the way the AmigaDOS was programmed and the idea with MacOS X is to base it on a Unix kernal, so presumably making the Mac more like the Amiga.

I personally think that Unix is worse than MacOS.

I think Steve Jobs is a man who can understand a technical issue, but he's also someone who sometimes arrives as erroneous conclusions. I think he will tell his engineers to implement what is his understanding of how an operating system will work, but that understanding will not necessarily be based on sound principles.

BASIC was not invented by someone in a basement somewhere (laugh). It was invented by Kemny and Kurtz - two distinguished professors of computer science. The approach adopted with UNIX is less sensible than the approach adopted with BASIC. That's the politest way of putting it.
(Ed: Comparing BASIC and Unix is a bit like comparing apples and oranges. Unix is an operating system, BASIC a language for writing applications.)

The reason you have not been able to programme the Macintosh is because the system has been made deliberately complicated, not necessarily because you are a fool.
(Ed: I guess much the same can be said about programming Windows on a PC!)

FREEBIES

As compensation for not being able to program the Mac easily here is a list of freebies that are available.

Aladdin StuffIt Expander 6.0 (Freeware - 10/26/00) - tool to expand most common file archives
http://www.versiontracker.com/moreinfo.fcgi?id=182

Space Bug 1.1 (Freeware - 10/27/00) - space arcade game
http://www.versiontracker.com/moreinfo.fcgi?id=9012

OpenStrip 0.4 (Freeware - 10/27/00) - Aqua themed replacement for the Control Strip
http://www.versiontracker.com/moreinfo.fcgi?id=8914

Clipboard Edit 1.0 (Freeware - 10/26/00) - tool to edit the contents of the clipboard
http://www.versiontracker.com/moreinfo.fcgi?id=9080

CocoaMines 1.2.1 (Freeware - 10/26/00) - clone of the classic Minesweeper game
http://www.versiontracker.com/moreinfo.fcgi?id=8640

Gravite 2.0.2 (Freeware - 10/26/00) - drag objects in the Finder with gravity, inertia, & friction
http://www.versiontracker.com/moreinfo.fcgi?id=7027

Modem Magic 4.22 (Update - 10/26/00) - refined high speed modem scripts for most all modems
http://www.versiontracker.com/moreinfo.fcgi?id=2502

UPresent 2.2.4 (Freeware - 10/26/00) - flexible multimedia presentation manager
http://www.versiontracker.com/moreinfo.fcgi?id=4688

BladeEnc 1.3 (Freeware - 10/25/00) - encodes MP3s from AIFF, WAV and PCM files
http://www.versiontracker.com/moreinfo.fcgi?id=676

epicware Fire 0.16.a (Freeware - 10/25/00) - client for communicating over AIM, ICQ, & Yahoo!
http://www.versiontracker.com/moreinfo.fcgi?id=8933

Glooton 1.11 (Freeware - 10/25/00) - Sherlock-compatible web search tool
http://www.versiontracker.com/moreinfo.fcgi?id=9135

ProTools Free 5.0.1 (Freeware - 10/25/00) - multi-track audio editing and mixing tools
http://www.versiontracker.com/moreinfo.fcgi?id=9136

Apple GameSprockets 1.7.5v1.1 (Freeware - 10/24/00) - game libraries: Draw, Input, Net, Sound Sprockets
http://www.versiontracker.com/moreinfo.fcgi?id=333

Apple iTools 1.0.5 (Freeware - 10/24/00) - installer for Apple's new Internet services for OS 9
http://www.versiontracker.com/moreinfo.fcgi?id=7193

Emacs 1.0 (Freeware - 10/24/00) - port of GNU Emacs, Unix text editor, for OS X
http://www.versiontracker.com/moreinfo.fcgi?id=1371

Epson Stylus driver updater 1.1AES (Update - 10/24/00) - for all Stylus series printers
http://www.versiontracker.com/moreinfo.fcgi?id=8076

Journal 0.1 (Freeware - 10/24/00) - lets you create and manage journals for different tasks
http://www.versiontracker.com/moreinfo.fcgi?id=9129

MarshmallowMode p2 (Freeware - 10/24/00) - new method of browsing through your computer's files
http://www.versiontracker.com/moreinfo.fcgi?id=9127

Netscape Communicator 4.7.6 (Freeware - 10/24/00) - popular web browser
http://www.versiontracker.com/moreinfo.fcgi?id=3122

Pinocchio's Furniture 2.0 (Freeware - 10/24/00) - Slashdot newsreader to grab their headlines
http://www.versiontracker.com/moreinfo.fcgi?id=9112

belgoNap 1.3 (Freeware - 10/23/00) - tool for trading MP3s via the Napster protocol
http://www.versiontracker.com/moreinfo.fcgi?id=8932

Eudora 5.0.1 (Update - 10/23/00) - popular email client, free version also available
http://www.versiontracker.com/moreinfo.fcgi?id=7536

KKGames 1.07 (Freeware - 10/23/00) - five simple activities for young children
http://www.versiontracker.com/moreinfo.fcgi?id=2356

NcFTP 3.0.2 (Freeware - 10/23/00) - flexible command line FTP client
http://www.versiontracker.com/moreinfo.fcgi?id=9119

NextAppearance 1.0 (Freeware - 10/23/00) - applies a NeXT like theme to your computer's desktop
http://www.versiontracker.com/moreinfo.fcgi?id=9120

XTrap 1.0 (Freeware - 10/23/00) - puzzle logic game somewhat like Othello
http://www.versiontracker.com/moreinfo.fcgi?id=9115

iCab Pre2.2 (Beta - 10/22/00) - lean, popular alternative Web browser
http://www.versiontracker.com/moreinfo.fcgi?id=2061

Python 2.0 (Freeware - 10/22/00) - high level interactive programming language
http://www.versiontracker.com/moreinfo.fcgi?id=9108

MP3 Title Fixer 1.3 (Freeware - 10/21/00) - SoundApp tool fixes MP3 files with header title & suffix
http://www.versiontracker.com/moreinfo.fcgi?id=3020

mpegToaster 0.5 (Freeware - 10/21/00) - audio player featuring songlists, mp3 and mp2 support
http://www.versiontracker.com/moreinfo.fcgi?id=8410

Red Bird's Quick Scripts 0.7 (Freeware - 10/22/00) - AppleScripts to automate common tasks
http://www.versiontracker.com/moreinfo.fcgi?id=8641

SlideSaver 1.0 (Freeware - 10/22/00) - screensaver that displays your images in a slideshow fashion
http://www.versiontracker.com/moreinfo.fcgi?id=9110

AppleSource MP3 2.3.2 (Freeware - 10/21/00) - Simple, Fast, Free, MP3 player
http://www.versiontracker.com/moreinfo.fcgi?id=7971

Jack O. Lantern 1.1 (Freeware - 10/21/00) - desktop halloween pumpkin watches your moves
http://www.versiontracker.com/moreinfo.fcgi?id=9000

ProcessWatcher 4.0b1 (Freeware - 10/21/00) - monitors all running apps & background processes
http://www.versiontracker.com/moreinfo.fcgi?id=3602

RockNES/MacOS 1.421 (Freeware - 10/21/00) - Nintendo (NES) emulation application
http://www.versiontracker.com/moreinfo.fcgi?id=8945

Search URL 3.7.1 (Freeware - 10/21/00) - e-mail and url search engine that works offline (url management)
http://www.versiontracker.com/moreinfo.fcgi?id=7398

TetrisSaver 1.0 (Freeware - 10/21/00) - self-explanatory OpenGL enabled screensaver
http://www.versiontracker.com/moreinfo.fcgi?id=9104


What's New at ICPUG

Home

Back to Top

Next - Article Number 3

Journal Contents