English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
All categories

If you need a program to write a new program, how was the first program done? since it needs a language and there was no language, and to create a language you need a language, how did it happen?

2006-11-29 17:04:12 · 4 answers · asked by Anonymous in Computers & Internet Other - Computers

x86 but how? how can you input a programming code into nothing? how to make the computer understand it for the first time if there is no language?

2006-11-29 17:07:57 · update #1

4 answers

With a PC, x86 Assembly

2006-11-29 17:06:53 · answer #1 · answered by zachsandberg 3 · 0 0

hmmm, interesting premise that you need a program to write a program.


The initial "program" is a sequence of events to accomplish a specific task, the initial language to get it done is logic and math... here's how it started:

someone wanted a machine to do a+b so they could get z
---> engineer designs the first hardware adder in binary
then they got greedy and they wanted -, * and /
---> engineer expands original design into first basic calculator
then they want to do algorithms
---> engineer reuses the previous design to do the math in a certain sequence

at this point you have a "computer", and the first "program" is basically the bunch of logic gates that make the algorithm execute in sequence.

after this it just gets worse, because they want many algorithms executed in a certain sequence...
---> so engineer gets fed up with so many changes and finally decides to make a machine that can handle all their future requests. Since the basic building block is the simple calculator, he designs a machine with a calculator at the heart. The calculator gets its inputs and instruction sequences based on the function that wants to be performed from something flexible, that can be changed by the user. So where before it was the user pressing buttons, now you have a mechanism where buttons are pressed in the right sequence (like the punch card mentioned before)

So then they thought the punchcards were too difficult to decode and debug, so they wanted the machine to understand something closer to ENGLISH :)

This is when the first assembler was built by the engineer, he made another machine to translate "a + b = z" into a punchcard detailing which buttons get pressed for 'a', 'b' and '+'

This is much simplified and not completely accurate, but I think it addresses your question

2006-11-30 02:16:11 · answer #2 · answered by Wattanabe 2 · 0 0

OK, this is actually going to be WAY more complicated than I am going to explain but I should be able to give you the basics.
A CPU is designed with a series of gates that determine information flow. Those gates rely on a pre-specified order to the bits that they receive. That's why Mac programs don't work on PC's (well, part of the reason anyways). The compiler (the program that breaks high-level languages down into the ones and zeros) is the is dependant on a specific environment to work properly.

OK, so once information is fed into the CPU, specific gates open and close which process the information and determine the output.

I know that this begs the question, how does a computer even start when you hit the power button? this is done through a process called boot-strapping which causes a pre-specified series of commands to begin flowing from the BIOS at the moment they receive power.

I hope this helps. I'm a little drunk right now so I'm probably not explaining this as well as my OS professor would like me to.

2006-11-30 01:26:53 · answer #3 · answered by Chris S 5 · 0 0

AAAHHHH

The age old question of what came first: The chicken or the egg.

O.K., I am no computer guru, but I did hear that the first computers actually used key punch for the data. People would "type" info on cards--the type was a series of holes. That was fed into the system to process information.
But I may be way off base--so don't kill me here.

2006-11-30 01:09:31 · answer #4 · answered by maamu 6 · 0 0

fedest.com, questions and answers