La programación imperativa es un paradigma de programación (un estilo de escribir el código fuente de un programa de computadora ) que se caracteriza por lo siguiente:
Un programa imperativo es similar a las órdenes ( imperative -order en inglés , modo imperativo ), expresadas por el modo imperativo en lenguajes naturales , es decir, representan una secuencia de comandos que el procesador debe ejecutar .
El enfoque imperativo para escribir código (a diferencia del enfoque funcional , que se refiere al paradigma declarativo ), hace un uso extensivo de la asignación . La presencia de operadores de asignación aumenta la complejidad del modelo computacional y hace que los programas imperativos sean propensos a errores específicos que no se encuentran en el enfoque funcional [1] .
Las principales características de las lenguas imperativas:
Los primeros lenguajes imperativos fueron las instrucciones de máquina (códigos) , comandos listos para ser ejecutados por una computadora de inmediato (sin ninguna transformación). Más tarde se crearon ensambladores y se empezaron a escribir programas en lenguajes ensambladores . Un ensamblador es un programa de computadora diseñado para convertir instrucciones de máquina escritas en forma de texto en un lenguaje comprensible para una persona (lenguaje ensamblador) en instrucciones de máquina en una forma comprensible para una computadora (código de máquina). Una instrucción en lenguaje ensamblador correspondía a una instrucción en lenguaje máquina. Diferentes computadoras admitían diferentes conjuntos de instrucciones. Los programas escritos para una computadora tenían que ser reescritos para ser transferidos a otra computadora. Se crearon compiladores y lenguajes de programación de alto nivel : programas que convierten texto de un lenguaje de programación a un lenguaje de máquina (código de máquina). Una instrucción de lenguaje de alto nivel correspondía a una o más instrucciones de lenguaje de máquina, y estas instrucciones eran diferentes para diferentes máquinas. Fortran , desarrollado por John Backus en 1954, fue el primer lenguaje de programación de alto nivel generalizado que se puso en práctica . Fortran es un lenguaje de programación compilado que le permite usar variables con nombre, expresiones compuestas, subrutinas y muchos otros elementos comunes en lenguajes imperativos. Para simplificar la expresión de los algoritmos matemáticos, el lenguaje Algol se desarrolló a fines de la década de 1950 . En el futuro, Algol sirvió como base para escribir sistemas operativos para algunos modelos de computadoras. COBOL ( 1960 ) y Basic ( 1964 ) fueron los primeros lenguajes cuyos desarrolladores intentaron hacer lenguajes similares al inglés. En la década de 1970, Niklaus Wirth desarrolló el lenguaje Pascal . Denis Ritchie creó el lenguaje C. En 1978, un equipo de desarrollo de Honeywell comenzó a desarrollar el lenguaje Ada , y cuatro años después publicó los requisitos para su funcionamiento; la especificación del idioma se publicó en 1983 y se actualizó en 1995 y 2005-2006 .
La década de 1980 vio un aumento en el interés por la programación orientada a objetos (POO) . En 1980, los empleados del centro de investigación Xerox PARC basado en el lenguaje Smalltalk desarrollado por Alan Kay en 1969 crearon el lenguaje Smalltalk-80. Basado en el lenguaje C y a imagen y semejanza del lenguaje Simula (presumiblemente el primer lenguaje OOP del mundo desarrollado allá por la década de 1960 ), Bjorn Stroustrup desarrolló el lenguaje C++ . La primera implementación de C++ se creó en 1985 . En 1987, Larry Wall lanzó el lenguaje Perl y su intérprete . En 1990, Guido van Rossum lanzó el lenguaje Python . Java fue desarrollado en 1994 por Sun Microsystems . En 1995, Rasmus Lerdorf desarrolló el lenguaje PHP . El lenguaje Ruby fue lanzado en 1995 . El lenguaje C# se lanzó en 2002 junto con la plataforma de software .NET Framework (framework) , que admite varios lenguajes.