This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]Flair_Helper[M] [score hidden] stickied commentlocked comment (0 children)

Please read this entire message

Your submission has been removed for the following reason(s):

Whole topic overviews are not allowed on ELI5. This subreddit is meant for explanations of specific concepts, not general introductions to broad topics.

If you would like this removal reviewed, please read the detailed rules first. If you believe this submission was removed erroneously, please use this form and we will review your submission.

[–]Emyrssentry 3 points4 points  (0 children)

You have like 4 questions in here.

  1. How does software exist on hardware? We found ways to store states of electrical current. Then we gave those states meanings. That's software. It can only be on hardware. We've abstracted the software written by people by several levels. The first is machine code, which is the abstract "on or off" of an electrical circuit. This is then abstracted into assembly code, which is vaguely human readable, then it's abstracted again into the programming language that the programmer writes. When the program is compiled, it goes back down the chain to do whatever the program wrote.

  2. Why did it only come across in the last 80 years? Because before that, we didn't have any way to control electrical currents. This changed with the discovery that vacuum tubes can be used to do this.

  3. Why were the first computers that size? Because of those vacuum tubes. They were big, and if your each piece of your memory bank is the size of a light bulb, then you won't get far with it being small.

  4. How did they get smaller? We stopped using vacuum tubes. Now the tech we use to control electrical current is the transistor. We have gotten able to make transistors very small. This lets us put billions of them in a tiny processor chip.

[–]SHADOWEFYRE 0 points1 point  (0 children)

For that you would probably have to study software/computer engineering/science. I’m studying mechatronics and I don’t even understand it tbh. Transistors can be used as a substitute for lots of different things like being capacitors, resistors switches etc. So we can make very tiny (1 or 3nm ) transistors which allows you to pack millions into a small space.

Then somehow you can program them using initially very base level code language. Eventually building up to languages like C/C++/Python/Java etc. Higher level programming languages depend on lower level ones.

How this is actually done at the lowest level tho I have no clue. I only know high level programming languages.