How was the first computer software created, without computer software to create it?

231 views

How was the first computer software created, without computer software to create it?

In: 0

4 Answers

Anonymous 0 Comments

It was written by people which is how 99% of code is still written, by people. Afaik it was written on punch cards

Anonymous 0 Comments

The very first “programming languages” were literal instructions for the computer, in a binary format. This is nearly unusable for humans, so it got very soon replaced by human-readable instructions that translated 1-to-1 to these binary instructions. Stuff like:

1 Load the value at 0x1234 into 0x5678
2 Increment the value at 0x5678 by one
3 Do an AND-Operation with the value at 0x5678 and the value at 0x1234
4 Jump to instruction 2

These Instructions can be transformed into binary code with basically a look-up-table, and the binary code is then used by the computer

Every programming language since is abstracting from that directly interpretable code, and can be translated into it.

Anonymous 0 Comments

Computer software is, like everything else computers do, fundamentally just data stored in the computer’s memory. Since that data physically exists as a physical object, you can manually set it up by manually flipping each of the necessary bits in some form of storage. (For the earliest computer programs, this storage was typically punchcards, where bits were “flipped” by either punching or not punching each slot in the card.)

To expand on this a little in terms of how data becomes actions: each computer processor has something called an *instruction set*. These instructions are extremely basic: things like “get the data found at a particular memory address” or “add two numbers”, and they’re physically built into the actual hardware of the processor. Each of these instructions is represented by a numerical value, called an *opcode*.

With each step in the processor’s operation, the hardware inside the processor effectively takes the opcode and compares it to each of the built-in operations it can do via a bunch of logic gates. Only the circuit matching the opcode actually becomes active, and that circuit, via its hardware, actually executes the instruction.

So, to write a computer program, all you fundamentally need is a very long list of opcodes, physically encoded into the computer’s memory. This is a very unwieldy way to program, but you *can* do it. And more importantly, you can string together a bunch of opcodes that write a program that reads more human-readable data and *translates* it into opcodes, you can start writing code in more human-readable ways. Such a program, called a *compiler*, was one of the earliest innovations in computing.

—–

In modern computers, we still run this basic program, only it’s physically built in to a tiny bit of memory on the motherboard. When you turn the computer on, it executes that tiny stored program, typically a [BIOS](https://en.wikipedia.org/wiki/BIOS), which is then used to start reading other memory and to start the operating system.

Anonymous 0 Comments

Literal switches on the computer that controlled each individual bit. That’s not software, it’s all hardware. Those bits flowed into memory, which would be the first software. People had to punch a bunch of buttons and then hit another button which loaded them all as one word in memory. And repeat that for EVERY instruction. Eventually they used pinch cards to do that step for them. It’d be a long time before they make persistent memory storage that just kept the bits around till next time.