[HN Gopher] Byte Magazine: The C Programming Language (1983)
       ___________________________________________________________________
        
       Byte Magazine: The C Programming Language (1983)
        
       Author : PaulHoule
       Score  : 204 points
       Date   : 2022-09-09 16:00 UTC (7 hours ago)
        
 (HTM) web link (archive.org)
 (TXT) w3m dump (archive.org)
        
       | sanjayts wrote:
       | Direct page link for those interested --
       | https://archive.org/details/byte-magazine-1983-08/page/n49/m...
        
       | themadturk wrote:
       | My attempt to learn to program in the early 90s took me to a
       | small business college, and I was eager to learn C. Our
       | instruction was so execrable half of the class took off after the
       | evening's first break and spent the rest of the night eating
       | calamari at the restaurant across the street. Eventually our
       | complaints gained sympathy in the office; the teacher was fired
       | and we all got full passing credit for two quarters of C.
       | 
       | Unfortunately I didn't learn the language well enough to ever use
       | it.
        
       | klik99 wrote:
       | Amazing to get perspective on what made C fresh and exciting - I
       | only have known the basic narrative "Unix used C so it got super
       | popular", but this article really filled in the info.
       | 
       | Also I could imagine what it was like living through this time,
       | schematics for modems, cheesy ads for EEPROM writers, what a
       | wonderful magazine, I would have been waiting by the door for
       | this to be delivered each month.
        
         | gramie wrote:
         | From 1988-1991 I lived in a hut in a small African mountain
         | village. No running water or electricity, but I wrote programs
         | on paper and waited with bated breath for every issue of Byte
         | (several months delayed of course). I would read them from
         | cover to cover a dozen times, perusing every article, every
         | advertisement, every editorial. I remember a listing that
         | created a fern using a short, recursive PostScript program.
         | 
         | About once a month I would journey down to the capital, where
         | -- in exchange for my IT services -- they let me tinker to my
         | heart's content and type in my programs (the only language
         | available, and the only one I knew at the time was GW-BASIC).
        
           | worstestes wrote:
           | Whoa! Love this story. Do you happen to blog? I and I'm sure
           | many others here on HN would be interested in hearing more
           | details about your journey.
        
           | nuancebydefault wrote:
           | That is an amazing story! Did you get paid for your IT
           | services as well?
        
           | ncmncm wrote:
           | I found the original "C Programming Language" by Kernighan
           | and Ritchie ("K&R") at my university bookstore in, maybe,
           | 1980. I read it cover to cover twice on a plane flight,
           | memorizing it, and immediately recognized its superiority
           | over Pascal as it existed then. Everyone who made a Pascal
           | extended it, incompatibly with everybody else, to try to
           | match C. Any of those would have sufficed, but none could
           | win.
        
       | adamredwoods wrote:
       | Love retro magazines. Byte had some great covers. I recently
       | flipped through an old Compute! magazine looking at the type-in
       | programs for different computer platforms at the time (IBM PCjr,
       | Commodore, Apple, Atari).
        
         | salgernon wrote:
         | I've been unable to convince Dall-e to render anything "in the
         | style of artist Robert Tinney". I love his work - and have
         | several prints of his byte covers.
        
           | dcminter wrote:
           | I'm guessing none of his illustrations were in the training
           | set? One can get something along those lines by specifying
           | "... drawn with pencil crayons"
        
         | tomcam wrote:
         | It was the September 1983 issue of COMPUTE! that opened the
         | gates to my life as a programmer. They had programs that did
         | interesting things but that also came with clear explanations.
         | A while later they had a type-in word processor named
         | SpeedScript that I used for years in the early part of my
         | technical writing career.
        
       | [deleted]
        
       | just_askin wrote:
       | P 401 for a certain William Gates take on integration challenges
        
       | AnimalMuppet wrote:
       | From page 52:
       | 
       | > Operating systems have to deal with some very unusual objects
       | and events: interrupts; memory maps; apparent locations in memory
       | that really represent devices, hardware traps and faults; and I/O
       | controllers. It is unlikely that even a low-level model can
       | adequately support all of these notions or new ones that come
       | along in the future. So a key idea in C is that the language
       | model be flexible; with escape hatches to allow the programmer to
       | do the right thing, even if the language designer didn't think of
       | it first.
       | 
       | This. _This_ is the difference between C and Pascal. This is why
       | C won and Pascal lost - because Pascal prohibited everything but
       | what Wirth thought should be allowed, and Wirth had far too
       | limited a vision of what people might need to do. Ritchie, in
       | contrast, knew he wasn 't smart enough to play that game, so he
       | didn't try. As a result, in practice C was considerably more
       | usable than Pascal. The closer you were to the metal, the greater
       | C's advantage. And in those days, you were often pretty close to
       | the metal...
       | 
       | Later, on page 60:
       | 
       | > Much of the C model relies on the programmer always being
       | right, so the task of the language is to make it easy what is
       | necessary... The converse model, which is the basis of Pascal and
       | Ada, is that the programmer is often wrong, so the language
       | should make it hard to say anything incorrect... Finally, the
       | large amount of freedom provided in the language means that you
       | can make truly spectacular errors, far exceeding the relatively
       | trivial difficulties you encounter misusing, say, BASIC.
       | 
       | Also true. And it is true that the "Pascal model" of the
       | programmer has quite a bit of truth to it. But programmers
       | collectively chose freedom over restrictions, even restrictions
       | that were intended to be for their own good.
        
       | cmollis wrote:
       | How I miss bookstores.. I realize that they still exist, but for
       | me as a (mostly average) comp sci student, the bookstore was the
       | place that I could find the code snippets and algorithm solutions
       | for my classes. I spent hours just reading programming books,
       | magazine articles (like Byte)..taking notes..remembering
       | techniques.. couldn't wait to try them out. Pretty nerd-y now
       | that I look back on it. I actually found it kind of fun..
       | although this is the first time I've admitted it (taking the
       | first step is the hardest). Now it is stack overflow and google,
       | as we all know. good times.
        
       | wistlo wrote:
       | So many long-forgotten companies advertising!
       | 
       | So many modems!
       | 
       | I know someone who was a grad student at that time, and how
       | excited he was to get a 2400 baud modem and his own VT-100 for
       | work on the VAX.
       | 
       | That grad student was me, though today it seems almost impossible
       | to remember what it was like back then. I do remember ruining a
       | colleague's line-by-line source printout by sending a console
       | message that read, "Andropov just died."
        
       | sbf501 wrote:
       | It's hard to get my head around what it would be like seeing
       | C-like patterns for the first time if I was someone that already
       | had a background in COBOL and Pascal. At my university, CS101 was
       | taught with both COBOL and Pascal, but I had already had some C
       | and 6502 assembly in the mid-80's. COBOL seemed like assembly
       | with words instead of opcodes and cryptic operands. Pascal seemed
       | like a more user-friendly C.
       | 
       | I can see why C is preferable to COBOL as the world moved to more
       | commodified OSes and something better than assembly was needed
       | for drivers & kernels, but it would be interesting to know what
       | Pascal "idiosyncrasies" turned people to "portable" C. Any old
       | timers here care to weigh in?
        
         | [deleted]
        
         | Jtsummers wrote:
         | Here is Kernighan's take on Pascal from 1981:
         | https://www.cs.virginia.edu/~evans/cs655/readings/bwk-on-pas...
         | 
         | It seems pretty representative of other complaints about Pascal
         | (versus C, in particular, but not always) I've seen from that
         | same time.
        
           | pjmlp wrote:
           | Cleverly ignoring that Modula-2, released in 1978, sorts out
           | those issues.
        
             | ncmncm wrote:
             | Modula-2 had lost that race already.
        
           | ncmncm wrote:
           | Kernighan had the experience then of writing "Software Tools
           | in Pascal", updated from "... in RATFOR". RATFOR was a pre-
           | processor for FORTRAN that made it look sort of Pascal-ish.
           | People could use it to code and run unixy utilities on their
           | machines that only had a FORTRAN compiler. Good times!
        
         | AnimalMuppet wrote:
         | See "Why Pascal Is Not My Favorite Programming Language"
         | (https://www.cs.virginia.edu/~evans/cs655/readings/bwk-on-
         | pas...). It's written by Brian Kernighan, but it's not a hit
         | piece. It's also not a comparison to C.
         | 
         | Kernighan (and P. J. Plaugher) had written a book called
         | "Software Tools". It was supposed to give several reasonably-
         | lengthy examples of software that did actual useful functions.
         | It was written in RATFOR, which is a pre-processor for FORTRAN.
         | Some time later, they re-wrote the book to use Pascal, calling
         | it (predictably enough) "Software Tools In Pascal". After
         | writing it, Kernighan wrote this paper, basically because he
         | was thinking "That should have been way easier than writing the
         | same stuff in RATFOR. Why was that so hard?"
         | 
         | I used Pascal for two years professionally, and many of the
         | issues in the paper I ran into. Pascal was just clumsy to use.
         | It was a good teaching language, but not good for professional
         | programmers in many cases. (C, on the other hand, was written
         | by people trying to write an operating system, and turned out
         | to be a decent language for writing operating systems in.)
         | 
         | Note well: All of this is true of the _original_ Pascal. Things
         | like Turbo Pascal improved it and made it actually a usable
         | language. But even that wasn 't portable - there wasn't a Turbo
         | Pascal for anything other than the IBM PC, so far as I recall.
         | And every other "improved" version was different from Turbo
         | Pascal, so there was no portability between extensions either.
        
           | pjmlp wrote:
           | Let's just ignore the C dialects outside UNIX like Small-C
           | and RatC, or that we had to wait until 1990 for proper
           | standard, and not even K&R C was a given outside UNIX.
        
             | kloch wrote:
             | The delay in publishing a "proper" standard was due to the
             | incredible success/usefulness of the defacto K&R standard.
             | But as you point out that was hard to find outside of Unix.
             | I suspect this was mostly due to the effort required to
             | implement the full standard library and/or resource
             | limitations on many systems.
             | 
             | For example, there was a Small-C compiler available for the
             | Atari 800 in 1982:
             | 
             | http://www.atarimania.com/utility-atari-400-800-xl-
             | xe-c-65_1...
             | 
             | "... based on the Small C compiler published in Dr. Dobb's
             | Journal"
             | 
             | If you look in the beginning of the manual it has a list of
             | what is and is not supported. They claim it is sufficient
             | to compile C/65 itself but there are lots of things we take
             | for granted missing.
        
               | pjmlp wrote:
               | My first contact with C was RatC, via "A book on C", with
               | its implementation as appendix.
               | 
               | https://books.google.com/books/about/A_Book_on_C.html?id=
               | e5p...
               | 
               | So it is kind of ironic this revisionism how great was C
               | "portability", when in reality it was full of dialects
               | outside UNIX just like the competition.
        
             | WalterBright wrote:
             | At one point in the 1980s I counted 30 C compilers
             | available for the IBM PC. Programming on the PD _dominated_
             | programming in the 80s, hardly anyone had access to Unix
             | machines. Probably 90% of C programming was done on the PC.
             | 
             | The 1980s C++ compilers on the PC also dominated the C++
             | compiler use. C++ on the PC vaulted the language from
             | obscurity into the major language it is today.
        
               | pjmlp wrote:
               | Not in Europe it did not, it was all about QuickBasic,
               | Turbo Pascal and TASM over here.
               | 
               | And if we go into the Amiga it was about Assembly and
               | AMOS mostly.
               | 
               | On Apple, Object Pascal and Assembly, HyperCard, MPW with
               | C++ came later into the pictures.
               | 
               | On thing I do agree, by the time Windows and OS/2 were
               | taking off, C++ on the PC was everywhere and only
               | masochistics would insist in using C instead of C++
               | frameworks like OWL, MFC or CSet++.
        
               | WalterBright wrote:
               | Half of my C and C++ compiler sales were in Europe. The
               | Mac did indeed lag far behind - Apple bet on the wrong
               | horse (Pascal).
        
               | pjmlp wrote:
               | Europe has many countries, I can assure you that I only
               | saw Zortech on magazines after it was acquired by
               | Symantec and was shipping MFC alongside with it.
               | 
               | Sadly I never saw it anywhere on sale, as the graphical
               | debugging for C++ data structures was quite cool to read
               | about.
        
               | WalterBright wrote:
               | Britain and Germany saw the most sales. For reasons
               | inexplicable to me, France bought very few compilers.
        
               | icedchai wrote:
               | I learned C on the Amiga, starting around 1989. That was
               | Lattice C (later SAS C.) Eventually I moved on to Linux
               | (SLS!) which, of course, had GCC.
        
               | aidenn0 wrote:
               | It probably depends on what time in the 80s as well; TFA
               | is from 1983.
               | 
               | A while back I chatted with someone who worked on both C
               | and Pascal compilers around that time period and got the
               | impression that the majority of their customers were
               | people running on 68k based Unix workstations. May have
               | just been their niche I suppose.
               | 
               | I didn't start programming until closer to 1990, and
               | started with Mix software's C compiler on a 286, because
               | that's what I could afford.
        
               | WalterBright wrote:
               | The money in compilers in those days was on the PC.
        
           | justin66 wrote:
           | > there wasn't a Turbo Pascal for anything other than the IBM
           | PC, so far as I recall
           | 
           | There was a z80 version of Turbo Pascal that ran on CP/M
           | machines (incidentally, one thing that's striking about the
           | first several years of BYTE is how many huge Cromenco ads
           | there are) as well as the Apple II with a Z80 card. That,
           | along with x86 support, covered a lot of ground.
        
         | WalterBright wrote:
         | I was experienced with PDP-11 assembler when I was given a copy
         | of K+R. Since many of C's semantics are based on the
         | peculiarities of the -11 instructions, I understood it
         | immediately. It was a breath of fresh air compared to Fortran
         | or Pascal. I never wrote another line in either of those
         | languages after reading K+R.
         | 
         | Some things that come from the -11:
         | 
         | 1. post increment and decrement
         | 
         | 2. integer promotion rules
         | 
         | 3. floating point promotion rules
         | 
         | 3. `register` storage class
        
           | 10000truths wrote:
           | 4. Null-terminated strings, the scourge of all C programmers
           | to come.
        
             | davidgay wrote:
             | The common alternative was single-byte-length strings.
             | Null-terminated strings was much nicer.
        
         | superjan wrote:
         | If you know assembly, Pascal took away a lot and gave little in
         | return, and it was verbose. I worked on a 80x25 monitor so the
         | verbosity was annoying. Only functions could return values, but
         | they were not guaranteed to be pure. No early returns.
         | 
         | I also remember there were library functions with variable # of
         | elements, but you could not write them (variable arg functions)
         | yourself. Really hated that.
         | 
         | Not all of these were fair criticisms, but they were enough to
         | switch for me.
        
         | PaulHoule wrote:
         | C had pointer arithmetic which let you do systems work that you
         | could not do in PASCAL, by the later 1980s Turbo Pascal had
         | extensions to fill the gap and I liked it better but school had
         | me using Unix workstations that didn't have Turbo Pascsl so I
         | switched to C.
        
           | sbf501 wrote:
           | Ah. That's a good point. No pun intended.
           | 
           | I forgot how powerful being able to address raw memory is
           | with a non-asm language.
        
           | pjmlp wrote:
           | Plenty of Pascal versions had such extensions, not only TP.
        
             | WalterBright wrote:
             | In the early 80s, they didn't. Pascal was more or less
             | unusable on the PC. Pascal remained unusable until it got a
             | boatload of extensions. The trouble was, every Pascal added
             | different extensions, making Pascal unportable.
        
               | pjmlp wrote:
               | Just like most C dialects outside UNIX, but for C it
               | counts as features.
        
               | WalterBright wrote:
               | There were portability issues with C compilers, for
               | example, value preserving vs sign preserving integer
               | promotion rules.
               | 
               | But Pascal was _unusable_ without extensions. I mean
               | that. I wrote programs in Pascal.
               | 
               | For example, Wirth's Pascal had no provision for programs
               | that had more than one source file.
        
               | pjmlp wrote:
               | I wouldn't consider RatC or Small-C that usable without
               | the pile of Assembly code they needed to be usable beyond
               | bare bones control flow statements.
               | 
               | Like I say, two weights two measures.
        
               | WalterBright wrote:
               | Even the bad early C compilers were far more usable than
               | Pascal. I know this, because where I worked at Data I/O
               | we tried a whole bunch of them - Pascal, Fortran, and C.
        
               | Gibbon1 wrote:
               | Nothing was non-trivially usable on an IBM PC without a
               | pile of assembly code.
               | 
               | Integrating C with assembly was easy. Pascal originally
               | didn't support that at all. And academics were utterly
               | horrified by things like Turbo Pascal.
        
       | schleck8 wrote:
       | Crazy, on the first pages they mention a cutting edge 8 Mhz PC
       | while our current midrange consumer CPUs can do over 5 Ghz
        
         | icedchai wrote:
         | You might not believe this, but some 8-bit micros from that era
         | even ran at 1 mhz!
        
         | pjmlp wrote:
         | Cutting edge indeed, my Times 2068 ran at a whopping 3.5 MHz.
         | 
         | https://en.wikipedia.org/wiki/Timex_Sinclair_2068
        
       | lbriner wrote:
       | I think the amount of technology made those magazines so much
       | more exciting than today's computer magazines which are almost
       | always about computers as black boxes or marketing nonsense or
       | pure software with no hardware applications.
       | 
       | Back then, I used to dream about buying an eprom programmer!
       | 
       | I miss electronics...
        
         | schlauerfox wrote:
         | It is still around if you look, new Single Board Computers, dev
         | boards, kits for 'retro' computers. It's still just as big as
         | it ever was, the difference is the mainstream is WAY bigger,
         | just like Apple and Microsoft has sabotaged DIY and left that
         | behind and makes money on hiding the DIY behind their
         | convenience gardens. Check out adafruit or digikey or element14
         | or keysight or any of the gamejams and hackathons. Makerspaces.
         | PICO-8. Circuit Cellar, Nuts & Volts magazines. It was a HOBBY
         | back then, and the hobby still exists just like there are ham
         | radio clubs, but the industry it spawned has largely
         | overshadowed it. Life is what you make of it, put in the effort
         | if you really miss it, you'll find good company!
        
           | ncmncm wrote:
           | Once you start buying easy-to-program microcontroller gadgets
           | from Crowd Supply and Adafruit Industries, it is hard to
           | stop. Nowadays they all have bluetooth built in, so can be
           | controlled wholly from your phone; no buttons, display, or
           | even USB connector needed.
        
       | khendron wrote:
       | Oooh! I have a copy of that at home! https://imgur.com/a/rWHmft0
        
       | metanonsense wrote:
       | I remember when I was a young assembly programmer and I looked
       | down on those obtuse C programmers who needed such a slow high-
       | level language. After high-school, having read all those
       | fantastic W. Richard Stevens books I simply could not understand
       | why anybody on earth wanted to use C++ when C was easily capable
       | of modeling complex object structures. When they forced us to use
       | Java, I was deeply in shock: was this really a programming
       | language or more a toy for little kids and why would they want to
       | slow down computers to a crawl?
        
         | ncmncm wrote:
         | Instead you slowed _yourself_ to a crawl.
         | 
         | (Which is not to say anything good about Java. The key to Java
         | was elucidated by Mark Dominus: " _I enjoyed programming in
         | Java, and being relieved of the responsibility for producing a
         | quality product_. ")
        
           | Gibbon1 wrote:
           | Friend of mine says the great thing about Java is when things
           | go sideways you can just quit and get another gig.
        
             | ncmncm wrote:
             | Java's secret sauce was that it liberated a whole
             | generation of Microsoft sharecroppers. Microsoft has since
             | clawed some back via its C# marketing, but cannot dictate a
             | new "framework" every second year as it once did.
        
               | zozbot234 wrote:
               | Java's actual secret sauce was that it was mostly like
               | C/C++, but with no unsafe memory accesses. It was
               | essentially the Rust of the late 1990s, only a whole lot
               | slower and clunkier than real Rust. There was a lot of
               | enterprise software being rewritten from C++ to Java as a
               | result.
        
               | ncmncm wrote:
               | Nobody at the time gave a hoot about "unsafe memory
               | accesses". That is a wholly recent conceit. Nobody then
               | cared about security. _Sendmail_ was how e-mail was
               | delivered, and was, believe it, widely admired.
               | 
               | Java was _just enough_ like the C++ of 1990 to compete,
               | but with garbage collection and a big library, and
               | without confusing pointers, so lower-skilled programmers
               | could use it. That is all. Computers were literally
               | _thousands_ of times slower than today. Java was
               | considered just barely fast enough.
               | 
               | But without freeing programmers from the Microsoft
               | frameworks treadmill, it would have sunk without a trace.
        
               | pmontra wrote:
               | For me it was no more malloc and free for every stupid
               | little thing inside every function I had to write (string
               | processing, arrays, etc.) But I was already using Perl
               | for web development (no malloc no free) and I wasn't
               | overly interested in Java. I made some money out of it
               | later on, probably none past 2012. Then always languages
               | with garbage collection, possibly interpreted. I don't
               | like to have to compile and build to deploy.
        
               | AnimalMuppet wrote:
               | I think Java's _real_ secret sauce was the library. It
               | had _everything_ - much more than the standard C /C++
               | library.
               | 
               | > ... but with no unsafe memory accesses.
               | 
               | Mostly true. But you could still get a null pointer
               | exception in Java - which is especially weird because
               | Java doesn't _have_ pointers.
        
               | ncmncm wrote:
               | The library was utterly necessary, purely because the
               | people the language was meant for would have been
               | completely at sea without.
               | 
               | The contempt Java's designers held for its users fairly
               | drips, in what they write about it.
        
               | macintux wrote:
               | The initial Java release didn't even have a regex
               | library. As a Perl programmer I found that
               | incomprehensible.
        
               | syngrog66 wrote:
               | longtime C/C++ guy who became a longtime Java guy:
               | 
               | the most time I've ever spent dealing with invalid
               | addresses and memory leaks, in production /enterprise
               | code, has been in Java, not C or C++
               | 
               | my personal theory is because despite how much safer Java
               | was by design, culturally, beginning in the early 2000s,
               | it also opened the floodgates to a big wave of lower
               | caliber programmers "just doing it for steady jobs" and
               | so a "99% right? ship it! someone will file a ticket next
               | week if needed" mentality was more common
               | 
               | not the fault or credit of the langs, just the type of
               | people they attracted, at large scale
               | 
               | Java: "I'm super friendly! Just click here!"
               | 
               | C: "Here's a razor blade. Here's a razor blade. Another.
               | Another. Now assemble to build a maze. Also the maze is
               | invisible. Oh and our manual is 50 pages."
               | 
               | (I appreciate both in diff ways.)
        
               | tialaramex wrote:
               | In essence _all_ you have for objects in Java is
               | pointers.
               | 
               | For the primitive types, like long, you can't get a null
               | pointer exception, because there really is no pointer,
               | but for any object type it's actually a pointer, the
               | object itself lives on the heap and you're given a
               | pointer to it, if the object is null, that's a null
               | pointer. They don't feel much like pointers from a
               | language like C because you're not provided with pointer
               | arithmetic - you can't try to add my_object + 16 as you
               | could in C - and because Java was a modern language which
               | knows what you mean when you write foo.bar, unlike C and
               | C++ which expect you to remember whether foo is a pointer
               | and write foo->bar so that the poor compiler needn't
               | figure it out.
               | 
               | For modern Java the compiler does escape analysis and may
               | conclude an object cannot "escape" in which case it may
               | be created as part of the stack frame of the code which
               | uses it instead of on the heap, but it's still basically
               | a pointer.
               | 
               | This is all rather awkward, for example Java's 64-bit
               | double precision floating point number is a primitive,
               | always 8 bytes on your stack no need for a pointer to
               | anything - but if you want your custom four 16-bit
               | integers type (maybe representing RGBA) that's an Object
               | so it is treated differently even though it's also just 8
               | bytes. C gets this part right, your custom types (struct,
               | and to a lesser extent enum and union) aren't treated so
               | much worse than the language built-in types.
               | 
               | Anyway, it's Memory Safe because the null pointer
               | exception is essentially the same behaviour as if you try
               | to unwrap() a None in Rust, the JVM isn't going to let
               | you just "press on" as you might in C, you've got a
               | programming error and must either recover from that or
               | your program aborts.
        
         | TomK32 wrote:
         | That makes me wonder Ruby is the language I'll be stuck with
         | for another 20 years and just be content with a balance between
         | performance of servers and my productivity...
        
           | tr1ll10nb1ll wrote:
           | Another 20 years from now, I highly doubt you'd have to even
           | care as much about performance of servers as you do now
           | stemming from the use of a language that keeps you
           | productive.
           | 
           | Remember, hardware is getting more powerful and cheaper.
        
             | ncmncm wrote:
             | Nobody cares about performance of servers _today_. Maybe
             | you have noticed that they are not now programmed with
             | performant languages?
        
         | sizzzzlerz wrote:
         | Couple of year out of college and into my first engineering
         | job, I went to work on a job to write code for the 68000-based
         | controller of a signal processing system. It had been decided
         | that we were to use this new language called C, which no one on
         | the team was experienced with. I was sent to Houston to attend
         | a one week class on C with the expectation that I could mentor
         | the rest of the team. They were having to learn it from K&R. We
         | used a new compiler from Green Hills, which was quite buggy, to
         | compile our fragile code to run on a CPU our hardware
         | colleagues had built that had its own bugs. We had a couple of
         | big ass in-circuit emulators on which to do our debugging. They
         | had quirks of their own, as well. Somehow, we were able to get
         | it working quite well. As big of a challenge as it was, we had
         | an absolute glorious time!
        
           | arthurcolle wrote:
           | So did you guys win?
        
         | bluetomcat wrote:
         | I started my journey with trying to learn C++ in the late 1990s
         | when it was the "cool" thing. Most of the books and the sparse
         | educational material on the web back then made little sense to
         | me. I wanted to instruct a computer to do cool things like the
         | games I played or the programs I used, but all I got was obtuse
         | passages about taxonomies of animals and shapes (CAnimal, CDog
         | and CShape, CSquare). Stuff like virtual functions and
         | constructor types was deeply uninteresting and irrelevant for
         | me at that point.
         | 
         | Then came the "aha" moment. I downloaded a few tutorials which
         | used the GLUT library from C and I was instantly amused. Now I
         | could draw 3D teapots and text and rectangles with almost no
         | boilerplate and I had examples to learn from. A turning event
         | that has influenced all aspects of my life for the latter 20
         | years.
        
       | JKCalhoun wrote:
       | Weird. How is it I am feeling nostalgic for the ads?
        
         | dcchuck wrote:
         | Perusing with the same feelings
         | 
         | Funny how the prices haven't changed much (seeing a "new
         | computer" for $1,995), given the change in computing power and
         | purchasing power (of the dollar)
        
         | VyseofArcadia wrote:
         | I was wondering why this thing is 578 pages long, and it turns
         | out it's at least 80% advertising if the first 50 pages are
         | anything to go by.
        
           | mikelevins wrote:
           | I worked in a bookstore at the start of the 1980s. Its
           | magazine section had many hundreds of titles (I stocked
           | them). All of them were more or less that way: mostly ads by
           | page area and page count, with the ratio of ads to content
           | rising as you got toward the back of the magazine (but with
           | most magazines maintaining the last couple of pages for
           | distinctive editorial content).
           | 
           | Magazines are generally much slimmer nowadays. Magazine racks
           | are generally smaller and less ubiquitous. I presume the ad
           | dollars have mostly moved onto the web, and the great
           | majority of magazines have shrunk--many disappearing
           | entirely.
        
           | lymeswold wrote:
           | Because leafing through ads for stuff in 1983 was the
           | equivalent of googling for stuff today.
        
         | cxf12 wrote:
         | Imagine how I feel! I was heading into my sophomore year in
         | high school in 1983, the same month this article came out. I
         | wasn't a subscriber to BYTE then, but the memories of us
         | learning Assembler and C at the time are almost as vivid now as
         | they were back then.
        
         | galdosdi wrote:
         | I know it's mostly nostalgia, but the ads also are very
         | qualitatively different from today's.
         | 
         | Look how much text and detailed discussion there is compared to
         | today's ads. These ads just seem to respect the reader's
         | intellect more.
        
         | AnimalMuppet wrote:
         | Because it was a time of magic. Every month you could find
         | things that were significantly better, significantly cheaper,
         | or completely brand new. (And by "completely", I do not mean "a
         | new product that does the same old thing". I mean something I'd
         | look at and think "I never even thought of doing that with a
         | computer".)
         | 
         | There was just a newness and excitement, and the ads show it.
        
           | bbarnett wrote:
           | And this mirrors the web today. All the new stuff is over, it
           | is all incremental change, rehashing, repeat.
        
         | lordleft wrote:
         | I was born in the late 80s, but I also feel nostalgic. I think
         | it's because there was more of a sense of play in computing
         | back in the day.
         | 
         | I feel a real romanticism for vintage computing.
        
         | winter_blue wrote:
         | Yea, I mean I was born in the 90s, and I have to say the ads
         | are really _really_ enjoyable. I love the amount of depth and
         | detail, and the longer-form article style that they use.
        
           | ryandrake wrote:
           | And the beautiful serif typefaces (including in the titles!)
           | and wild colors too! These days everything is Helvetica and
           | friends, and bland shades of gray.
        
         | GuB-42 wrote:
         | I didn't realize it was more than 50% ads, more than most
         | websites we consider terrible nowadays.
         | 
         | I think one reason is that back then, it was the way of keeping
         | in touch with the commercial offering. Now, there are millions
         | of review websites and user groups for that. A quick search can
         | least you to the most niche products easily. As a result, ads
         | just try to sell you stuff you are already aware of, instead of
         | informing you about a new product and its capabilities, making
         | them a lot less interesting.
         | 
         | And even ads about shady products were kind of interesting.
        
         | [deleted]
        
         | pjlegato wrote:
         | Many ads at the time still used a strategy of "reasoning with
         | the reader": explaining the technical benefits of the product,
         | and how using it would make your life better in some way.
         | 
         | Sometime around the 90s, most advertising gradually shifted to
         | emotional manipulation, which is empirically more effective at
         | scale. The famous iPod ads, for example, said nothing at all
         | about the iPod's technical merits, or how you'd benefit by
         | using an iPod instead of other MP3 players. They just showed
         | some vaguely cool-looking person listening to an iPod.
         | 
         | The "I'm a Mac, I'm a PC" ads depicted PCs as old, uncool
         | dorks; while the Mac is fun and interesting and young. Not a
         | word about any actual features or benefits of the Mac. Purely
         | associative emotional branding.
         | 
         | This actually does work in terms of "selling more iPods at
         | scale," though it is dissatisfying to that small segment of the
         | population that cares about making informed and rational
         | decisions. Most HN readers fall into this category, though
         | there aren't enough of us in the world to carry mass
         | advertising strategies.
        
           | ozay wrote:
           | I was always fascinated by the BMW ads of the time:
           | https://www.motortrend.com/news/bmw-1980s-ads-jeff-zwart-
           | pho...
        
           | AnimalMuppet wrote:
           | > Sometime around the 90s, most advertising gradually shifted
           | to emotional manipulation...
           | 
           | Yup.
           | 
           | > ... which is empirically more effective at scale.
           | 
           | I don't think that's the issue. Back in the 80s, stuff came
           | out _regularly_ that was _significantly_ better than the
           | predecessor (if there was one). Emotional manipulation took
           | over when new versions no longer had significant technical
           | advantages over existing competitors.
        
           | system16 wrote:
           | > Not a word about any actual features or benefits of the
           | Mac.
           | 
           | From what I recall almost every "I'm a Mac, I'm a PC" ad's
           | premise was a feature or task that the Mac did easier or
           | better, leaving the PC deflated or envious.
        
         | WalterBright wrote:
         | Back then people often bought magazines for the ads.
         | 
         | I still buy magazines for the ads. For example, I buy Mopar
         | Action for the ads that are targeted towards me for things I
         | might want or need for my Dodge. When I open the mag, I want to
         | look at the ads.
         | 
         | This is fundamentally different from guessing what I want to
         | see based on my browsing history. If I open a site on cooking,
         | I don't want to see ads for car parts or kitchen faucets,
         | regardless of my history. I would want to see ads for cooking
         | supplies.
        
           | sumtechguy wrote:
           | I bought hundreds of computer shoppers. Just because it was
           | ads. I think there was an article or two in there sometimes.
           | It is funny enough where I learned the xor trick. That thing
           | was a monster at least a couple of inches thick of nothing
           | but computer ads.
        
             | mixmastamyk wrote:
             | The Alice and Bob article... I don't remember the content
             | exactly.
        
             | Turing_Machine wrote:
             | As I recall they included just enough editorial material to
             | qualify for the "literature" postage rate rather than the
             | "advertising" postage rate, which was higher.
             | 
             | (those might not be the exact terms that were/are used)
        
           | ajross wrote:
           | > If I open a site on cooking, I don't want to see ads for
           | car parts or kitchen faucets, regardless of my history. I
           | would want to see ads for cooking supplies.
           | 
           | Is that not the way it works for you? I mean, I pull up
           | allrecipes.com and see a bunch of food-related stuff like my
           | local supermarket (and one less relevant ad for Iceland Air,
           | no idea). Closer to the subject at hand, the modern "Byte
           | Magazine" might be something like tomshardware.com, where I
           | see lots of tech products being hawked (phones, a tablet,
           | Xfinity service), and ads for the retailers that sell them
           | (lots of Best Buy on the pages I saw).
           | 
           | I mean, sure, there are going to be exceptions. But in
           | general ads on the internet seem at least reasonably
           | relevant.
           | 
           | It really seems sometimes like sites like HN are turning into
           | information bubbles, where concepts like "advertising in the
           | modern world is a dystopian disaster" are... just taken as
           | faith? The experience of regular people doesn't really agree,
           | and it seems like we're becoming more detached as the years
           | go by.
        
             | WalterBright wrote:
             | No, it doesn't work for me. I'd turn on context-sensitive
             | ads on my sites, and then see what ads it supplies.
             | 
             | Unrelated garbage. I remember once buying a kitchen faucet,
             | and for months it seems every site I visit showed me ads
             | for faucets.
             | 
             | For example, on a programming site it would keep pushing
             | ads for the Batman movie. Phooey.
        
               | ajross wrote:
               | With all respect, that sounds like a criticism of
               | internet advertising c. 2008 or so. I mean, sure, weird
               | stuff like that happens and there are always going to be
               | anecdotes. But no, for a long time now advertising on
               | targetted/niche/interest-based sites has followed that
               | niche, for the obvious reason that that's where the best
               | ROI on the advertising is.
               | 
               | I mean, sure, there will always be funny hiccups, and on
               | the edges there are genuine issues of privacy and justice
               | and market fairness to be discussed.
               | 
               | But the idea that we're in some kind of advertising
               | dystopia is simply not the experience of regular users.
               | It's a meme[1] being perpetuated in the tech community.
               | Regular products purchased by regular people are being
               | advertised very effectively, and on the whole with near-
               | universal approval of the customers.
               | 
               | [1] And as mentioned, an increasingly detached and
               | frankly slightly deranged one. Real concerns about
               | privacy are now being short-circuited with nonsense about
               | "But Their Ads", and that's hurting the discourse we
               | actually need.
        
             | desiarnezjr wrote:
             | Today's marketing is much more targeted and dark pattern
             | driven.
             | 
             | There was an earnestness to many ads back then. Either
             | "native" style ads, or price lists -- given researching
             | anything was much more difficult without internet,
             | magazines and print brochures were all you had. Ads were
             | critical.
        
       | theflyingelvis wrote:
       | I totally remember this issue back in the day. I'm so old. Sigh.
        
       | NobodyNada wrote:
       | The "letters to the editor" are really fun to read -- it's like
       | reading the HN comments of the time, with the same combination of
       | insight and cynicism.
       | 
       | > In response to Gregg Williams' editorial ("The New Generation
       | of Human- Engineered Software," April, p. 6), the mouse of Lisa,
       | Visi On, and their predecessor, the Xerox Star, is a truly
       | fascinating hardware device, and on those few occasions that I
       | have seen these devices in use, I have been impressed. But the
       | mouse is not revolutionary, and, as its name suggests, it is
       | really nothing more than a rodent. Its functional predecessor was
       | the light pen. Some years ago, light pens were fashionable
       | devices for selecting a particular function, and they are still
       | in use. But displays attaching light pens had to have an
       | appropriate phosphor, and they were not as easy to program as
       | function keys. About the same time, touch- sensitive screens were
       | introduced, and they are still used in applications such as
       | online catalogs in libraries; here, too, however, programming
       | appears to be the chief stumbling block.
       | 
       | > If the name of the game is "ease of use," the industry would be
       | far wiser to develop touch-sensitive displays than mice. Because
       | a display has no moving parts, it is likely to prove more durable
       | than a mouse. And a finger placed on a display screen does not
       | require additional desk space, as a mouse does. If an executive
       | were having an office conference, don't you think he might rather
       | touch his screen a couple of times than roll a mouse around his
       | desk pressing buttons on it?
       | 
       | > There are, obviously, many considerations at work in the
       | development of new products. My bet, simply stated, is that the
       | mouse is not a viable product. At best, it will limp along like
       | bubble memory. - John P. Rash, President, Acorn Data Ltd.
       | 
       | There's also:
       | 
       | - Several refutations to a previous letter which claimed CRT
       | monitors are a radiation hazard
       | 
       | - An engineer from Intel responding to criticisms of their
       | FORTRAN compiler with "those issues have been fixed in the latest
       | version"
       | 
       | - Debate over structured programming and strong typing
       | 
       | - Debate on what "computer literacy" means and whether the
       | general population needs it (including a claim that WYSYWIG
       | editors and desktop file managers do not make computers easier to
       | use because "a desktop manager is only a sophisticated analog for
       | being able to copy one file into another")
       | 
       | - Conversations on software prices and piracy
       | 
       | - And, of course, someone pointing out a typo in an article.
        
         | [deleted]
        
         | LeonenTheDK wrote:
         | The more things change, the more they stay the same. I'm not
         | even close to old but as I get more experienced I continue to
         | see "what's old is new again" ring true.
        
           | fcoury wrote:
           | Indeed. It's like we are always reinventing the wheel on a
           | very cyclic manner. We go round and round to come back to the
           | same abstractions.
           | 
           | I had to Google the quote, but it goes like "those who don't
           | learn from the past are bound to repeat it". I am not sure if
           | there's a way around it or some level or repetition is
           | obligatory for things to move forward.
           | 
           | Maybe it's like the saying that you can't really give out
           | advice to someone, because your advice also comes with all
           | your previous baggage. But on the other hand, that's how we
           | learn and transmit our knowledge across generations right?
           | 
           | I think there's some sort of true in all those "feelings" but
           | we also can't deny there are also incremental change that
           | persist over time... Hard to say.
        
             | billylo wrote:
             | I think it's like a spring. We feel like going in circle,
             | but we move upwards a bit with every cycle.
        
           | shafyy wrote:
           | I'm also not old and I observe the same pattern. Somehow, it
           | has a comforting effect on me.
        
             | michaelsbradley wrote:
             | All things are full of weariness; a man cannot utter it;
             | the eye is not satisfied with seeing, nor the ear filled
             | with hearing. What has been is what will be, and what has
             | been done is what will be done; and there is nothing new
             | under the sun. Is there a thing of which it is said, "See,
             | this is new"? It has been already, in the ages before us.
             | There is no remembrance of former things, nor will there be
             | any remembrance of later things yet to happen among those
             | who come after.
             | 
             | -- Ecclesiastes chapter 1, verses 8-11, RSV translation.
             | 
             | Written about 2500 years ago, +/- some centuries (experts
             | disagree on date and author). It's maybe a bit comforting
             | and distressing at the same time.
        
               | biblequote wrote:
        
         | RedShift1 wrote:
         | Missed opportunity to leave us a typo to point out.
        
         | ncmncm wrote:
         | Touch screens could not take off until coatings that repelled
         | fingerprints were invented.
         | 
         | The iPhone could not have succeeded without.
        
       | chclau wrote:
       | I know it is not directly related to this magazine, but this
       | nostalgia brought back to me the name of my favorite magazine
       | those days: Ahoy!
       | 
       | And of course, who can forget the wonderful adds for the games
       | from Infocom (Zork et al), who would "stick their graphics where
       | the sun don't shine!". They were text based games, and very
       | succesful on those days
        
       | mikewarot wrote:
       | I've never really embraced 'C'.. I thought case sensitivity was
       | an anti-feature, along with null terminated strings.
       | 
       | However, with my adoption of an old forth dialect - mstoical and
       | a desire to play with kamby, it's time for me to add a new SSD,
       | and install Ubuntu 22.04 LTS, and get to work knowing this thing
       | I've avoided forever.
       | 
       | Perhaps, eventually, I can port a sane strings library to C, like
       | the one in Free Pascal.
        
         | msla wrote:
         | I always wonder why people put C in quotes sometimes.
         | 
         | It's amazing how angry some people get when you ask.
        
           | mikewarot wrote:
           | It's an old habit, I'm not sure where it came from, but for
           | me it's always been 'C'.
        
         | layer8 wrote:
         | Writing a string library is a rite of passage for many C
         | programmers, go for it.
        
       | antirez wrote:
       | In 1983 I was 6 and already starting to write code daily, using
       | BASIC. But because the lack of something like Internet I was so
       | culturally detached from real world IT that I learned C only in
       | 1997: 14 years later.
        
         | dleslie wrote:
         | I was in a similar situation; though I'm roughly a decade
         | younger. I grew up in the BBS era, and experienced the internet
         | first as gopher and ftp access (archie!) through the local
         | schoolsnet. I bought "Using Linux" by Sams in 1995 solely to
         | get access to GCC, because a C compiler was extremely difficult
         | to come by.
         | 
         | And yet, within a year they became commonly available, for DOS
         | and Windows even, thanks to DJGPP. The local schoolsnet added
         | SLIP support, and we could access Delorie's website. While
         | Microsoft and Borland were still charging an arm and a leg, and
         | GNU couldn't be bothered to support non-free systems, it was
         | Delorie who created that bridge to common users and opened the
         | world of C programming to us.
        
           | antirez wrote:
           | Sorry I totally got the math wrong! I was 6 in '83. Anyway
           | very similar story to mine. Also for me Slackware 1.2.3 gave
           | me access to GCC...
        
         | tomcam wrote:
         | What BASIC dialects did you use for that 14-year period?
        
       | sedatk wrote:
       | Computer Design magazine's August 1983 issue had these articles:
       | 
       | - C Language: Key to portability
       | 
       | - Apple Lisa's revolutionary user interface
       | 
       | - MS-DOS 2.0 brings Unix-like features
       | 
       | - ArpaNet can be a game changer
       | 
       | The editors had managed to cramp what would shape the next four
       | decades of computing in a single issue.
        
         | shadowofneptune wrote:
         | The difference between MS-DOS 1.0 and 2.0 is rather shocking.
         | It feels like that's the moment it really becomes DOS, instead
         | of a variant of CP/M.
        
           | ncmncm wrote:
           | Literally the only thing DOS needed to do was start up a
           | program. Differences between 1 and 2 are marginal. That is
           | why windos didn't need to be any good: all it needed was to
           | move the mouse pointer and let you click on a program.
        
         | tragomaskhalos wrote:
         | "ArpaNet can be a game changer" must be a serious contender for
         | understatement of the century
        
         | richard_todd wrote:
         | I had to check that out; found it here:
         | https://archive.org/details/bitsavers_computerDe_143117685/m...
         | 
         | (note: the articles sedatk mentioned didn't seem to be in the
         | table of contents, but on PDF page 113 there is a "special
         | report" section where I've found some of them)
        
       | angst_ridden wrote:
       | I was programming in Z-80 assembler in that timeframe, and was
       | pretty excited by the idea of C. I had previously thought to
       | myself that it would be possible to create a language that
       | simplified the tedious, repetitive tasks in assembler but that
       | didn't add bloat or take away byte-level control like BASIC did.
       | 
       | I was an avid reader of Byte and 80-Micro back then.
       | 
       | For various reasons, I focused on other studies for a few years
       | after that, and didn't immediately learn C until after I went to
       | college. I'm sure if I had learned C in '83, I would have had an
       | entirely different career trajectory.
        
         | unkeptbarista wrote:
         | I was fortunate enough to start learning C, in 1983, using one
         | of the compilers reviewed in that issue. BDS C for CPM.
         | Learning C definitely paid off. Here it is nearly 40 years
         | later, and I'm still using C for embedded development.
        
           | angst_ridden wrote:
           | I use C for embedded devices too, although I didn't end up
           | learning C until '88 or '89. At that point, it was on IBM PCs
           | and VAXen instead of my trusty TRS-80.
        
       | ncmncm wrote:
       | The things that made C successful are rarely recognized even by
       | its fans, but much moreso by its critics and competitors. Things
       | it is most criticized for are among them. They have made C hard
       | to unseat. Too-easy conversion between arrays and pointers is one
       | such criticism, but such conversion was essential to its success.
       | 
       | C++ succeeded not just because it can call C libraries -- most
       | languages can -- but because it retained every advantage C has,
       | even those that few recognize. C++'s STL is a success because it
       | built on what made C a success, deliberately. Alex Stepanov,
       | anyway, understood. Most STL components are really just examples.
       | 
       | Today we are locked in battle against C's weaknesses,
       | particularly in how easy it is to exploit C programs. We lose
       | that battle when new languages leave behind what made C
       | successful. Too-easy accidental conversions _bad_ ; deliberate
       | conversions possible, _good_.
       | 
       | C got various other things subtly right, too: manifestly enough
       | to make up for its blatant failings. If you would displace C, it
       | is much more important to retain its strengths than to fix its
       | flaws. You can do that without understanding by copying.
       | Retaining strengths while leaving behind flaws requires
       | understanding, which has proven too hard for most.
        
         | chongli wrote:
         | _Too-easy conversion between arrays and pointers is one such
         | criticism, but such conversion was essential to its success._
         | 
         | Could you elaborate on this point? Walter Bright famously wrote
         | [1] that C's biggest mistake is that it implicitly degrades
         | arrays to pointers when you pass them as arguments to
         | functions. Do you have a rebuttal to his piece? I am not a C
         | expert so I honestly don't know what could be wrong with his
         | proposal.
         | 
         | [1] https://www.digitalmars.com/articles/C-biggest-mistake.html
        
           | ncmncm wrote:
           | The failing there is that it is _implicit_. It didn 't need
           | to be.
        
         | petergeoghegan wrote:
         | > C got various other things subtly right, too: manifestly
         | enough to make up for its blatant failings. If you would
         | displace C, it is much more important to retain its strengths
         | than to fix its flaws.
         | 
         | I agree. I wonder how feasible it is to separate the two,
         | though. Not because it seems as if there is some unavoidable
         | trade-off to be made (if that was it then somebody would have
         | found a relatively crisp definition of said trade-off). I
         | suspect that it's best understood as an emergent phenomenon.
         | 
         | Consider the LINUX KERNEL MEMORY BARRIERS readme [1], which
         | states very clearly: "Nevertheless, even this memory model
         | should be viewed as the collective opinion of its maintainers
         | rather than as an infallible oracle". And yet some people
         | persist with the belief that such an Oracle must really be
         | possible. Oracles are abstract concepts.
         | 
         | C doesn't persist despite its contradictions. It persists
         | because of them.
         | 
         | I'm not claiming that this is good or bad. Just that it's the
         | simplest explanation that I can think of.
         | 
         | [1] https://www.kernel.org/doc/Documentation/memory-
         | barriers.txt
        
         | pjmlp wrote:
         | Stepanov used a lot of APL, Lisp and Smalltalk inspiration to
         | create the STL, originally implemented in Ada 83 generics, and
         | then thanks to Bjarne ported it to C++.
         | 
         | There is a quite interesting session from talk done by him at
         | Adobe, where he mentions his inspirations.
        
           | ncmncm wrote:
           | You misrepresent history: Stepanov implemented STL first in
           | Lisp, then in Ada. Both were manifestly inadequate. Stepanov
           | openly despised "OO gook", and lamented that "begin", "end",
           | and operators ++ and * had to be class members until partial
           | specialization finally made that unnecessary. (Now we have
           | std::begin and end.) Partial specialization was added to C++
           | specifically to make STL more practical.
           | 
           | C++ proved adequate. But C++ _compilers_ of the time were
           | not; all of them needed massive improvement to usefully build
           | programs that used STL. (It took many years for Microsoft to
           | get there; STL implementations obliged to work under
           | Microsoft compilers were badly crippled until after C++11
           | came out.) But no other language was up to the job.
           | 
           | Bjarne did not motivate porting it to C++; the language did.
           | Bjarne helped, but Andrew Koenig might have helped more.
        
             | pjmlp wrote:
             | Fortunately the talk is available for everyone to judge how
             | history goes and what he actually thinks.
        
               | ncmncm wrote:
               | Maybe have a chat with him sometime.
        
       | tibor_a wrote:
       | Despite the historical value of the ads I quite dislike the ratio
       | to content. I wanted to quickly scan the pages to get the gist
       | what was the merit of C compared to its contemporaries and I
       | spent half the time finding the actual content.
       | 
       | I remember being much better at only seeing the content when I
       | was reading magazines like this in the past but I still wouldn't
       | like to return to those times.
       | 
       | Also I think if it was possible to effectively ban all of the
       | modern marketing techniques as many people want now the economic
       | logic would result in paid magazines with content to ads ratio of
       | 30 to 70.
        
         | Narishma wrote:
         | How much of that is because you're reading it on a screen? It's
         | easier to skip ads in a paper magazine.
        
         | gmiller123456 wrote:
         | This is why I gave up on magazines in general (even before it
         | was cool). It seems like their entire goal was to make actual
         | content hard to find. The cover would have a list of headlines,
         | then you'd look at the table of contents to see where that was,
         | but it'd be under a different headline there. Then you'd
         | finally get the page number, but around that spot, none of the
         | pages had page numbers, and when you finally find what you're
         | looking for it has an even different title than the cover and
         | TOC. Then, once you start reading, you get to "continued on
         | page ...". And again, none of those pages have page numbers
         | near them, and there'd be yet a different title on the
         | continued part. Not to mention most of the article would be
         | fluff anyway.
        
           | AnimalMuppet wrote:
           | > It seems like their entire goal was to make actual content
           | hard to find.
           | 
           |  _cough_ much of the current web _cough_
        
         | ncmncm wrote:
         | At the time people bought computer magazines _mainly for the
         | ads_. The articles were filler. Newspapers, too: editors in
         | newsrooms actually called the reportage  "filler".
         | 
         | BYTE differed in its filler being of typically better quality,
         | but Computer Shopper was much, much bigger, and much more
         | popular despite its execrable filler because it had more and
         | better ads.
        
       | notorandit wrote:
       | I wish I had the same quality contents ...
        
       | VonHelsing wrote:
       | pg. 401 has an interesting article on software by some guy named
       | William Gates.
        
         | AdmiralAsshat wrote:
         | Never heard of him. I'll bet getting an article published in
         | Byte must've felt like his crowning achievement.
        
       | rahen wrote:
       | Page 50: "A compromise between assemblers and high-level
       | languages, C helps programmers avoid the idiosyncrasies of
       | particular machines".
       | 
       | Interesting. I thought C appeared as a (very) high level language
       | back in 1983, when development on microcomputers was still mostly
       | done in assembly. This article was published August 1983 and
       | Turbo Pascal v1.0 was only released in November, so I'm not sure
       | what high level languages were available on microcomputers back
       | then, besides BASIC.
        
         | blihp wrote:
         | BASIC and (UCSD) Pascal were the mainstream choices on 8-bit
         | micros... with BASIC being far and away the dominant language
         | in the amateur and low-volume professional market mainly due to
         | ease of use and that it came bundled with every 8-bit micro I
         | recall using. On 16-bit micros that was around the time more
         | powerful high-level languages started to become available (for
         | example, XLISP was released in 1983. AmigaBASIC released in
         | 1985 was quite powerful for its time). So you are correct that
         | options were limited in '83 mainly because 8-bit micros were
         | very, very storage (RAM and disk) constrained.
         | 
         | It was commercial, student and hard core amateur, developers
         | who developed in assembly in the 80's. C was only ever 'high
         | level' when compared to assembly/machine code. Manual memory
         | management was an indicator that it wasn't high level at all.
         | That said, much commercial software was still written in
         | assembly back then as that was the only way to wring the
         | performance out of an 8-bit and even early 16-bit micros. It
         | was the transition to 16-bit, when all that 6502/6800 code
         | became obsolete when C really started to take over.
        
         | hsnewman wrote:
         | I was there in 1983, development was certainly not done mostly
         | in assembly.
        
           | pavlov wrote:
           | Arguably the most important commercial applications on the
           | IBM PC were written in assembly: Lotus 1-2-3 and WordPerfect.
           | 
           | It was a competitive advantage early in the 1980s, then
           | turned into a handicap by the end of the decade when the
           | performance and memory tricks didn't matter as much as
           | graphics and GUI.
        
             | ncmncm wrote:
             | True: people rolled their eyes at anybody trying to field a
             | commercially successful product not coded in assembly.
             | Languages were for proofs-of-concept, and for toys. And
             | yes, that changed as 1990 approached.
        
           | unkeptbarista wrote:
           | Ditto here. C, Pascal and Forth were what I was using in
           | those days. I did some 6502, 6800 and 68000 assembly, but
           | only when needed.
        
           | not2b wrote:
           | Likewise; I wrote a lot of Fortran in those days.
        
           | angst_ridden wrote:
           | There was a lot of BASIC, but at least on microcomputers,
           | there was a lot of assembly (if you needed any performance).
           | 
           | I was writing games, and there could be a bit of BASIC
           | wrapper, but the rest was assembler.
        
         | PaulHoule wrote:
         | UCSD Pascal was widespread, fairly portable but expensive and
         | slow. If there wasn't a FORTH for your machine you might write
         | one for yourself.
        
         | msla wrote:
         | Logo definitely existed on micros in the 1980s.
         | 
         | https://en.wikipedia.org/wiki/Logo_(programming_language)
         | 
         | > Apple Logo for the Apple II Plus and Apple Logo Writer for
         | the Apple IIe, developed by Logo Computer Systems, Inc. (LCSI),
         | were the most broadly used and prevalent early implementations
         | of Logo that peaked in the early to mid-1980s.
         | 
         | > Aquarius LOGO was released in 1982 on cartridge by Mattel for
         | the Aquarius home computer.
         | 
         | > Atari Logo was released on cartridge by Atari for the Atari
         | 8-bit family.
         | 
         | > Color Logo was released in 1983 on cartridge (26-2722) and
         | disk (26-2721) by Tandy for the TRS-80 Color Computer.
         | 
         | > Commodore Logo was released, with the subtitle "A Language
         | for Learning", by Commodore Electronics. It was based on MIT
         | Logo and enhanced by Terrapin, Inc. The Commodore 64 version
         | (C64105) was released on diskette in 1983; the Plus/4 version
         | (T263001) was released on cartridge in 1984.[9][10]
         | 
         | And so on.
        
           | TigeriusKirk wrote:
           | There was even an issue of Byte featuring Logo, August 1982.
           | https://archive.org/details/byte-magazine-1982-08
        
         | [deleted]
        
         | lisper wrote:
         | P-Lisp ran on an Apple II:
         | https://archive.org/details/P-Lisp_v3.0.1
        
         | WalterBright wrote:
         | My first C compiler came out around then.
        
           | sigsev_251 wrote:
           | Are you Walter Bright, the creator of D? If yes, I was
           | thinking of writing a proposal for WG14 some time in the
           | future regarding slices/fat pointers. Would it be ok if I
           | modelled it after the extension found in the betterC
           | compiler, at least when it comes to syntax?
        
             | WalterBright wrote:
             | Yes, that's me. I even wrote an unofficial proposal for C
             | slices!
             | 
             | https://www.digitalmars.com/articles/C-biggest-mistake.html
             | 
             | Feel free to model your work on this and/or on D as you see
             | fit. It'd be great if you made it into an official
             | proposal. That one thing will greatly benefit C programs,
             | much more than any of the other improvements in the C
             | Standard I've seen over the years.
        
               | sigsev_251 wrote:
               | Thank you for your answer and the inspiration! I'll try
               | my best!
        
               | WalterBright wrote:
               | I can help with review and defense of it, too.
        
         | intrasight wrote:
         | In 1983 I programmed in both assembly and in C - and usually
         | flipped back and forth between the two by using the assembly
         | output of the C compiler. My experience was that C was a low-
         | level language in that you could fairly easily see how that C
         | was transformed into the assembly. It was a great way,
         | actually, to learn assembly.
        
           | bqmjjx0kac wrote:
           | I bet you would have killed for Compiler Explorer
           | (godbolt.org) in the '80s. Actually, I wish I could integrate
           | it directly into my editor today. (Well, preferably something
           | running locally rather than a web service.)
        
             | projektfu wrote:
             | Try RMSbolt.
             | 
             | Not really compatible with Windows though.
        
       ___________________________________________________________________
       (page generated 2022-09-09 23:00 UTC)