A common sentiment on HN (and other programming-centric communities) is nostalgia for early computing days, and specifically, how easy it was to become a programmer. You turned on your Commodore and it booted into a BASIC prompt, for example. No webpack/babel/toolchain nightmare between you and making a computer do things.
But as someone who started programming as a kid in the late 80s/early 90s, I think this nostalgia vastly understates how many barriers existed between enjoying doing things in BASIC and moving forward to different levels or paradigms of programming. I was made vaguely aware of the existence of C by computing magazines, but the idea of actually buying a C compiler was totally out of the question. My high school had Pascal available, but nothing else.
It wasn't until the mid-to-late 90s that the internet and open source evolved to the point where programming languages and tools became ubiquitous to the point where you stopped thinking about how you might acquire them.
When I was in grade school programming games in BASIC in the late 80s, my dad heard from a programmer friend at work that the C language was good for graphics.
It took me a few more years to actually put two and two together and acquire a copy of Turbo C.
Then I actually had to learn the thing, which meant many walks to the brand new Barnes and Noble with a spiral bound notebook and a pen so that I could hand copy information out of books I couldn't afford.
The good old days!
EDIT:
> You turned on your Commodore and it booted into a BASIC prompt
This is also very true. You really could just be like, 8 years old and boot right into a simple programming interface and type some programs from a magazine (and tweak and edit them) and the computer did amazing things.
When I was a kid, I found out that serious game programmers used C. So I convinced my dad to buy me a book on C and managed to get a C compiler for the family Mac 512k. But the book only covered the C language, and it didn't give me any example of using libraries! It taught me how to print "Hello, world" on a console (an alien concept on the Mac), but I couldn't for the life of me figure out how to create graphics or a UI with it, so I gave up. It wasn't until the arrival of the internet to my life that I discovered libraries. (and also "computer class" in high school was about word processing)
> When I was a kid, I found out that serious game programmers used C
Ha, when I was a kid, my father tried to teach me C and I found out that the serious game programmers used asm! C was wasteful; a few years later it was what everyone used but not on systems I liked; starting with the MSX and then moving to then Amiga, I was writing games on both and even for the latter, C was a very dirty word in the time I worked on it. Even if it was 'C', it was chock-full of inline asm. When I moved to PC software, indeed it became C and then C++.
And even if there were, the alternatives are numerous. It's not a choice between playing the same old game for the 100th time and writing your own (from a magazine), it's a choice between a world of information carefully crafted by millions of experts to take your attention and provide you with those quick-win endorphinns in exchange for showing you adverts for things you don't want.
Computing in the 80s and 90s was a much more personal thing, today it's a war.
I started using computers much more recently, but wouldn't any OS that boots into a TTY provide a pretty similar experience? I'm genuinely curious since I've never used a Commodore or BASIC. Is that environment much different from bash or another shell?
Booting into BASIC is the equivalent of booting into an IDE. But one that a child could understand with a single page of instructions.
It's kind of hard to explain because computers were so simple that you didn't really need a shell.
But as someone who was there as a kid, I can say with certainty that there is no way I'd have been able to write a shell script back when I was writing BASIC programs that had loops and graphics.
Bash is easily more powerful as a programming language than basic, but basic is far more straightforward.
There are a much smaller number of special non-obvious tricks or special syntax to know in basic, while most of bash's features are invoked by arcane special syntax.
It's not necessarily easier to get something done in basic, but it's easier to understand what to do, and easier to read someone else's program and follow what does.
There must be more to it than the features of any language itself too. Many versions of basic are there to play with today, for free, and easy. The computer doesn't just boot to it directly, but I don't think that's all that important for the jump start. I think even getting the first print statement to actually work took a bit more effort for me that it would take today to google "how to program" or something to get to some sort of shell or interpreter prompt.
People are actively funnelled into being only consumers since decades ago.
Or maybe it's the same today as ever. There is no more Heathkit but there are certainly many modern equivelents. Maybe it was only a small percentage of people then who would build a Heathkit then, and a similar percentage today who trawl aliexpress for maker toys.
Maybe one difference is I think there is a lot more use of copyright and warranty or even insurance & liability to prevent people from tinkering. It's been a progressive process getting more common over time and the norm has changed over time. Now, every random thing in your life is presented to you as being a thing you may only use in limited procribed ways. Not only that things no longer come with tool kits and schematics, they are even suing people for growing plants from seeds from food you bought in the store. You may eat the vegetable, not put it into some dirt!
Even if your computer today does have access to a world of programming tools, you have just been trained never to be curious about the possibility in the first place, so it never even occurs to you to even look. Not everyone even has that much curiosity to begin with, and those that do are starved and stunted so it never develops.
And of course if all you have is a phone then forget it.
No, because there is no graphics in a tty. Something as simple as a dragon curve would be relatively difficult to get going nowadays.
That is, this is certainly close. But still a far cry from the environments we used to have.
I remember typing in screensaver style programs from magazines. Closest I know today would be Wireframe magazine and how it uses pygame zero. Which is awesome, but I don't know a computer that boots to that.
There's no boot-to-BASIC, but learn-to-code options include Scratch, Roblox, Minecraft, Swift Playgrounds, etc., with countless hours of YouTube videos they can watch to learn more, and resources like coding camps (one of my kids really liked Code Ninjas) that didn't exist when I was a kid. It's very different and sophisticated in comparison to what I had access to, but it's not exactly a wasteland.
I see the cost of and lack of awareness of development tools outside of BASIC as a bit of an advantage since it enforced focusing upon learning how to program. There were no shiny tools distracting the budding developer. When I did learn about languages other than BASIC/assembler I did my research and saved up for one of those expensive compilers, which was no simple feat having grown up in a family of limited means.
I don't know what's best for the long term growth of software developers: the mandated focus due to scarce resources or sophisticated tools that are freely available to facilitate further learning. What I do know is, "where should I start?" is one of the most frequently asked questions these days. It is a question that far fewer people had to ask thirty or forty years ago.
I started programming in 1981. I bought Turbo Pascal up through Delphi 7. That's all the software I needed to develop and support a commercial application for a decade that was used to report equipment inspections in Electric Utilities.
Computer systems, peripherals, floppy disks, etc. were more expensive back then, before mass production and larger markets drove down prices. Retail software prices, for me, were a drop in the bucket compared to the rest of it.
To put some numbers to it, I bought a computer in the early 80s. No hard disk but it was still probably about $4K or so by the time you threw in a dot matrix printer and any other hardware, e.g. modem. I was actually working at the time but, as an engineer, my salary was about $25K. A PC clone was a significant investment.
By the late 90s, I was in tech (as a product manager) and was making about double that. But a hard disk drive was still in the thousands of dollars and a compiler/assembler/debugger was still in the many hundreds of dollars range. And probably spend another few hundred on books because that's mostly what you needed if you wanted to look things up. Some of this you could copy of course. (Though the software came with a shelf full of manuals you sort of needed.)
But you were still easily looking at a $10K+ investment in today's dollars to get into "serious" programming on your own.
ADDED: There were ways to cut the costs of software especially but still a lot of money.
In about 1994 for about $3000 I built a PC with a Pentium 90 with 8 MB of RAM and a hard drive that was somewhere in the 80 to 120 MB range. Running Linux, it was much faster than the Sun IPC, IPX, SPARC 5, SPARC 10, and the single processor SPARC 20 systems I had access to. This may be because I was the only user on my PC and the workstations were commonly used via telnet. In any case, my personal computer was faster for me than almost any machine that I had access to as a sysadmin in a well funded academic computing center.
The 386sx that I acquired a couple years earlier had a 60 MB hard drive. Surely the hard drive in that was not thousands of dollars.
If you needed gigabytes of hard drive space at the time, that cost thousands. More modest drives were available for a few hundred.
Yeah. Mid to late 90s, thousands is high. Mea culpa. It's one of those things where the exact date matters because the prices dropped quickly. In 1982, I bought a 5MB hard drive for my company for $5K. (I didn't personally have one at the time.) At some point I bought a 40MB or so drive but don't remember when or what it cost.)
Machrone's Law was that the computer you want always costs $5,000 (in then dollars) which held pretty well for a long time. So, yeah, most of us probably spent $3-4K at a given point in time, modulo being able to bring older parts forward.
Turbo C went for <$100 new when I bought it around 1987. Admittedly I only ever shelled out for a handful of programs in those days (of which that one was totally worth it), and of course people's resources vary.
I convinced my family to sign some papers so I could get a "real job" around the age of 12, working at my middle school, and doing computer repair for complete strangers as a teen just to save up for software. That included Borland C++, which cost considerably more than Turbo C++.
As an added benefit, my family knew that I was keeping out of trouble. There's not much trouble you can get into when you're going to school, working, or sitting in front of a computer (at least in the pre-online era).
Sure. A good C compiler for free was a real advance.
But in the 80s a parent didn't need to be unusually clueful to guess that for a kid wanting Turbo C, it'd be a good bet as an investment in their future -- not like a kid's phone or tablet now.
I think you sort of beg the question on whether or not similar barriers still exist.
My assertion is that for raw performance and capability, computers have gotten more financially accessible. However, for creative activities, things are still difficult. In many ways, more so?
That is, consumption has never been cheaper. Creation, though, remains relatively high. Probably still lower than ever, but still prohibitively high.
As a fun example, I remember coding fractals as a kid. I cannot think of how to do that right off, anymore. And I don't remember when I lost the knowledge of how to do this. :(
Python and a few of it's libraries are certainly the closest to this I can think of on commodity computers. (To wit, I think you can just import turtle to get a logo.)
Now, imagine teaching an eight year old to update their home computer so that this works. And realize that that was common for many home computers back in the day.
It's simpler than anything beyond using the built-in BASIC interpreter was. Which also wasn't very good. And was arguably a fairly poor platform to learn programming on--although myself and many others did. (Though in my case on a teletype hooked up to a mini rather than a local computer.)
The built in basic interpreter, though, could do this. My kids couldn't get python installed last I asked them to try, is the point.
Now, web based setups are surely advanced in capabilities for them. But, only if you know what garden to enter. I'm a fan of scratch. The kids have gotten hilariously lost when the browser is accidentally closed.
Granted, I got lost some on the computers in the header school lab. Power cycling worked rather well to get me back to interpreter.
Yea looking back I think the barrier is so much lower today. I started programming in basic as well. While it was fun and fairly easy to get started, pretty quickly I hit a wall.
After doing some basic things I ran out of ideas on what to build next and there weren't many resources to guide me. There weren't any online tutorials or online courses to help you to keep moving. So pretty soon I gave up on it and didn't come back to it until well into college.
After several years of BASIC, I saved up and bought Watcom C++. At IIRC $600 (1995 dollars), it was literally the single largest purchase I’d ever made to date. As it turned out, I made a zillion-fold return on that particular investment, at least.
The first thing I did with it was port one of my simple 3D graphics demos from BASIC to C. My god the feeling of disbelief and raw power when it ran at like 1000 FPS.
I remember wanting to create Windows applications but couldn't because Visual Studio (or Visual Basic) was so expensive. The only "free" alternative was to code it in assembly[1] which wasn't exactly easy beyond "Hello World"
Yes. Even once I was in college in the late 90s, to get my own copy of Visual Studio was hundreds of dollars — discounted in the university book store for students from full retail, but still prohibitive for a college student.
Yes, but I was selling games and 'business software' (for stamp collectors, book shops, schools; all of them were databases written from scratch for that exact goal) written in a mix of basic and asm for most of the 80s and I needed nothing but 1 book and my MSX (both I still own and the msx still works). This is at least half a decade with 1 book and 1 computer making money with software. No internet and, for a large part, no BBSs either (for me).
Yes. Working for an aerospace company, we bought commercial software at commercial prices in the early 1980s. An Ada compiler for VAXen was $40,000. Interleaf, which was like Microsoft Word, was originally $60,000, and came with four Sun workstations and a laser printer. Getting a copy without buying hardware took negotiation, and was still over $1000 per copy.
We had a formal license for UNIX for VAXen. We got that free, because the aerospace company and AT&T had a cross licensing agreement. The free license was a formal document that arrived with the embossed corporate seals of both companies. I made a copy and put it on the side of the CPU, while Legal kept the original. With that in hand, we could then run 4.1 BSD.
When I read this it made me realize just how "competitive" FOSS was in this type of landscape. I'm young enough, FOSS was mostly a moral/philosophical paradigm... not a comparison between open software and software that was thousands to license.
Yes. On PCs, things like C cross-compilers for microcontrollers were very expensive, because the market was tiny. A C compiler targeting the 68HC11, a small microcontroller, was expensive enough in 1987 that I used Forth instead. And that wasn't free.
I bought Walter Bright's Zortec C++ compiler for Windows in the 1990s, and I think it was about US$400.
Some time in the early-ish 90s when I was a student I worked at a tiny place doing software development, targeting various commercial Unixes. Development was done on a lowly 486 running some variant of SCO System V UNIX, and I vaguely recall that the cost of licensing the system with compilers was thousands of dollars (you had to pay a lot of money for each little feature of the OS too, like TCP, SMP, ...). Or it would have been, if it hadn't been for some guys at the little ISP next door who gave us a copy of GCC, which was a gateway to running Slackware Linux, which was pretty soon where all future development was done before transferring it over to customers' HPUX boxes or whatever.
I was just a kid catching the tail end of all that, but there are still a couple of hard-to-get-your-hands-on big iron Unixes like that; I've worked on most of them (ie those and many that are gone), and I must say it's surprising to me that, by now, you still can't just download an ISO and run it on qemu or whatever (actually you can, but it's probably illegal). I could forget about them entirely, if I didn't have to keep the open source stuff I work on working on them too, with limited access and no CI...
Some of the software in the list should be compared with "enterprise software sales". $335 for a ledger software isn't bad when you think it is bought by a company/business. Moreover, there was a certain amount of hand-holding, service & support implied with sales in those days.
If you want to talk of rip-offs, in early 90s, I bought a casio organizer with my hard earned $35 only to realize the connectivity cable+software to a PC costs $150+ more
The production cost was high since they wrote it directly in assembly and/or C and used very few external libraries. It was code golfing everyday and you couldn't afford many bugs since rolling out patches was a huge pain. So you truly needed rockstar programmers to pull it off. (The closest equivalent today would be custom embedded firmware - not cheap.)
In terms of value, I'm pretty sure 30 years from now they'll laugh at the quality of today's UI and what we pay for it. For the time they had quite adequate graphics considering they were competing with arcade games and playing cards. Also IIRC they ran pretty fast on less hardware than you get in a coffee machine today.
That's why DLC, microtransactions and ingame payments were invented. Today the 60 dollars are just the symbolic entry fee to the ingame shop ;)
(but for some niche genres this model works really well both for developers and users, high fidelity flight simulators for instance where aircraft are sold as DLC modules)
Also pro software is still very expensive. A seat of maya costs 2000 a year. Solid works cost 3500 for a license. Matlab costs 2 grand. Microsoft’s compiler products weren’t particularly expensive ( and were much much cheaper than say a small talk seat)
March 7, 1988 — "Smalltalk/V 286 is available now and costs $199.95, the company said. Registered users of Digitalk's Smalltalk/V can upgrade for $75 until June 1."
I worked at a place that was paying almost 20K CAD per seat per year for CATIA and some add-ons (PDM, FEA, etc). I hear ANSYS, if you get a few products, quickly runs up in that range also.
Like many things, I'm sure the answer is "it depends" on the skill sets and location--and I'm sure the situation is even more confused when commercial computing was very new.
But my impression from working in the computer systems space was that there was not a real salary distinction between the electrical engineers and the software people in the 80s through early to mid-90s. And California did not generally offer a sufficient premium to cover CoL at the time. [ADDED: At least this was my experience as a Boston-area person who was recruited by some West Coast companies. One reason I stayed put.]
And, oh, you almost certainly needed a CS or at least an engineering degree.
dang's reference doesn't seem to cover Lotus 1-2-3 ($499) or dBase II ($700) (or was it dBase III?)
I vividly remember, in the early 80s, a guy who's now a successful VC telling me that there was no reason why software should cost more than a college textbook. This was radical at the time; now of course textbooks are much more expensive if you want to actually buy them.
A lot of productivity/business software was in the hundreds of dollars. It was pretty radical Turbo Pascal from Borland was priced at only about $50--which is still getting close to $100 in today's money, given that most compilers, etc. were $300+.
As the article suggests, pretty much anything you bought in a store was going to be in the $50 range although there was cheaper shareware (which the majority didn't pay for) and freeware.
A further note: I worked on Reflex (by Analytica). That product bombed at $495, which was a price set in envy of Lotus. The company went under and got bought by Borland for pocket change.
Phillippe cut the price to $100 (still a lot in today's dollars), sold it by mail order, and made it a best seller.
Even when Apple launched the iPhone appstore. Software used to cost $50 for shareware, $600 for MS Office, probably $2k for Delphi or Visual Basic. There was no way one would survive with apps at $1 or $2!
We have a lot more paid users. A full 100 million more Americans, and even more in the rest of the developed world. And nearly everyone in the developed world has a smartphone.
I don’t remember Delphi ever being cheap, although you could perhaps get academic versions or gimped personal editions.
About Delphi 2 released 1996: “List price is $2000 for the Client/Server Suite, $500 for the Desktop version, and $800 for the Developer version. Street prices are usually about half the list price, and upgrade prices are even better. Support options are described the Supportability section of this review.” — https://www.thekompany.com/review-of-delphi-2-from-borland/
Prices went up from there over the years, and Embarcadero are now acting more like Oracle when it comes to trying to enforce their rules (I had a friend get an incredibly rude and nasty call from Embarcadero, regardless that he was a super fan, and he had already been paying many thousands to be fully licensed. I have never personally seen a professional company treat a paying professional client so poorly - seriously avoid Embarcadero.)
It was easier to price software that high when people had invested so heavily in the computer already. When the computer was $3,000; another $300 for a BASIC compiler was easier to swallow (especially given there were few alternatives and none free).
I was involved in one company in the mid 80s that sold most of its units of a niche software package in combination with a full system, printer, etc. Most of our customers didn't have a computer or if they did wanted another as a dedicated tool to run our software... Which was essentially some spreadsheets and a friendly menu system.
$1,900 for the software or $4k to $8k for various hardware packages with it, as i recall.
There's a book which I could probably find if I were at home that had a piece going into the limitations of spreadsheets, accounting software, etc. that was also hilarious.
Maybe it was also because people were closer to understanding how things work?
I often came across the mindset, that people already payed so much for their computer - so now they feel the software they need, should be included and are unwilling to spend more money because in their mind it goes together.
(although I think, that assumption got less over the years)
- I got C for free on the first Unix systems the polytechnic I was working for bought - a desktop, but still a multi-user system. We had it connected to VT100 compatible terminals via the poly's WAN that anyone could connect to.
- Desmet C on the IBM PC. I can't remember the exact price, but much less than 100 GBP, otherwise I couldn't have wangled the expense.
- A C compiler on the Atari 512. It can't have been expensive, as after buying the hardware, I couldn't have afforded it!
- Small C. Completely free, as I remember it.
- Borland Pascal, also cheap.
Of course, I think things are much better today with the likes of GCC.
I don't remember the price but it was probably something like $50 in the early 80s. Certainly far cheaper than the Microsoft C compiler. As I recall it had quite a few quirks though.
Turbo Pascal was quite the innovation when it came out. I had a copy but never really got into it though. I don't remember the sequence but I was probably was into assembly by then and likely got Turbo C when it came out a few years later.
I was in grad school for a couple years in there and wasn't doing much programming at the time.
Still, none of this was especially cheap compared to free as in beer/speech today.
> none of this was especially cheap compared to free as in beer/speech today
Of course, but I was really pleased to get my boss to shell out for quite a good (at the time) C compiler!
A couple (or something like that, maybe three) of years later, when I was working at the BBC, I got another boss to buy the Zortech C++ compiler, which really launched my career as a C++ programmer, although I had tried to use the E edition of C++ earlier, but found the installation on our Unix box too difficult.
Turbo Pascal was priced at $50 when it was introduced, and it just kept getting better with each new version. This was back when PCs were thousands of dollars for the lower end models. The price has to cover the costs, profits for all stages of the retail chain, spread across the market size.
Consider the cost of Facebook's software, their sunk developer costs must be on the order of a Billion dollars. It's likely the same for all of the FAANGs.
It would be interesting to estimate a price for all the work that has gone into the Linux ecosystem.
Keep in mind that the Linux Foundation has an incentive to come up with a large number. Still, this is over 10 years old and suggests $1 billion for the Linux kernel and over $10 billion for all the software in a Linux distribution: https://www.linuxfoundation.org/press-release/linux-foundati...
And of course Facebook et al. is building on top of a lot of that open source development.
As I recall, Infocom text adventures were priced at about the same price as the graphical games of the period. (But I was a beta tester and got them for free :-))
Compuserve, charging $11 per hour ($25 per hour in 2021 dollars), had "more than 250,000 subscribers".
The Source, charging $8 per hour, was popular for its conferencing system "parti".
Delphi, charging $6 per hour had a loyal but small (less than 10,000 users) following.
BIX, $9 per hour, grew from a magazine. Notable quote: "This is the computer industry as it used to be: people sharing ideas and solutions without the greed and grit with associated with today's corporate driven, litigation-laced, industry"
And don't forget the telephone charges. Even if you weren't dialing a different area code, calling further than your local exchange or set of exchanges could be >$1/minute. (Indeed, intrastate calls could cost more than interstate calls.)
So there were a bunch of apps for both commercial services and BBS systems to let you get on, download messages, and get offline as quickly as possible. You then could read/reply to messages offline and log back on just to upload them.
To play the game you need a computer
ALIENWARE AURORA RYZEN™ EDITION R14 about $5K (with Win11)
Alienware 38 Curved Gaming Monitor about $1.5K
Keyboard, mouse, chair, speakers tc $2K.
That is 8.5K for just the computer.
Look up prices just now I guess you can pay about $150
for a fancy edition of Far Cry 6 (converted from Norwegian prices), and then you can spend spend spend on DLC or whatever it is called.
At least back then you you got the entire game when you bought it.
Yeah I know you can buy a much much cheaper computer and
monitor and everything else.
But if you were a nerd who owned a computer to play games
back then, you might be a huge esports dude now who needs
leet gear now.
Meanwhile 100% of the software in the developing world was "free" at the time, and moreover it was difficult to buy software even if you wanted to pay for it. People would think you're not all right in the head or something, since you could buy a CD with $20K worth of software for less than a buck. I bet 90% of commercial software is "free" there in the same way even now, modulo the CDs.
The somewhat non-obvious side effect of this is it's much harder for FOSS to get traction, unfortunately, even when it's objectively a better choice.
At the time you paid to be a part of the computer revolution, Moore's law was at its peak no sign of stopping as the effect of commercial microchips had just started to kick in and home computers got exponentially cheaper by the year. Products were expensive, but it didn't matter as whoever mastered this new technology would go on to rule in the future when costs came down and the economics of scale kicks in for software.
For context though, an Apple III started at about $4k, $13k in today's dollars.
The type of computer that could run at least some of this software could only be purchased by people who either really needed it, or had disposable income. Either way, if you can carve out $13k for the computer, an extra few hundred $ in software was a relatively small incremental cost.
When I was in business school in the 1980s, I had a small side business selling students the floppy diskettes they needed for the PCs in the new computer lab. (Very few owned their own computers although I did.) I don't remember the exact numbers, but I think the campus store sold them for about $10 each. I bought off-brand in bulk and sold them for at least a 50% discount (with free replacement guarantee) while still making something like a 3x markup.
But as someone who started programming as a kid in the late 80s/early 90s, I think this nostalgia vastly understates how many barriers existed between enjoying doing things in BASIC and moving forward to different levels or paradigms of programming. I was made vaguely aware of the existence of C by computing magazines, but the idea of actually buying a C compiler was totally out of the question. My high school had Pascal available, but nothing else.
It wasn't until the mid-to-late 90s that the internet and open source evolved to the point where programming languages and tools became ubiquitous to the point where you stopped thinking about how you might acquire them.