Fortran

When Apple moved from the Apple ][ line to the Mac line, where and why was the decision to move to a closed architecture? I thought that Apple suitors were the hobbyist and as such would have more of a hardware/software development contribution... In reflection on programming graphics with peek and poke, I was wondering why an interpreted language rather than a compiled language was developed. Was this the Microsoft DEC BASIC vs. Woz HP BASIC approach we discussed previously?

Woz

The closed architecture was in line with attempts to bring computers down to less technical people. Does the phrase "for the rest of us" ring a bell. Although that phrase referred to the way the software worked, there was a strong feeling that some people were turned off by too much visible technology. There might have been personal reasons within Apple to minimize the technology aspect, since the technology emphasis came largely from me and not the other Apple execs. I don't feel that it was a good or needed thing to restrict access like this. Even the designers wanted more access and at least a "test" port but Steve Jobs nixed that.

I'd never written a computer language or studied writing one. I'd also never used BASIC, only FORTRAN and ALGOL and a number of machine languages. But it was clear that BASIC was the best language for an early home computer because of the ease of learning and using it and the many games available in BASIC. So I pulled out an HP manual and wrote my syntax diagrams based on that. It was a little different, mainly with strings, than the DEC BASIC.

I always understood that FORTRAN could be compiled but BASIC was an interpreted language. It's late and I'm not sure why BASIC has to be interpreted but an easy language for small programs is quicker to use when you can enter new lines and run them right away without compiling. It also takes less RAM. We didn't even have a floppy disk then.

At the current age of 41, I remember that the first language I learned was FORTRAN via a paper tape teletype at my high school connected to a time share system...I later learned BASIC on the Apple as I recall...

I learned FORTRAN even though our HS had no computer. I just learned it on paper and then my electronics teacher arranged for me to go to Sylvania once a week to program an IBM 1370. My first program was the Knight's Tour of a chessboard. Nothing came out so I assumed that I had an infinite loop. The next week I determined that my program was fine. Then I calculated that I'd find a result, by standard backtracking, in about ten to the 25th years! A good algorithm is worth more than a machine that can do a million things a second.

Woz

I'd never programmed BASIC in my life when I developed the Apple I. But I could tell that BASIC was the way to go if you wanted to be able to buy books of computer games. Plus, the Altair, with Bill Gates' BASIC, had shown that this was the popular language among the crowd interested in hobby computers. I used a manual for HP Basic (that's where I worked) to learn it and develop my interpreter architecture and syntax diagrams. The major differences between HP BASIC (that mine was modeled on) and DEC BASIC (that Microsoft's is modeled on) is in the string functions and strings. HP's strings had to have a size dimensioned whereas DEC's could grow to whatever size if I remember correctly. But the LEFT$, MID$, and RIGHT$ functions of DEC BASIC were much nicer in HP's. You could specify STRING (5,8) for characters 5 through 8 of the string, for example.