[HN Gopher] C Programming on System 6 - Implementing Multi-User ...
___________________________________________________________________
C Programming on System 6 - Implementing Multi-User Chat
Author : tobr
Score : 93 points
Date : 2021-12-18 23:01 UTC (23 hours ago)
(HTM) web link (jcs.org)
(TXT) w3m dump (jcs.org)
| kzrdude wrote:
| What's the toolchain he's using? Compiler and environment
| rvense wrote:
| Think C, as far as I remember.
| georgeoliver wrote:
| With the many examples I see of very skilled programmers using
| retro tools for their personal projects, I wonder if it goes the
| other way too -- are there examples of highly capable programmers
| choosing bleeding-edge tools for personal projects? What does
| that look like?
| avador wrote:
| It looks like https://news.ycombinator.com/user?id=staltz
|
| Or https://staltz.com/
|
| Offers will vary, but, if impromptu answers carry any weight,
| then off the top of my Sunday afternoon head, this is the first
| reference that percolates to the surface.
| dleslie wrote:
| Houdini and ORCA immediately spring to mind as having intensely
| talented communities building things with these bleeding edge
| tools.
| mrweasel wrote:
| > I see of very skilled programmers using retro tools for their
| personal projects
|
| Interesting observation, and something I hadn't really though
| about. For my own stuff I increasingly pick older technologies,
| not really retro, like jcs does here. Personally I think I've
| just grown tired of the modern "stuff", it's way to complex for
| me to find it relaxing to write a few lines of code for the fun
| of it. I wonder if that's true in a boarder sense for others
| working in IT.
|
| I've watched a few of these videos, where jcs just hacks away
| on his old Mac and I'm extremely impressed with what's actually
| possible on these old machine. I do think the compile times
| would drive me insane, but others might see it as a nice little
| break.
| bluedino wrote:
| I know I don't have the time but I'd love to chip away at a
| VGA game project on a fast 486 or low end Pentium, using
| Turbo C or maybe djgpp
| pengaru wrote:
| The PC of that era was such an unpredictable mess of
| components, you couldn't even assume a specific sound card
| was present. VGA 256-color modes didn't even have square
| pixels unless you went Mode-X which was rather annoying to
| program for.
|
| I think there are far better retro hardware choices to
| relive writing native programs for. Stuff you'll actually
| be able to ensure will run successfully with full graphics
| and sound capabilities on every instance of the thing. C64,
| Amiga, etc. There's a reason the x86 PC severely lagged
| behind in the demoscene for ages, it was just miserable
| hardware to support.
| bluedino wrote:
| Most games targeted SB/Adlib and almost every game used
| 320x200, oblong pixels and all
| mysterydip wrote:
| I recently became involved in the P2 community, the new
| propeller microcontroller from parallax (which just hit rev C).
| There's some very talented people there doing interesting
| things with it.
|
| Some of them have been programming it before it was even proper
| silicon, when it was being developed via FPGA. Lots of really
| in-the-weeds discussions on machine code and cycle timings and
| such. Worth diving in if you like seeing "how the sausage is
| made."
|
| One of the current projects is implementing a sega
| genesis/megadrive console, using the different cores to emulate
| different components:
| https://forums.parallax.com/discussion/173381/console-emulat...
| mistrial9 wrote:
| definitely ThinkC - note the pre-unicode PI symbol for project
| name..
| bluedino wrote:
| Think C!
|
| I had a computer programming class in high school, we got to pick
| our compiler out of a box of old software. For some reason it's
| what I chose, and spent the first day installing it from floppy
| disks.
|
| I am pretty sure the machine I used was a Macintosh LC III,
| already obsolete by the time I got my hands on it. But the other
| computers were Pentium 100's running Windows and I had a PC at
| home, so that wouldn't have been any fun.
|
| I later found out it became Symantec C, but I really only used
| Codewarrior for the rest of my Mac classic endeavors.
| pengaru wrote:
| Is this how commercial Mac software of the era was generally
| written? (I have no Apple experience) Or is this a more
| hobbyist/consumer-oriented IDE/editor workflow?
|
| It's painful to watch, coming from a 486 PC era background using
| Borland Turbo C/C++.
| rvense wrote:
| It was one way. A lot of software was also written in Pascal,
| but the APIs were at the same basic level of abstraction.
|
| This is a bit before 486s AFAIK though, he's using a Mac Plus
| from 1986. Software-wise, System 7 came out in 1991 and was a
| big update.
|
| I don't think Macs were every famous for being developer-
| friendly, though, but I'm curious what features Turbo C have
| that you're not seeing here?
| pengaru wrote:
| Just the editor features, compiler errors/feedback, and
| general pace of development/iteration.
|
| I want to assume that the actual professional developers or
| programmers working at Apple creating the system probably
| weren't using this kind of workflow. It's just so awfully
| slow and serialized, the whole single compilation error shown
| at a time in a GUI popup for every build strikes me as the
| IDE going far out of its way to not overwhelm the programmer
| with walls of scary error text at great expense to iteration
| speed. Especially considering how long the builds take. That
| would make sense if the tooling was intended for
| hobbyists/beginners, trying to make programming more
| approachable than efficient.
|
| Ron Gilbert has described developing Maniac Mansion for the
| C64 using UNIX editors and cross-toolchains run on DEC
| machines, never actually writing any software using a C64. I
| wonder if the video is more representative of what end-users
| were suffering through to write small programs, and not what
| the professionals or Apple devs experienced.
| rvense wrote:
| Think C was definitely used to make commercial software.
| Apple developers probably used "Macintosh Programmer's
| Workshop", which is more like a command line. Whether it
| gave more feedback I can't really say. But again, this is
| not comparable to an early 90's 486 system at all. This is
| an 8 MHz machine that maxes out at 4MB RAM.
|
| The big constraint on IDEs in the first few years of Macs,
| including this system, is the screen size. 512x342 pixels
| is not a lot. In the early 90's people most developers
| would have had something more like a desktop Mac with more
| real estate, so the editors evolved fairly quickly. But the
| first version of Photoshop was written on this exact
| machine (Mac Plus) according to Wikipedia.
|
| I've never heard of anyone cross-compiling end-user
| software from Unix, except for pre-1984 system bring-up. In
| the first year or so, I think you needed a Lisa to code for
| the Mac, but it became self-hosting quite quickly. Mac
| applications until OS X need a bunch of Mac-specific stuff,
| that live in the file's so-called "resource fork", and the
| final artifact (application file) can only exist on the
| Macintosh file system.
| musicale wrote:
| Which apparently had brilliant error messages:
|
| https://mipmip.org/tidbits/compiler-errors.html
| musicale wrote:
| > 486 PC
|
| The Mac's 8MHz 68000 CPU is more like an 8086 than a 486.
|
| Though 4MB of RAM probably helped a bit with the workflow.
| rvense wrote:
| Soft spoken people selfhosting down-to-earth videos without
| asking me to like, subscribe and send my left b*llock to
| Facegoogle is everything I want from the 2020's. Bonus points for
| old Macs.
| kergonath wrote:
| I am very happy that this is the top comment. We do indeed need
| more of those videos!
| bullen wrote:
| Agreed, and he's programming like I do with pointers; no clue,
| just add/remove * and & until it compiles! Xo
|
| My question is, how does he record the display?!
|
| Also user->name for the love of god!
___________________________________________________________________
(page generated 2021-12-19 23:01 UTC)