3 ms·
the example about C at Apple Computer is accurate. The MPW group had a tool suite but it was a niche project at the time (mid-80s). Influential engineers had a
by mistrial9 4y ago
the example about C at Apple Computer is accurate. The MPW group had a tool suite but it was a niche project at the time (mid-80s). Influential engineers had a great pascal compiler and dropped into assembler for the fine points, quite a lot. The environment at DeAnza 3 where TechSupport lived was a place of change for Apple at that time. Within a few years, C was popular as an application language, some drivers for the new Mac II, and lots of community code was generated.
edit thinking about it, the resistance to C at the time was for real reasons.. common microcomputer C famously shipped with a minimal language but the I/O and string handling libs made the environment a useful runtime. Interfaces to anything more than that on a microcomputer were adhoc. But many professionals at that time knew about the larger *nix systems, and wanted the kinds of pipes and task management interfaces that they knew. This was the wrong model for the Mac OS, which emphasized graphical user interfaces at every step. There were no terminal windows in the background at all, no pipes and no standardized processes.
It was the courage to break away from "grown up" multi-user system, incremental engineering and make a completely mouse-driven interface that made the Mac great. Later when C interfaces to ROM Toolbox calls were built, they were used to support the Mac OS, not drag in tons of technical debt and character-stream kinds of ideas to this new computer.
- mwcremer 4y agoFor what is is worth, K&R and UCSD Pascal were contemporaneous, so it could have gone either way. As it happened, Bill Atkinson convinced Steve Jobs to support Pascal on the Apple ][. And the Apple ][ was the original development environment for the Lisa, which was the original development environment for the Macintosh. https://www.folklore.org/StoryView.py?story=Joining_Apple_Computer https://www.folklore.org/StoryView.py?story=Joining_Apple_Co...
- WalterBright 4y agoUCSD Pascal was too slow to be competitive.
- AnimalMuppet 4y agoWas it Pascal in general that was slow, or just USCD? Was that the p-code system? Or was it a true compiler? Was it slow because it was p-code? I wasn't on UCSD, but I don't recall Pascal being particularly slow compared to C. I never benchmarked them against each other, but it wasn't noticeably slower to my eyeball.
- WalterBright 4y agoIt was slow because the P-system was an interpreter, not native code. Java fixed that problem with the JIT. (Steve Russell created the first JIT for Java, and the result was spectacular.)
- fsckboy 4y agothat's not entirely true, for example, Microsoft Word for the Mac (and PC) was p-code C, because p-code is a lot smaller. I think UCSD pascal was, yes, slow because of p-code, but also pascal is a very limited language compared to C. P-code with pointers is going to be a lot faster than p-code with no pointers.
- mistrial9 4y agothe Apple compilers were good enough, with a lot of ASM.. the other comment is trying to change the subject to Sun things, which is like England vs France topic
- chasil 4y agoIn the DOS world, there were "near" and "far" pointers that would allow access to different memory segments. Even with this extra complexity, C did well. I understand that Microsoft tried to get these into ANSI C, but they were forcefully kiboshed. https://en.m.wikipedia.org/wiki/Far_pointer https://en.m.wikipedia.org/wiki/Far_pointer