Existen varios programas y lenguajes de escritura.
El desarrollo de los lenguajes de programación informática ha pasado por el proceso desde el lenguaje de máquina, el lenguaje ensamblador hasta el lenguaje de alto nivel.
Los lenguajes informáticos se dividen en tres categorías:
- Lenguajes de bajo nivel
- Lenguajes de alto nivel
- Lenguajes profesionales
1. Lenguajes de bajo nivel
-Lenguaje de máquina, lenguaje ensamblador y lenguaje simbólico.
- El programa fuente en lenguaje ensamblador debe ensamblarse para generar un archivo objeto y luego ejecutar el archivo objeto.
2. Lenguajes de alto nivel
- BASIC (True basic, Qbasic, Virtual Basic), C, PASCAL, FORTRAN, lenguajes inteligentes (LISP, Prolog), etc.
- Los programas fuente en lenguaje de alto nivel se pueden ejecutar de dos formas: interpretados y compilados. Generalmente se utiliza este último.
El lenguaje C que utilizamos utiliza este último.
3. Lenguaje especializado
Lenguaje de dibujo en sistema CAD y lenguaje de consulta de bases de datos en DBMS.
1.1. Lenguaje de máquina
Las computadoras electrónicas utilizan números binarios de "0" y "1", y el binario es la base del lenguaje informático. Al comienzo de la invención de las computadoras, la gente sólo podía condescender a usar el lenguaje informático para ordenarle a la computadora que hiciera esto o aquello. Para decirlo sin rodeos, significa escribir una serie de secuencias de instrucciones compuestas por "0" y "1" para. la computadora para ejecutar, que la computadora puede reconocer. El lenguaje es lenguaje de máquina. Usar lenguaje de máquina es muy doloroso, especialmente cuando el programa comete errores y necesita ser modificado.
Por tanto, un programa es un archivo binario. El lenguaje de máquina se convierte en una instrucción. Las instrucciones son la unidad funcional indivisible más pequeña. Además, dado que los sistemas de instrucción de diferentes computadoras suelen ser diferentes, los programas ejecutados en una computadora deben programarse por separado antes de poder ejecutarse en otra computadora, lo que resulta en una duplicación del trabajo. Sin embargo, debido a que el lenguaje es específico del modelo, es el más eficiente desde el punto de vista computacional de todos los lenguajes. El lenguaje de máquina es la primera generación de lenguaje informático.
1.2. Lenguaje ensamblador
Para aliviar el dolor de la programación en lenguaje de máquina, la gente ha realizado una mejora útil: sustituir el binario de instrucciones específicas por unas simples cadenas de letras y símbolos Las cadenas, por ejemplo, utilizan "ADD" para representar la suma, "MOV" para representar la transferencia de datos, etc. De esta manera, es fácil leer y comprender lo que está haciendo el programa, y la corrección de errores y el mantenimiento resultan sencillos. Este lenguaje de programación se llama lenguaje ensamblador. Este lenguaje de programación se llama lenguaje ensamblador y es un lenguaje informático de segunda generación. Sin embargo, la computadora no puede reconocer estos símbolos, lo que requiere un programa especial que se encarga de traducir estos símbolos al lenguaje de máquina de números binarios. Este programa de traducción se llama ensamblador.
El lenguaje ensamblador también depende en gran medida del hardware de la máquina y tiene poca portabilidad, pero sigue siendo muy eficiente. Los programas en lenguaje ensamblador compilados para hardware específico de computadora pueden utilizar con precisión las capacidades del hardware de la computadora. El programa es simple y de alta calidad, por lo que sigue siendo una herramienta de desarrollo de software potente y de uso común.
1.3. Lenguaje de alto nivel
1.3.1. Desarrollo del lenguaje de alto nivel
Desde la dolorosa experiencia inicial de comunicarse con las computadoras, la gente se dio cuenta de que deberían diseñar un Es cercano al lenguaje matemático o al lenguaje natural humano y no depende del hardware de la computadora. El programa compilado puede ser un lenguaje universal en todas las máquinas.
Después de un arduo trabajo, en 1954 apareció FORTRAN, el primer lenguaje de alto nivel que era completamente independiente del hardware de la máquina. En los últimos 40 años, han aparecido cientos de lenguajes de alto nivel. de gran importancia, gran influencia y son ampliamente utilizados FORTRAN, ALGOL, COBOL, BASIC, LISP, SNOBOL, PL/1, Pascal, C, PROLOG, Ada, C, VC, VB, Delphi, JAVA y docenas más.
Cabe mencionar especialmente que antes del nacimiento del lenguaje C, el software del sistema se escribía principalmente en lenguaje ensamblador. Debido a que los programas en lenguaje ensamblador dependen del hardware de la computadora, su legibilidad y portabilidad son deficientes y es difícil para los lenguajes generales de alto nivel operar directamente el hardware de la computadora (esta es la ventaja del lenguaje ensamblador), por lo que la gente espera con ansias; Un nuevo lenguaje que combina las características del lenguaje ensamblador y el lenguaje de alto nivel: el lenguaje C.
El desarrollo de lenguajes de alto nivel también ha pasado por un proceso desde los primeros lenguajes hasta los lenguajes de programación estructurados, y desde los lenguajes de programación orientados a procesos hasta los lenguajes de programación no orientados a procesos. En consecuencia, el desarrollo de software también ha evolucionado desde la producción inicial cerrada en talleres individuales hasta la producción industrializada en línea de montaje.
A mediados y finales de la década de 1960, había cada vez más software y la escala era cada vez mayor. Sin embargo, la producción de software era básicamente independiente y carecía de planificación, pruebas y pruebas de sistemas científicos y estandarizados. Como resultado, una gran cantidad de sistemas de software se han construido a un costo enorme, debido a errores, no se pueden usar e incluso causan grandes pérdidas. y menos fiables, por lo que casi no existe software que esté libre de errores. Todo esto sacudió enormemente al mundo de la informática y se denominó "crisis del software". La gente se da cuenta de que escribir programas grandes es diferente a escribir programas pequeños. Debería ser una tecnología nueva y todo el proceso de desarrollo de software debería manejarse como ingeniería. El diseño del programa debe ser fácil de garantizar la corrección y fácil de verificar. En 1969 se propuso el método de programación estructurada. En 1970 apareció el primer lenguaje de programación estructurada, el lenguaje Pascal, que marcó el comienzo del período de programación estructurada.
A principios de la década de 1980 se produjo otra revolución en el pensamiento de diseño de software, cuyo resultado fue la programación orientada a objetos. Antes de esto, casi todos los lenguajes de alto nivel estaban orientados a procesos y la ejecución del programa estaba canalizada. Antes de ejecutar un módulo, las personas no podían hacer nada más ni cambiar dinámicamente la dirección de ejecución del programa. Esto es inconsistente con la forma en que las personas manejan las cosas todos los días, porque la gente espera que suceda una cosa y se procese otra, lo que significa que no puede estar orientado al proceso, sino que debe estar orientado a funciones de aplicación específicas, es decir, objetos (Objeto). Este método consiste en integrar software, como circuitos integrados de hardware, para producir algunos módulos funcionales generales y estrechamente empaquetados, llamados bloques integrados de software. No tienen nada que ver con aplicaciones específicas, pero se pueden combinar entre sí para completar funciones de aplicaciones específicas. Al mismo tiempo, se puede reutilizar. Para los usuarios, solo se preocupan por su interfaz (entrada, salida) y las funciones que puede implementar. En cuanto a cómo implementarlo, esos son asuntos internos, y los usuarios no necesitan preocuparse por C, Virtual Basic y Delphi. Representantes típicos.
El próximo objetivo de desarrollo de los lenguajes de alto nivel es estar orientado a aplicaciones, es decir: solo necesitas decirle al programa lo que quieres hacer, y el programa puede generar algoritmos automáticamente. y procesarlos automáticamente. Este es un lenguaje de programación no procesal.