Home » How did people make complex programs in C before the Internet and Google?

How did people make complex programs in C before the Internet and Google?

Solutons:


It was as always: you program by writing code and test it, not googling around for inspiration.

This being said, you always needed some prime information. the first source was k&r. Then you had some primer manuals like the “the c primer”. Then the next source was your compiler’s library reference manual (paper). Back in 1985 there were not so many free libraries. You had to purchase some, and again rely on tutorial and library reference and try it yourself until it works.

Later you also had some nice magazines such as Dr.Dobbs, Byte, the C Journal and the C User’s Journal (both of which ended to merge). These had reports about cool tools or libraries to purchase, programming techniques with source code, etc.

The main difference was that you had to search much more by yourself (try and error), and share experience with peers. And if you could afford a modem, you could enjoy the small community of a BBS forum hosted by some volonteer.

And programming then was as fun as programming today, even if the productivity was lower.

how did people write programs like text editors or web browsers before you could google up headers and other libraries?

Back in the Jurassic (’60s through the early ’70s), everyone used the hardcopy programming manuals and development tools that came with the system. There weren’t a lot of third-party tools or libraries to choose from, mainly because there were almost no open standards.

Sometime in the Cretacous (late ’70s to early ’80s) people started putting RFCs, manuals, and code on Usenet, but you had to know where to look.

By the late Cretacous (late ’80s) you could use tools like Archie and Gopher to efficiently search for manuals and code online.

Mosiac was the KT impact. That’s what signaled the sea change towards network-centric applications and programming.

Remember that hardware capability has to evolve before people can take advantage of it in software. It wasn’t that long ago that 256K was a lot of very expensive memory, and everyone had strict quotas on disk space. My school had a couple of hardcopy terminals still lying around. There’s a constant feedback between programmers pushing the hardware and hardware manufacturers offering new features.

The same way they shared information on any other matter – by writing books, attending talks, formal training, manufacturer’s manuals, that sort of thing.

Just to add to this, conio.h is a DOS header from about 1985, and using that in code today is an absolute joke. So is C, for that matter. The information you’ve found online is of laughably low quality. Not exactly a resounding win for the Google era. You might find useful a question about “How do I find information that isn’t total garbage?”.

Related Solutions

Winsock programming connecting to a public ip

The issue is with your server. You are binding it to 127.0.0.1. This means your server will only bind to the loopback interface, so only clients running on the same machine as the server will be able to connect to the server using this same interface. If you...

Pin-board effect with CSS [closed]

You can use JavaScript to accomplish this but it can't be done with CSS floats alone. A library like jQuery masonry will do it well. The reason? The specs on floats. In particular #5 which says, "The outer top of a floating box may not be higher than the outer...

Calculate the sum with minimum usage of numbers

Here's a hint: 23 : 11 + 11+ 1 ( 3 magic numbers) 120: 110+ 10 (2 magic numbers) The highest digit in the target number is the answer, since you need exactly k magic numbers (all having 1 in the relevant position) in order for the sum to contain the digit k. So...

Why not drop the “auto” keyword? [duplicate]

Your proposal would be rejected on the basis of backward compatibility alone. But let's say for the sake of argument that the standards committee like your idea. You don't take into account the numerous ways you can initialize a variable widget w; // (a) widget...

Recursive to iterative using a systematic method [closed]

So, to restate the question. We have a function f, in our case fac. def fac(n): if n==0: return 1 else: return n*fac(n-1) It is implemented recursively. We want to implement a function facOpt that does the same thing but iteratively. fac is written almost in...

How can I match values in one file to ranges from another?

if the data file sizes are not huge, there is a simpler way $ join input1 input2 | awk '$5<$4 && $3<$5 {print $2, $5-$3+1}' B100002 32 B100043 15 B123465 3 This Perl code seems to solve your problem It is a common idiom: to load the entire...

Javascript difference between “=” and “===” [duplicate]

You need to use == or === for equality checking. = is the assignment operator. You can read about assignment operators here on MDN. As a quick reference as you are learning JS: = assignment operator == equal to === equal value and equal type != not equal !==...

Compiler complains about misplaced else [closed]

Your compiler complains about an misplaced else because, well, there is an else without a preceding if: // ... for (j=1; j<n-i; j++) { if(a[j]<=a[j+1]) { // ... } // END OF IF } // END OF FOR else { continue; } // ... The else in your code does not follow...

Bootstrap – custom alerts with progress bar

/* !important are just used to overide the bootstrap css in the snippet */ .alertContainer { border-radius: 0 !important; border-width: 0 !important; padding: 0 !important; height: auto !important; position: absolute !important; bottom: 15px !important; left:...

How to Garbage Collect an external Javascript load?

Yes, s.onload = null is useful and will garbage collect! As of 2019, it is not possible to explicitly or programmatically trigger garbage collection in JavaScript. That means it collects when it wants. Although there is cases where setting to null may do a GC...

Math programming with python

At first, what you are looking for is the modulo operator and the function math.floor() Modulo from wikipedia: In computing, the modulo operation finds the remainder after division of one number by another (sometimes called modulus). for example: 12%12=0...

Android slide over letters to create a word [closed]

Here some advice you can use: First for each cell you can create an object that represents the state of that cell: class Cell { char mChar; int row,column; boolean isSelected; } then you can create a 2D array of your cells Cell[][] mTable = ... For views you...

Sum two integers in Java

You reused the x and y variable names (hence the variable x is already defined in method main error), and forgot to assign the ints read from the Scanner to the x and y variables. Besides, there's no need to create two Scanner objects. public static void...