Hacker News new | ask | show | jobs
by antitrust 4693 days ago
The Apple //e was the hacker-friendliest machine ever. It's probably the ideal learning platform for anyone looking to go into computer science, although perhaps not app programming as a career, which requires a narrower skill set and more focus.
2 comments

I was a die-hard Apple fan until the Mac came out, which felt like a betrayal to the original Wozniak-driven Apple philosophy. The PC, ironically, became the continuation of what Apple meant to me.
I suspect that their experience with the //e influenced the decision to make the Mac a closed box. Like you, I found the PC to be a much more comfortable transition.

Because the Apple ][ was a locked design, folks started poking directly into ROM and RAM locations, for instance directly manipulating system variables, or even jumping into the middle of ROM subroutines. A book called "What's Where in the Apple II" documented almost every known hook.

My mom had that book. She's my hacker role model.

As a result of the way that software interacted, it became virtually impossible for Apple to update the ROMs without breaking popular apps.

The next generation of personal computers all represented different approaches to avoiding this problem by providing well documented entry points while offering no guarantee of long term code stability. IBM made one mistake: They let people hard code the address of video RAM, which is what led to the legendary 640k barrier.

I wish they'd taken a middle path.

Having BASIC (or another language) built into the machine was a big plus and encouraged people to see continuity between the OS, the hardware and the code.

If that BASIC had to use built-in functions and data-types instead of simply POKE-ing and PEEKING-ing as a de facto interface with the underlying machine code, that would still have been hacker-friendly without being inflexible.

It was such a weird relationship between desktop machines and UNIXes back then. It's like the desktop designers had to re-learn the lessons of UNIX in the small. So much was forgotten.

I agree. In my view, the "walled garden" of iOS is just the next step in what Apple had already intended to establish for the original Mac. To be charitable, I can imagine it being based on the idea of protecting the user from Bad Software.

But lots of us wanted to write Bad Software such as little programs for our own use, or for limited, specialized use by other people. I found the Mac programming docs (Inside Mac) to be impenetrable, and the overhead for writing Hello World enormous.

Then I fell in love with HyperCard. But we all know what happened to that.

> In my view, the "walled garden" of iOS is just the next step in what Apple had already intended to establish for the original Mac.

I imagine this is a quandary that shows up not in computing, but anywhere that users interact with a single source of definitive rules.

For example, it might be easier for government to erect certain walled gardens... or for companies to do this with their employees, parents with their kids, etc.

It's not that I don't understand their position or view it as probably the best way to herd cats (I mean, "consumers").

But hacker-friendliness is what gets you the top echelon of users drifting toward your hardware and software. As a result, it's a huge (but invisible) business draw.

Your mom was a hacker? I'm jealous.
My mom was a high school teacher in a small rural district with a Ford plant. In the early 80's, she took a couple of programming classes as a hedge against possible layoff, and ended up starting a class at her school. She paid for the computers out of her own pocket, and class met before the regular school day.

It should be noted that during this time period, outside of a few affluent districts, virtually all teaching of programming at the K-12 level was done on an ad hoc basis by teachers who volunteered their time and money.

Edit: Not "was" a hacker but "is" a hacker. ;-)

Is this sort of anti-hack mentality one of the reasons why, in some versions of ProDOS, there was a conscious decision to omit the assembler, and to encourage programmers to use BASIC? (Our version, in this article, for example, had no assembler; only BASIC and the monitor program.)
There is always the mini-assembler assuming you have the enhanced ROM //e.

] CALL-151

* !

! 300: LDA 1000

http://support.apple.com/kb/TA39083?viewlocale=en_US

When I was young, I learned to program assembly via machine code on an enhanced //e, with no references. I figured out the instruction set by making a program with all possible opcodes and dumping it out, and would write code by inputting the hex directly after assembling it by hand.

The day I discovered the mini-assembler was absolutely mind-blowing.

I don't have the Apple //e in front of me, but I remember this not being present on our version of ProDOS.
The mini assembler was in the integer basic ROMS. Prodos didn't support integer basic (hence no mini assembler) but the later enhanced //e roms also had the mini assembler.

I have very fond memories of the Apple //e (and I have some with broken PSUs that I must get around to fixing) I bootstrapped my own assembler on DOS3.3 using the mini-assembler.

On Prodos I bought the full development kit which came with an assembler and a nice debugger. Wrote a Forth for the Apple with help from Loeligers Threaded Interpretive Languages and a copy of Starting Forth by Leo Brodie (both borrowed from the library) good times...

The mini assembler was built into the ROM of all enhanced //e's
Same here. I went from an Apple IIe to a Macintosh SE. It was a nice computer for typing high school papers on (yay PageMaker 1.0), and the GUI of System 5 was beautiful on the little black-and-white screen. There was some hacking involving fonts, inits, and ResEdit, but despite despite getting a C compiler and a few books, I never was comfortable programming on it, and always felt like there was something missing.

Two years later I got a '386 clone, bought Turbo C and all the fun came back at once.

This was my experience exactly. I loved the open Apple //, even though it had limited growth potential. I found the Macintosh to be confining (and still do, although more in an interface design sense now).
It certainly worked for me.