How are languages created

Status
Not open for further replies.

kep55

Distinguished
Dec 31, 2007
882
33
19,040
Two questions I've never received a good answer on.

First, when a new chip is designed, be it CPU, GPU, or whatever, how is it first coded? How did Intel know how to code the 4004, the 8008, etc.? One can't just throw a bunch of silicon & copper on a chunk of plastic and expect it to do anything.

Second, how are programming languages created? I can understand C# coming out of C++ out of C+ out of C. But how did the originator of Unix know what to write to get it to work on pretty much any cpu? Same for PERL, Ada, Fortran, Ruby on Rails, etc. Or going way back, how did Admiral Hopper know how to program her ballistics computers?

It all sounds like it goes back to the old question, "Which came first? The chicken or the egg?"
 
Well, the designers - of the chip or the programming language - decide what they want it to do, and then they design the chip, or write the language, accordingly. It's as simple as that (although just a little more difficult in practice).

No chickens or eggs were hurt in the making of this post.
 
So.. Nvida wanted to melt the ice cap when they designed FEMI, Stallman wanted to investigate what was held in other sections of memory with C and Larry Wall wanted 'Fscking computers' to be a regular expression when he conceived Perl?? ;)
 
I really don't understand what you're asking. There is no preset chip design for the language to work with. The instruction set is designed, then the chip is built to implement that instruction set. As with locks and keys, you design them together, not in isolation from each other.
 

Zenthar

Distinguished
A programming language is (mostly) platform independant; that means you do not create a language for a specific chip. It's the compiler's job to translate higher level programming language into the chip's specific set of instructions.
 

elel

Distinguished
Jun 18, 2009
1,042
0
19,360
Go to the security now page on the twit.tv podcast network. Listen to episode 223, "Lets Design a Computer". This is the first in a series of upcoming podcasts in which Steve Gibson should answer your question.
 
Status
Not open for further replies.