Los programas para hacer otros programas se llaman compiladores, y el primer compilador creo que fue el Colbol o el Algol, se hizo de la siguiente manera (a partir de este programa "compilador" se hicieron varias mas, pero no todos)
Primero se crean instrucciones en Assembler, unas pocas instrucciones lo suficiente como para lograr establecer posiciones de memorias, Asi crean un programa en assembler capas de reconocer un pequeño lenguaje programacional llamado cobol, pero es un cobol 0.0.0.0.0.0.1 o sea apenas reconoce la instruccion Begin, End, el Main, y un par de instrucciones de punteros a memoria.
Asi con este pequeño compilador crearon otro compilador, pero que ahora hace mas instrucciones que el anterior, Asi tenemos el cobol 0.0.0.0.0.1, Ahora el compilador es capaz de detectar instrucciones Begin, End, Main, Read, Write y un par de instrucciones de asignamiento a memoria. Como veras, con es nuevo pseudo compilador crearon otro compilador, y asi hasta tener un compilador capaz de hacer varias funciones , hasta tener el Cobol 1.0
Se ve facil, pero fue el primer lenguaje programacional que se hizo, y asi se hizo, osea el compilador de Cobol se creo a apatir de mismo compilador, es como algo recursivo.
Y por cada instruccion nueva que agregan la hacian en Assembler.
En el caso de Lenguaje C este tenia muchas diferencias con los sucesores del Cobol (hijos del cobol), lo cual el compilador de C era imposible de hacerlo, y por lo tanto usaron la misma tecnica que se uso en la creacion de lenguaje Cobol. Osea crearon instrucciones en Assembler lo suficiente como para crear un programa capaz de detectar y traducir a maquina un par de instrucciones en C. y con este nuevo programa, se repite la idea hasta obtener el lenguaje C.
Actualmente, la mayoria de los lenguajes son hechos a partir de otros programas (compiladores), pero antiguamente se hacian con la tencnica que yo les mencione.
Para los lectores novatos en el tema a lo mejor leer Assembler les parece algo extraño, para que entiendan Assembler es un lenguaje de nivel Bajo (que esta mas cerca a al lenguaje de maquina unos y ceros)
por ejemplo
LDT es una instruccion en assembler que significa por casualidad Leer desde teclado.
luego LDT es los mismo que escribir 000010101011101011101010101010111101010101000001
pero para no escribir todo eso, uno simplemente escribe LDT
osea en Asembler LDT significa todos esos numeros de ceros y unos, la cosa que cuando el procesador recive esta secuancia de bit, lo envia a su ALU, del ALU sale negado, porque los chips no reconocieron esta secuencia lo que significa que no son operadores logicos o aritmeticos lo cual lo envia o otra unidad del procesador, la cual si detecta el seguimiento de ceros y unos y el procesador se dice a si mismo "ahhhh, se quiere leer desde el teclado, okk, aqui voy...", activando asi la entrada desde teclado, ahora el procesador leera cualquier flujo desde teclado.
Mas o menos asi funciona el lenguaje Assembler, osea todo compilador traduce un lenguaje de alto nivel a un Assembler, para que asi la maquina pueda entender.
Corrigo a un amigo de arriba que señalo de C es un lenguaje de bajo nivel, pues es falso, por es un lenguaje de alto nivel, asi como pascal, c++, c#, java, prolog, lisp, basic, etc
nota: todas las instrucciones que escribi son a modo de ejemplos ficticios para que entiendan que de estamos hablando
2006-09-23 16:03:06
·
answer #1
·
answered by siakito167 3
·
0⤊
0⤋
Todo nació de los ceros y los unos, el átomo digital. Un uno es un pulso electrico, un cero la ausencia de pulso eléctrico. uno es ejecutar una acción, cero cesar su ejecución. A partir de ahi, se crearon muchas cosas, comenzando por el llamado Código ASCII, el código universal que utilizan todos los sistemas y que forma el abecedario internacional de los símbolos y caracteres computacionales. Luego, solo restó combinar los caracteres y crear lenguajes. Con estos lenguajes se crearon los programas, y con estos programas todo lo que conoces hasta hoy en computación. Saludos.
2006-09-23 17:20:07
·
answer #2
·
answered by EX-BRAD PITT 5
·
1⤊
0⤋
En realidad no es indispensable un "programa para hacer otro programa", muchas veces no son más que una especie de editores de texto que te resaltan las palabras reservadas y tal.... Por ejemplo un java tú puedes programar con el bloc de notas. Osea, que son editores de texto un poco sofisticados, y por detrás, claro, compiladores, máquinas virtuales y lo que haga falta.
2006-09-24 12:38:38
·
answer #3
·
answered by Anonymous
·
0⤊
0⤋
Cómorrrrrrrrrrrrr¡ ¡se me lengua la traba¡, o sea se me traba la lengua.
2006-09-23 19:27:26
·
answer #4
·
answered by Raymond 3
·
0⤊
0⤋
¿?Que pregunta inteligente¿?eh eso es un trabalenguas
2006-09-23 18:34:30
·
answer #5
·
answered by Anonymous
·
0⤊
0⤋
desgraciadamente ya murio!!!!!
Einsten
2006-09-23 17:53:11
·
answer #6
·
answered by Anonymous
·
0⤊
0⤋
ok
2006-09-23 17:49:42
·
answer #7
·
answered by Anonymous
·
0⤊
0⤋
Lo mismo pregunte una vez, me dijeron que con otro programa para hacer estos programas, la mayoria de esos programas, me contesto que eran demasiado antiguos para saber de adonde los hicieron. Buena pregunta.
2006-09-23 17:24:02
·
answer #8
·
answered by sparkleworks 4
·
0⤊
0⤋
con otro programa? (p. ej: los compiladores son programas que convierten instrucciones 'humanas' en lenguaje de máquina, y para escribirlos, se utilizan los compiladores que haya hasta ese momento, la idea es que antes hay que saber qué escribir)
2006-09-23 17:23:35
·
answer #9
·
answered by VooDoo Chicken 3
·
0⤊
0⤋
Es un tabalenguas???????
2006-09-23 17:21:23
·
answer #10
·
answered by gatitaruthy 4
·
0⤊
0⤋