30 comments

[ 6.1 ms ] story [ 69.0 ms ] thread
It's quite cool that Logo’s turtle occupies a certain position in Logo "space", and can be moved relative to that position by using commands such as fd (forward), rt (right turn) and so forth.

It's like the concept sets an absolute space relative to something and all positions within that are relative from the baseline coordinate. Much as CSS container wrapping works when you set an absolute within a relative.

The paleotronic folks have been on fire lately. Their Apple II emulator, microM8 is fast becoming one of the most advanced, cross-platform emulators.

https://paleotronic.com/microm8/

Oh, and it's written in Go.

(Cue incoming comments (a) asking me why it's relevant what language it's written in, and (b) talking about how much better it would be if it were written in Rust. :-) )

(c) How do you even write Hello World in a language without generics?
How do I contribute? I recently used ADTPro to copy a lot of old Apple II software onto my MacBook Pro as DSK images.

5.25 floppies:

https://mega.nz/#!yDITXIZC!8fREZdAruk2yYLv859jKABGSWeG4UkRoC...

https://www.flickr.com/photos/150180606@N08/sets/72157672562...

https://www.flickr.com/photos/150180606@N08/sets/72157672589...

I've also got a larger selection of DD floppies, HD floppies, JAZ disks, SCSI disks, IDE disks, MacFormat and other CDs. Please tell me if you want the links!

You could join the Apple2 Slack, and ask if there's anything there that hasn't been captured.

Signup: http://apple2.gs:3000/

Also, just show off pictures — people will be interested! :-)

You might want to contact Jason Scott at the Internet Archive, especially if some of those are copy-protected: http://ascii.textfiles.com/archives/5180
I know HN doesn't really do "this" or "me too" comments, but I want to underline this isn't just another option, this is the canonical option. Jason Scott is really an important and respected archivist and the IA should really be the first port of call before anyone looks at sending disks elsewhere.
There was another logo for apple IIs (logowriter I think it was called?) that was very nearly a 2d game engine. You could have multiple turtles, change the image used for the turtles, and hide turtles, which could be (ab)used as a simple sprite engine. There was even a command to check if two turtles overlapped, making hit detection fairly easy.
Logo sucked you in with the turtle graphics and making cool shapes. It is basically a computer etch-a-sketch, but it does get boring at some point. I am so grateful that I had a teacher that pointed out there was an amazing language just past cute turtles. Logo was a real change from programming in BASIC, FORTH, and 6502 assembler. It was one thing to read about all the cool languages in Byte Magazine, but it was quite another to actually get a shot at programming one of the cooler ones.
Logo was more than turtle graphics. It also provided list processing with slightly friendlier names: Logo BUTFIRST is Lisp's CDR. This makes possible a great deal of purely linguistic programming, e.g. "20 questions game", text based adventure, etc. (I was one of the implementors of Logo for Apple II.)
Exactly. Logo was trying to turn kids into Lisp programmers in the same sense that BASIC was a kid's version of classic FORTRAN.
thus I said I am so grateful that I had a teacher that pointed out there was an amazing language just past cute turtles.
Logo was my first programming language! I recently rewrote my own version of it so that I could draw a time-proportional train map. I wrote "fd 5" for 5 minutes, for example.

http://peterburk.github.io/tra/

The version I wrote can read values from a spreadsheet, so could be used in other applications too. I think this kind of thing could be a great way for a young person to go from a homework project to the front of Hacker News. If any of you have kids, I'd be happy to help gather the data for some other subway networks!

There was a very interesting letter to the editor in Byte magazine in the late 70's (?) that I re-read recently.

It was from the guy who wrote Logo for MIT. He was really quite mad, and surprisingly candid about how MIT was screwing with his project.

He claimed that he'd made a perfectly lovely, functional Logo for the Apple //, but MIT wouldn't release it. He felt like it should be released because the whole reason he was asked to make it was so that it could be released to the public for public benefit ("Public domain" software, similar to "open source" for you young 'uns).

He contended that MIT was withholding Logo from the public because Texas Instruments was a big donor to MIT and asked that it not release Logo. TI, he said, only wanted Logo to exist on the 99/4A, to help boost sales in the educational market.

This aligns with my memories of the day, when Logo was only a TI 99/4A product for a very long time. I don't remember if it ever make it to Commodore or CP/M machines, which is where I was at the time.

Anyway, it's an interesting tale because it shows that corporate interference in this sort of thing is nothing new.

Plus, Logo!

Logo was definitely on the Commodore 64! I had it as a kid. My impression at the time (having only used BASIC and 6502 assembly) was that it was a little weird, and incredibly slow.

The 6502 just doesn't have enough CPU/RAM to do anything where you need a powerful language -- or to run a self-hosted compiler (I assume that's what it was). It was easy to draw "high resolution" lines (at 320x200, or about twice the pixel count of a fingertip-sized iOS icon) but it was so slow you could see each line being drawn. The compiler ran at "go take a snack break" speed, even for short programs.

It was possible to make the 6502 run faster than its clock speed suggested, but you needed to take advantage of features (like zero page) that HLLs didn't seem to be able to optimize for. I didn't use a compiler until we got a 16-bit computer, and I didn't like them until I got a 32-bit computer.

The 6502 just doesn't have enough CPU/RAM to do anything where you need a powerful language

I'm not sure about this assertion. Pretty much every major high-level language of the time was available for the 64, including C, FORTH, FORTRAN, COBOL, and I think even PASCAL.

Even pascal? Pascal can be compiled (1) in a single pass. That makes it easier to write a compiler for it than C if memory is tight.

And indeed: https://www.c64-wiki.com/wiki/Pascal lists seven different pascal compilers for the C64; https://www.c64-wiki.com/wiki/C lists only four C compilers. I don’t know how complete these implementations were.

(1) not optimally, but many people would compare the speed and size of compiled code with interpreted Basic (if you really needed speed, you would use assembly), so that often didn’t matter much.

You sent me down a rabbit hole looking for this (the Internet Archive has a bunch of issues of Byte digitized and OCR'd) and, while I didn't find it, I did find this very interesting post from 1995 re: the history of LOGO: https://groups.google.com/forum/#!topic/comp.lang.logo/UqOvE...

If anybody else went down that particular rabbit hole they might find that link interesting too.

Logo was created by Seymour Papert. He formed his own company in 1980, called Logo Computer Systems Inc., and they produced versions of Logo for various home computers in the early 80s, including the Apple II.

http://el.media.mit.edu/logo-foundation/what_is_logo/history...

Apparently they're still around: http://www.microworlds.com/company/profile.html

The version I used in 1983 was for the Coleco Adam computer, which uses the same video and sound chips as the TI99/4A. This version of Logo supported 32 sprites, 16 color graphics, 4 channel sound, and had a built-in sprite editor.

The language itself was quite slow, but it was very easy to come up with all sorts of interesting animations using the 32 sprites. You give a sprite a speed and direction and off it goes. It was a lot of fun and I spent many hours with it as a kid.

Found it!

Byte magazine, August 1981, page 32.

The letter was from Stephen again, identified only as “MIT Logo Laboratory.”

”Texas Instruments is a very generous friend of MIT, and some people here are embarrassed about a situation that might threaten one of its sales programs. So, in an effort to appease its corporate friend, MIT has been stalling the distribution of Apple Logo.”

The whole thing is available on archive.org.

I don't know that there was any stalling, as it was licensed and released by Terrapin in 1982.

This person then did work for Logo Computer Systems on the competing version of Apple II Logo.

I'll message him and ask him to respond.

Ahh, looking down below at the first response there's a link to a '95 comp.lang.logo post with a great looong item by Leigh Klotz on the history of that. His claim was that it was legal wrangling between NSF and MIT on the licensing that caused the delay. This seems highly believable.
This is so not true. I wrote the TI 99/4 Logo at MIT (translated from an implementation in Pascal by Gary Drescher). The Apple II implementation was overlapping, started a little later, the guys doing it had the next desk. It was licensed by MIT to Terrapin Inc and released ('82) not long after the 99/4 version ('81).

https://www.dropbox.com/s/migcvjvgu31qaz9/LogoHistory_Microc...

Note, not open source. All these were commercial products.
Strange, but Spacewar (arcade version) is still my all time favorite game. Portal is close second.