I agree that learning "C" using K&R in a shell might be a good way to start. Installing some kind of language support shouldn't be too much of a problem on any modern system. I'm guessing that GNU "C" comes installed with most Linux implementations. On OS/X you can install Xcode pretty simply. You don't need to use the Xcode IDE, but it is the easiest way to install the GNU tools that you need. I forget details, but while installing, I think you specify install the GNU C extensions. Once installed, you go to OS/X's terminal and type "cc" from there. I use OS/X terminal all the time for cross compiling 6502 or 8008 applications. Those cross compliers are "C" programs which are usually easy to tweak plus I've written a number of "C" language utilites to convert between archaic or unusual file formats. One caution is that modern incarnations of "C" may, by default, enforce some additional type checking restrictions and the like that break the examples in K&R, so it may become difficult for a beginner to figure out why the tutorial doesn't work. In case you want to go whole hog retro, I'll tell you that for a brief while, I made my living programming in "C" on a dual 5 1/4" floppy based Compaq luggable. I can't remember the name of the compiler, but it worked pretty well. We used a standard word processor of the day, perhaps it was WordStar, for source file editing. Not really any more difficult than using a shell in a modern system. Around the same time, I also experimented with a "C" implementation on the Apple II, and, by comparison, it was very clunky. I've been slowly learning to make OS/X applications over the past few years with xCode in Objective C for my SCELBI emulator app. Moving it over to the iPhone and iPad is in the cards. I'll tell you that the learning curve is extremely steep, but once you reach some level of proficiency, the power of the environment starts to get addictive. This is probably heresy on this forum, but I'm temped to say forget assembly and other archaic languages and just learn how to make IOS or Andriod apps. Surprisingly, the skills aren't really all that transferable from one to the other. Some basics are similar, but there is a great gulf of 30 plus years of technology separating the two worlds. Regardless of what approach you take, unless you have an idea of some concrete application that you need to write, it's going to be extremely difficult to become very proficient. Your first step should be deciding upon the end application that you REALLY need to have. regards, Mike Willegal