People coded the internet. Without github or internet
4 years ago by beej · 195 Likes · 18 comments · Trending
Report
Comments
Follow Comments Sorted by time
anthracite
· 4 years ago
· FIRST
It may sound unbelievable, but they had some sort of stacks of paper, called books.
3
guest_
· 4 years ago
People coded code without code to code from. The principals behind digital computing are basic mathematics and mechanics/electronics. Before digital computers we had mechanical computers- differential calculators that could be found in things like targeting computers- machines that through gears and math formulas could produce answers to specific questions.
guest_
· 4 years ago
Translating that into digital means still involves a mechanical component- logic gates- the simplest being “if: then” using an electro mechanical switch that is “on” or “off” creates a “yes/no” or “true/false” and machine logic applies the same as an analog machine- a switch is true when X condition is met- if a switch is true- then the machine does Y. If X is false- it does Z. Stringing these together you can create complex logic.
Show All
guest_
· 4 years ago
In a more relatable way: if you’ve ever played mine craft or no mans sky or similar and played with “red stone” or switches without using an internet guide- just tried to build things and figure them out- you’ve basically mimicked what early computer science was.
guest_
· 4 years ago
You have these components and you know how they behave under certain circumstances. So you can say- let’s say you want a door to open when you flip a switch- and you want a switch on both sides of the door- but you also want to be able to have the door close itself and not have to reset the switches after each use?
guest_
· 4 years ago
If you power switch 1, then use switch one to power the door- and do the same for switch 2- if you flip switch 1- power flows to the door and it opens. But now it is stuck open. Standing on the other side- flipping switch 2 won’t close the door- because power now goes from switch 1 AND from switch 2. The door logic mechanically would be: “if power=on- door open. If power=off- door close.”
guest_
· 4 years ago
So- one answer is to find a component or build a circuit that creates a delay, and then use a circuit or component that when the delay is up- cuts power to the switch. This would make it a momentary switch instead of a constant switch. When you flip switch 1, the door opens, then you walk through, the timer expires and switch 1 loses power and resets. The door closes. You flip switch 2 and the same happens, and you can flip switch 1 and repeat. You have created a simple “computer” system.
guest_
· 4 years ago
The code for this is pretty straight forward. You tell the component what to do, and how long to do it for, when and if to repeat it. It’s not complex coding but it could be very involved because you are programming at the machine level- binary.
guest_
· 4 years ago
There is nothing stopping you from using binary to code the entire modern world really- except that hand typing a complex modern program in binary would not only take FOREVER and complicate debugging and later changes- but it’s really difficult for a human to look at billions of lines of Binary and see what the code is meant to do or where a single 1 or 0 is out of place causing undesired behavior.
guest_
· 4 years ago
Higher level code was invented to package complex instructions into more human readable and more quickly written statements. You don’t have to include lines of binary to tell a machine to ignore a human readable comment- an “*” or brackets or “- -“ or whatever the shorthand in that language is tells your higher level code language to generate the machine language needed to convey your intent.
guest_
· 4 years ago
What makes programming very difficult for many people are usually 2 things (beyond not knowing a language or having a solid grasp on logic or math,) 1. The complexity of modern code and the need for compatibility with untold variations of hardware and software- and 2. Not REALLY understanding what they are doing. You may know that “eating salad is good for you” but if you don’t understand WHY, how your body processes that salad or what in the salad you need etc- you might end up eating less healthy and not knowing why the salad isn’t working.
guest_
· 4 years ago
Same with code. You may know a certain command is what you’re “supposed to use to request a connection to the port..” but if you don’t understand that there are 900 ways to request a port and countless ports, why each request is slightly different and how they are processed, why not all ports are the same and why some ports are better to use than others... it doesn’t work. A great programmer can take a program made by a lesser programmer and make just a few changes and suddenly- it runs better. Using SQL as an example- you can get the same query results different ways- but by using certain commands or conditions you can get them much faster- without putting as much stress on the machine or tying up the database. You can pull or push data in a way that prevents simultaneous operations by other users or allows it- and there are pros and cons to each.
guest_
· 4 years ago
So it seems really daunting but really- you have to remember that overall- things were unknown and new and not familiar but also much simpler back then. You also can’t forget that if you REALLY understand what you are doing- WHY things work the way they work- to quote Captain Kirk in Wrath of Kahn- “You have to learn WHY things work on a Starship...” if you don’t know why- it seems like magic. If you understand why things happen and not just HOW to do them- you have the keys to the kingdom.
snowbeast
· 4 years ago
Nice explanation, thanks! However i stand firm in my conviction that memory handling in C is magic - and not the warm and fuzzy kind.
2
guest_
· 4 years ago
Lmao! Well- there are exceptions of course. Lon ago- before code compiled itself- there were those known as the old ones who worshipped the dark gods of the ancients. They could conjure 6,000 lines of spaghetti code with no comments or documentation- and even make it run with missing brackets. They were said to have died off when a young apprentice learning turbo Pascual accidentally unplugged a cray machine during their sacrificial rights and they were swallowed into the ether(net.) However rumors have persisted for ages that one of them had survived (having lost the admin password and being unable to falsify time sliced so could not join.)
1
guest_
· 4 years ago
It is told his disciples hands can be found in early java, aspects of C, and several common API’s. So if you are ever running code late at night and have no QA engineer on site to have performed the sanctification rituals taught in their learning annex classes- should you hear a sound coming from between the lines of code- a language that you can’t understand but makes sense- know the dark ones are close and whatever you do- don’t judge the code by the wrapper.
1
snowbeast
· 4 years ago
lol that's why my code never compiled - I forgot the sanctification ritual
1
guest_
· 4 years ago
lol. Probably. But it’s easy enough. Most newer version control methods handle the sacrificial ritual for the developer.
1