{"id":473,"date":"2025-08-31T11:47:46","date_gmt":"2025-08-31T09:47:46","guid":{"rendered":"https:\/\/cienciaytecnology.com\/wordpress\/?p=473"},"modified":"2025-08-31T12:02:51","modified_gmt":"2025-08-31T10:02:51","slug":"%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial","status":"publish","type":"post","link":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/","title":{"rendered":"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial"},"content":{"rendered":"\n<p>\ud83d\udcdc Esta secci\u00f3n trazar\u00e1 el desarrollo de la programaci\u00f3n desde sus or\u00edgenes mec\u00e1nicos hasta los lenguajes modernos, siguiendo las clasificaciones que ya trabajamos: niveles de abstracci\u00f3n, paradigmas, tipado, orientaci\u00f3n de uso, etc. <\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Introducci\u00f3n<\/h1>\n\n\n\n<p>La programaci\u00f3n no naci\u00f3 con los ordenadores, sino con la necesidad humana de automatizar procesos. Desde los telares del siglo XIX hasta los lenguajes que hoy impulsan la inteligencia artificial, la evoluci\u00f3n de la programaci\u00f3n ha sido una historia de abstracci\u00f3n, eficiencia y creatividad.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddee Siglo XIX: El Origen Mec\u00e1nico<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Joseph Marie Jacquard (1801)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Invenci\u00f3n<\/strong>: Telar programable con tarjetas perforadas.<\/li>\n\n\n\n<li><strong>Clasificaci\u00f3n<\/strong>: Bajo nivel, orientado a hardware.<\/li>\n\n\n\n<li><strong>Impacto<\/strong>: Primer sistema que us\u00f3 instrucciones codificadas para automatizar tareas.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ada Lovelace (1842)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Contribuci\u00f3n<\/strong>: Primer algoritmo dise\u00f1ado para ser ejecutado por una m\u00e1quina (la M\u00e1quina Anal\u00edtica de Babbage).<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Algor\u00edtmico, precursor de la programaci\u00f3n estructurada.<\/li>\n\n\n\n<li><strong>Reconocimiento<\/strong>: Considerada la primera programadora de la historia.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde0 1930\u20131950: Fundamentos Te\u00f3ricos<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Alan Turing (1936)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Aporte<\/strong>: M\u00e1quina de Turing, modelo te\u00f3rico de computaci\u00f3n.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: L\u00f3gico, base de la computaci\u00f3n moderna.<\/li>\n\n\n\n<li><strong>Legado<\/strong>: Inspir\u00f3 la arquitectura de Von Neumann y la idea de almacenar programas como datos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Primeros c\u00f3digos binarios<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Uso<\/strong>: Programaci\u00f3n directa de m\u00e1quinas como ENIAC.<\/li>\n\n\n\n<li><strong>Clasificaci\u00f3n<\/strong>: Lenguaje de m\u00e1quina, extremadamente bajo nivel.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddea A\u00f1os 50: Primeros Lenguajes de Alto Nivel<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">FORTRAN (1957)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: John Backus (IBM).<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Imperativo, estructurado.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: C\u00e1lculo cient\u00edfico.<\/li>\n\n\n\n<li><strong>Importancia<\/strong>: Primer lenguaje compilado de alto nivel.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">LISP (1958)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: John McCarthy.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Funcional.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Din\u00e1mico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Inteligencia artificial.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">COBOL (1959)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creadora<\/strong>: Grace Hopper.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Imperativo, orientado a negocios.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Finanzas, administraci\u00f3n p\u00fablica.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde9 A\u00f1os 60\u201370: Estructura y Educaci\u00f3n<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">ALGOL (1960)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Paradigma<\/strong>: Estructurado.<\/li>\n\n\n\n<li><strong>Influencia<\/strong>: Base para Pascal, C y otros lenguajes modernos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">BASIC (1964)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creadores<\/strong>: Kemeny y Kurtz.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Imperativo.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: D\u00e9bil.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Educaci\u00f3n, accesibilidad.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Pascal (1970)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Niklaus Wirth.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Estructurado.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Ense\u00f1anza, desarrollo de software.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">C (1972)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Dennis Ritchie.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Estructurado, bajo nivel.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Sistemas operativos, UNIX.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf1 A\u00f1os 80: Orientaci\u00f3n a Objetos y Multiparadigma<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Smalltalk (1980)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Paradigma<\/strong>: Orientado a objetos puro.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Din\u00e1mico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Interfaces gr\u00e1ficas, educaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">C++ (1983)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Bjarne Stroustrup.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Multiparadigma (estructurado + OO).<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Software de alto rendimiento, videojuegos.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf10 A\u00f1os 90: Internet y Web<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Python (1991)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Guido van Rossum.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Multiparadigma.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Din\u00e1mico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Web, ciencia de datos, automatizaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Java (1995)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: James Gosling.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Orientado a objetos.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Aplicaciones empresariales, Android.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">JavaScript (1995)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Brendan Eich.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Multiparadigma.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Din\u00e1mico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Frontend web, luego backend con Node.js.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">PHP (1995)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Rasmus Lerdorf.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Imperativo.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Din\u00e1mico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Backend web.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udd16 2000\u20132020: Nuevas Necesidades y Paradigmas<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">C# (2000)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Microsoft.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Orientado a objetos.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Aplicaciones Windows, videojuegos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ruby + Rails (1995\/2005)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Paradigma<\/strong>: Orientado a objetos.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Din\u00e1mico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Desarrollo web \u00e1gil.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scala (2003)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Paradigma<\/strong>: Funcional + OO.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Big Data, backend.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Go (2009)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Google.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Imperativo, concurrente.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Backend, sistemas distribuidos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Rust (2010)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Mozilla.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Multiparadigma, seguro.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Sistemas, rendimiento.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Julia (2012)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Paradigma<\/strong>: Cient\u00edfico, funcional.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Din\u00e1mico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: IA, simulaciones.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TypeScript (2012)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Creador<\/strong>: Microsoft.<\/li>\n\n\n\n<li><strong>Paradigma<\/strong>: Superset de JavaScript.<\/li>\n\n\n\n<li><strong>Tipado<\/strong>: Est\u00e1tico.<\/li>\n\n\n\n<li><strong>Uso<\/strong>: Frontend robusto.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde0 2020\u2013Hoy: Inteligencia Artificial, Cloud y Concurrencia<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Lenguajes dominantes<\/strong>: <em>Python<\/em>, <em>JavaScript<\/em>, <em>Go<\/em>, <em>Rust<\/em>, <em>Julia<\/em>.<\/li>\n\n\n\n<li><strong>Paradigmas emergentes<\/strong>: Funcional reactivo, programaci\u00f3n concurrente, declarativa para IA.<\/li>\n\n\n\n<li><strong>Tendencias<\/strong>:<\/li>\n\n\n\n<li>Automatizaci\u00f3n con <em>Python<\/em>.<\/li>\n\n\n\n<li>Infraestructura con <em>Go<\/em> y <em>Rust<\/em>.<\/li>\n\n\n\n<li>Web moderna con <em>TypeScript<\/em> y <em>React<\/em>.<\/li>\n\n\n\n<li>Ciencia de datos con <em>Julia<\/em> y <em>R<\/em>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcda Bibliograf\u00eda Consultada<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/es.wikipedia.org\/wiki\/Historia_de_los_lenguajes_de_programaci%C3%B3n\">Wikipedia \u2013 Historia de los lenguajes de programaci\u00f3n<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/devcamp.es\/historia-de-la-programacion-que-es-y-como-ha-evolucionado-con-los-anos\/\">DevCamp \u2013 Historia de la programaci\u00f3n<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.epitech-it.es\/evolucion-lenguajes-de-programacion\/\">Epitech \u2013 Evoluci\u00f3n de los lenguajes de programaci\u00f3n<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/computerhoy.20minutos.es\/reportajes\/tecnologia\/historia-lenguajes-programacion-428041\">Computer Hoy \u2013 Historia de los lenguajes de programaci\u00f3n<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.msn.com\/es-es\/noticias\/tecnologia\/una-charla-de-esta-pionera-de-la-programaci%C3%B3n-perdida-para-siempre-por-haber-desaparecido-todos-los-reproductores-compatibles\/ar-AA1LjYLN\">MSN \u2013 Grace Hopper y el origen de COBOL<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Vamos a aclarar todo esto punto por punto, con ejemplos y contexto hist\u00f3rico. Te explico primero d\u00f3nde encaja el lenguaje ensamblador en la historia, luego los conceptos de imperativo, estructurado y multiparadigma, y por \u00faltimo el porqu\u00e9 del \u201cbajo nivel\u201d en C.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf5 \u00bfD\u00f3nde encaja el lenguaje ensamblador en la historia?<\/h2>\n\n\n\n<p>El <strong>lenguaje ensamblador<\/strong> (tambi\u00e9n llamado <em>Assembly<\/em>) es uno de los primeros lenguajes de programaci\u00f3n que se crearon tras el uso directo del <strong>c\u00f3digo m\u00e1quina<\/strong> (binario). Surgi\u00f3 en los a\u00f1os <strong>40 y 50<\/strong>, cuando los primeros ordenadores como el <strong>ENIAC<\/strong> y el <strong>UNIVAC<\/strong> necesitaban instrucciones precisas para operar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udccc Caracter\u00edsticas del ensamblador:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Muy bajo nivel<\/strong>: Cada instrucci\u00f3n corresponde directamente a una operaci\u00f3n del procesador.<\/li>\n\n\n\n<li><strong>Dependiente del hardware<\/strong>: Cada arquitectura (Intel, ARM, etc.) tiene su propio conjunto de instrucciones.<\/li>\n\n\n\n<li><strong>No portable<\/strong>: El c\u00f3digo ensamblador para una m\u00e1quina no funciona en otra.<\/li>\n\n\n\n<li><strong>Usos t\u00edpicos<\/strong>: BIOS, microcontroladores, drivers, optimizaci\u00f3n extrema.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 \u00bfPor qu\u00e9 se cre\u00f3?<\/h3>\n\n\n\n<p>Porque escribir directamente en binario era inhumano. El ensamblador permiti\u00f3 usar <strong>mnem\u00f3nicos<\/strong> como <code>MOV<\/code>, <code>ADD<\/code>, <code>JMP<\/code> en lugar de cadenas de 0s y 1s. Fue el primer paso hacia la abstracci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\uddec Otros lenguajes de bajo nivel similares:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C<\/strong>: Aunque m\u00e1s abstracto que ensamblador, permite manipular memoria directamente.<\/li>\n\n\n\n<li><strong>Forth<\/strong>: Usado en sistemas embebidos, muy cercano al hardware.<\/li>\n\n\n\n<li><strong>PL\/M<\/strong>: Usado en microprocesadores Intel en los 70.<\/li>\n\n\n\n<li><strong>BCPL<\/strong>: Antecesor de C, tambi\u00e9n muy cercano al hardware.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde9 \u00bfQu\u00e9 es un lenguaje imperativo?<\/h2>\n\n\n\n<p>Un lenguaje <strong>imperativo<\/strong> es aquel en el que el programador <strong>indica paso a paso<\/strong> c\u00f3mo debe ejecutarse una tarea. Es como dar instrucciones a un robot: \u201chaz esto, luego esto, luego aquello\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd27 Ejemplos:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>int suma(int a, int b) {\n    int resultado = a + b;\n    return resultado;\n}\n<\/code><\/pre>\n\n\n\n<p>Aqu\u00ed est\u00e1s diciendo expl\u00edcitamente qu\u00e9 hacer: declarar una variable, sumar, devolver.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 Caracter\u00edsticas:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Control total del flujo de ejecuci\u00f3n.<\/li>\n\n\n\n<li>Uso de variables, bucles, condicionales.<\/li>\n\n\n\n<li>Ejemplos: <strong>C<\/strong>, <strong>Pascal<\/strong>, <strong>BASIC<\/strong>, <strong>Python<\/strong> (aunque tambi\u00e9n soporta otros paradigmas).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf1 \u00bfQu\u00e9 es un lenguaje estructurado?<\/h2>\n\n\n\n<p>La <strong>programaci\u00f3n estructurada<\/strong> es una <strong>subcategor\u00eda de la imperativa<\/strong>, que se enfoca en organizar el c\u00f3digo en <strong>bloques l\u00f3gicos<\/strong>: funciones, bucles, condicionales, evitando el uso de <code>goto<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 Objetivo:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mejor legibilidad.<\/li>\n\n\n\n<li>Menor complejidad.<\/li>\n\n\n\n<li>C\u00f3digo m\u00e1s mantenible.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd27 Ejemplo en C:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void imprimirNumeros() {\n    for (int i = 0; i &lt; 10; i++) {\n        printf(\"%d\\n\", i);\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>Este estilo evita saltos arbitrarios y favorece estructuras claras.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd00 \u00bfQu\u00e9 significa que un lenguaje sea multiparadigma?<\/h2>\n\n\n\n<p>Un lenguaje <strong>multiparadigma<\/strong> permite combinar varios estilos de programaci\u00f3n. Por ejemplo, puedes escribir c\u00f3digo imperativo, orientado a objetos y funcional en el mismo lenguaje.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd27 Ejemplo en Python:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Imperativo\nx = 5\ny = 10\nprint(x + y)\n\n# Funcional\nprint(sum(&#91;1, 2, 3]))\n\n# Orientado a objetos\nclass Persona:\n    def __init__(self, nombre):\n        self.nombre = nombre\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 Lenguajes multiparadigma:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Python<\/strong><\/li>\n\n\n\n<li><strong>JavaScript<\/strong><\/li>\n\n\n\n<li><strong>Rust<\/strong><\/li>\n\n\n\n<li><strong>Scala<\/strong><\/li>\n\n\n\n<li><strong>C++<\/strong><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddec \u00bfPor qu\u00e9 se considera C un lenguaje de bajo nivel?<\/h2>\n\n\n\n<p>Aunque <strong>C<\/strong> es un lenguaje de alto nivel comparado con ensamblador, se le considera <strong>de bajo nivel relativo<\/strong> por varias razones:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d Caracter\u00edsticas que lo acercan al hardware:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Punteros<\/strong>: Acceso directo a direcciones de memoria.<\/li>\n\n\n\n<li><strong>Manipulaci\u00f3n de bits<\/strong>: Operaciones bit a bit (<code>&amp;<\/code>, <code>|<\/code>, <code>&lt;&lt;<\/code>, <code>>><\/code>).<\/li>\n\n\n\n<li><strong>Sin gesti\u00f3n autom\u00e1tica de memoria<\/strong>: T\u00fa decides cu\u00e1ndo y c\u00f3mo liberar memoria (<code>malloc<\/code>, <code>free<\/code>).<\/li>\n\n\n\n<li><strong>Compilaci\u00f3n directa a c\u00f3digo m\u00e1quina<\/strong>: Muy eficiente.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 \u00bfUsa ensamblador dentro?<\/h3>\n\n\n\n<p>No exactamente. Pero el compilador de C <strong>traduce<\/strong> el c\u00f3digo a instrucciones de ensamblador antes de generar el binario. Adem\u00e1s, puedes <strong>incluir c\u00f3digo ensamblador<\/strong> dentro de C usando <code>asm<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>asm(\"movl %eax, %ebx\");\n<\/code><\/pre>\n\n\n\n<p>Esto se usa en casos muy espec\u00edficos donde necesitas optimizaci\u00f3n extrema o acceso a instrucciones del procesador.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Los tres paradigmas pueden parecer similares, sobre todo cuando se expresan con funciones, pero tienen <strong>fundamentos distintos<\/strong>. Vamos a desentra\u00f1arlos con claridad y ejemplos contrastados para que veas c\u00f3mo se diferencian en filosof\u00eda, estilo y prop\u00f3sito.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde0 \u00bfPor qu\u00e9 todos usan funciones?<\/h2>\n\n\n\n<p>Porque las funciones son una herramienta com\u00fan en muchos lenguajes modernos. Pero <strong>no definen el paradigma<\/strong>, sino <strong>c\u00f3mo se usan<\/strong> y <strong>qu\u00e9 principios siguen<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd27 Paradigma Imperativo<\/h2>\n\n\n\n<p><strong>Idea central<\/strong>: El programa es una <strong>secuencia de instrucciones<\/strong> que modifican el estado del sistema paso a paso.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>T\u00fa mandas<\/strong>: Le dices al ordenador qu\u00e9 hacer en cada momento.<\/li>\n\n\n\n<li><strong>Usa variables, bucles, condicionales<\/strong>.<\/li>\n\n\n\n<li><strong>Ejemplo t\u00edpico<\/strong>: C, JavaScript, Python (modo imperativo).<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>int suma(int a, int b) {\n    int resultado = a + b;\n    return resultado;\n}\n<\/code><\/pre>\n\n\n\n<p>Aqu\u00ed est\u00e1s <strong>controlando el flujo<\/strong> y <strong>gestionando el estado<\/strong> (la variable <code>resultado<\/code>).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf1 Paradigma Estructurado<\/h2>\n\n\n\n<p><strong>Idea central<\/strong>: Es imperativo, pero con <strong>disciplina<\/strong>. Se basa en <strong>estructuras de control bien definidas<\/strong> (if, for, while) y <strong>evita saltos arbitrarios<\/strong> como <code>goto<\/code>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Organiza el c\u00f3digo en bloques l\u00f3gicos<\/strong>.<\/li>\n\n\n\n<li><strong>Favorece la legibilidad y mantenibilidad<\/strong>.<\/li>\n\n\n\n<li><strong>Ejemplo t\u00edpico<\/strong>: Pascal, C (bien escrito), Ada.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>void imprimirNumeros() {\n    for (int i = 0; i &lt; 10; i++) {\n        printf(\"%d\\n\", i);\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>Aqu\u00ed no hay saltos locos ni manipulaci\u00f3n directa del flujo. Todo est\u00e1 <strong>estructurado<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddea Paradigma Funcional<\/h2>\n\n\n\n<p><strong>Idea central<\/strong>: El programa es una <strong>composici\u00f3n de funciones puras<\/strong>, sin modificar el estado ni usar variables mutables.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No hay bucles ni variables cambiantes<\/strong>.<\/li>\n\n\n\n<li><strong>Se basa en expresiones y recursi\u00f3n<\/strong>.<\/li>\n\n\n\n<li><strong>Ejemplo t\u00edpico<\/strong>: Haskell, Lisp, OCaml, tambi\u00e9n Python o JavaScript en modo funcional.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>def suma_lista(lista):\n    return sum(lista)\n<\/code><\/pre>\n\n\n\n<p>O m\u00e1s puro a\u00fan:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sumaLista xs = foldl (+) 0 xs\n<\/code><\/pre>\n\n\n\n<p>Aqu\u00ed no hay estado mutable, ni bucles. Solo <strong>funciones que transforman datos<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd00 \u00bfPor qu\u00e9 parecen similares?<\/h2>\n\n\n\n<p>Porque muchos lenguajes modernos (como Python, JavaScript, incluso C++) son <strong>multiparadigma<\/strong>. Puedes escribir c\u00f3digo imperativo, estructurado o funcional en el mismo lenguaje. Pero el <strong>paradigma<\/strong> se define por <strong>c\u00f3mo piensas y estructuras tu soluci\u00f3n<\/strong>, no por el lenguaje en s\u00ed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udded Comparaci\u00f3n r\u00e1pida<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Paradigma<\/th><th>Control del flujo<\/th><th>Estado mutable<\/th><th>Uso de funciones<\/th><th>Ejemplo t\u00edpico<\/th><\/tr><\/thead><tbody><tr><td>Imperativo<\/td><td>Directo<\/td><td>S\u00ed<\/td><td>Opcional<\/td><td>C, Java<\/td><\/tr><tr><td>Estructurado<\/td><td>Controlado<\/td><td>S\u00ed<\/td><td>Recomendado<\/td><td>Pascal, C<\/td><\/tr><tr><td>Funcional<\/td><td>Declarativo<\/td><td>No<\/td><td>Central<\/td><td>Haskell, Lisp<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Vamos a resolver <strong>el mismo problema<\/strong> en tres paradigmas distintos: <strong>imperativo<\/strong>, <strong>estructurado<\/strong> y <strong>funcional<\/strong>, con comentarios detallados para que entiendas cada paso. El problema ser\u00e1:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Sumar los n\u00fameros pares de una lista.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddee 1. Imperativo (en C)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nint suma_pares(int lista&#91;], int tama\u00f1o) {\n    int suma = 0; \/\/ Acumulador para la suma\n    for (int i = 0; i &lt; tama\u00f1o; i++) { \/\/ Recorremos la lista\n        if (lista&#91;i] % 2 == 0) { \/\/ Si el n\u00famero es par\n            suma += lista&#91;i]; \/\/ Lo sumamos\n        }\n    }\n    return suma; \/\/ Devolvemos el resultado\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 \u00bfQu\u00e9 ocurre aqu\u00ed?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Usamos un <strong>bucle <code>for<\/code><\/strong> para recorrer la lista.<\/li>\n\n\n\n<li>Usamos una <strong>variable mutable <code>suma<\/code><\/strong> que va acumulando el resultado.<\/li>\n\n\n\n<li>Usamos una <strong>condici\u00f3n <code>if<\/code><\/strong> para filtrar los pares.<\/li>\n\n\n\n<li>Todo se hace paso a paso: es <strong>imperativo puro<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf1 2. Estructurado (en C, estilo limpio)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nint es_par(int n) {\n    return n % 2 == 0; \/\/ Funci\u00f3n clara para saber si es par\n}\n\nint suma_pares(int lista&#91;], int tama\u00f1o) {\n    int suma = 0;\n    for (int i = 0; i &lt; tama\u00f1o; i++) {\n        if (es_par(lista&#91;i])) { \/\/ Usamos funci\u00f3n estructurada\n            suma += lista&#91;i];\n        }\n    }\n    return suma;\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 \u00bfQu\u00e9 cambia aqu\u00ed?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Separamos la l\u00f3gica en <strong>funciones peque\u00f1as<\/strong> (<code>es_par<\/code>).<\/li>\n\n\n\n<li>Evitamos repetir c\u00f3digo.<\/li>\n\n\n\n<li>El flujo sigue siendo imperativo, pero <strong>estructurado<\/strong> y m\u00e1s legible.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddea 3. Funcional (en Python estilo funcional)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>def es_par(n):\n    return n % 2 == 0  # Funci\u00f3n pura: no cambia nada externo\n\nnumeros = &#91;1, 2, 3, 4, 5, 6]\n\n# Usamos filter para quedarnos solo con los pares\n# Usamos sum para sumar directamente\nsuma = sum(filter(es_par, numeros))\n\nprint(suma)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 \u00bfQu\u00e9 ocurre aqu\u00ed?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>filter(es_par, numeros)<\/code> \u2192 devuelve solo los n\u00fameros pares.<\/li>\n\n\n\n<li><code>sum(...)<\/code> \u2192 suma los elementos.<\/li>\n\n\n\n<li>No hay bucles ni variables mutables.<\/li>\n\n\n\n<li>Todo se hace con <strong>funciones puras<\/strong> que <strong>no modifican estado<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddec 4. Funcional puro (en Haskell)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>-- Definimos una funci\u00f3n que suma los pares de una lista\nsumaPares :: &#91;Int] -&gt; Int\nsumaPares xs = sum (filter even xs)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 Explicaci\u00f3n paso a paso:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>sumaPares<\/code> es el nombre de la funci\u00f3n.<\/li>\n\n\n\n<li><code>:: [Int] -> Int<\/code> significa: recibe una lista de enteros y devuelve un entero.<\/li>\n\n\n\n<li><code>filter even xs<\/code> \u2192 filtra los elementos pares (<code>even<\/code> es funci\u00f3n est\u00e1ndar).<\/li>\n\n\n\n<li><code>sum (...)<\/code> \u2192 suma los elementos filtrados.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d \u00bfD\u00f3nde est\u00e1n los bucles?<\/h3>\n\n\n\n<p>No hay. En Haskell, los bucles se <strong>reemplazan por funciones de orden superior<\/strong> como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>map<\/code> \u2192 transforma cada elemento.<\/li>\n\n\n\n<li><code>filter<\/code> \u2192 selecciona elementos.<\/li>\n\n\n\n<li><code>foldl<\/code> \/ <code>foldr<\/code> \u2192 acumulan resultados (como bucles invisibles).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udded Comparaci\u00f3n final<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Paradigma<\/th><th>Bucles<\/th><th>Variables mutables<\/th><th>Condicionales<\/th><th>Funciones puras<\/th><th>Comentario<\/th><\/tr><\/thead><tbody><tr><td>Imperativo<\/td><td>S\u00ed<\/td><td>S\u00ed<\/td><td>S\u00ed<\/td><td>No<\/td><td>Control total paso a paso<\/td><\/tr><tr><td>Estructurado<\/td><td>S\u00ed<\/td><td>S\u00ed<\/td><td>S\u00ed<\/td><td>Parcialmente<\/td><td>M\u00e1s limpio y modular<\/td><\/tr><tr><td>Funcional<\/td><td>No<\/td><td>No<\/td><td>Impl\u00edcitos<\/td><td>S\u00ed<\/td><td>Declarativo, sin estado<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcdc Esta secci\u00f3n trazar\u00e1 el desarrollo de la programaci\u00f3n desde sus or\u00edgenes mec\u00e1nicos hasta los lenguajes modernos, siguiendo las clasificaciones que ya trabajamos: niveles de abstracci\u00f3n, paradigmas, tipado, orientaci\u00f3n de uso, etc. Introducci\u00f3n La programaci\u00f3n no naci\u00f3 con los ordenadores, sino con la necesidad humana de automatizar procesos. Desde los telares del siglo XIX hasta&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[60],"tags":[337,336,339,342,341,340,343,335,344,338],"class_list":["post-473","post","type-post","status-publish","format-standard","hentry","category-programacion","tag-estructurado","tag-imperativo","tag-imperativo-estructurado","tag-imperativo-orientado","tag-negocios","tag-orientado","tag-orientado-negocios","tag-paradigma","tag-paradigma-estructurado","tag-paradigma-imperativo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial - Ciencia y Tecnologia<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial - Ciencia y Tecnologia\" \/>\n<meta property=\"og:description\" content=\"\ud83d\udcdc Esta secci\u00f3n trazar\u00e1 el desarrollo de la programaci\u00f3n desde sus or\u00edgenes mec\u00e1nicos hasta los lenguajes modernos, siguiendo las clasificaciones que ya trabajamos: niveles de abstracci\u00f3n, paradigmas, tipado, orientaci\u00f3n de uso, etc. Introducci\u00f3n La programaci\u00f3n no naci\u00f3 con los ordenadores, sino con la necesidad humana de automatizar procesos. Desde los telares del siglo XIX hasta...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cienciaytecnology.com\/wordpress\/\ud83d\udd70\ufe0f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/\" \/>\n<meta property=\"og:site_name\" content=\"Ciencia y Tecnologia\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-31T09:47:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-31T10:02:51+00:00\" \/>\n<meta name=\"author\" content=\"david\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"david\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/\"},\"author\":{\"name\":\"david\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"headline\":\"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial\",\"datePublished\":\"2025-08-31T09:47:46+00:00\",\"dateModified\":\"2025-08-31T10:02:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/\"},\"wordCount\":1769,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"keywords\":[\"estructurado\",\"imperativo\",\"imperativo estructurado\",\"imperativo orientado\",\"negocios\",\"orientado\",\"orientado negocios\",\"paradigma\",\"paradigma estructurado\",\"paradigma imperativo\"],\"articleSection\":[\"Programacion\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/\",\"name\":\"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial - Ciencia y Tecnologia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#website\"},\"datePublished\":\"2025-08-31T09:47:46+00:00\",\"dateModified\":\"2025-08-31T10:02:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/\",\"name\":\"Ciencia y Tecnologia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/b76777e3c0d2d08ea263068461c90d4b\",\"name\":\"david\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\",\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\",\"contentUrl\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\",\"width\":1024,\"height\":1024,\"caption\":\"david\"},\"logo\":{\"@id\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/a-person-programming-with-a-computer-screen-and-code-visible.jpg\"},\"sameAs\":[\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\"],\"url\":\"https:\\\/\\\/cienciaytecnology.com\\\/wordpress\\\/author\\\/david\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial - Ciencia y Tecnologia","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial - Ciencia y Tecnologia","og_description":"\ud83d\udcdc Esta secci\u00f3n trazar\u00e1 el desarrollo de la programaci\u00f3n desde sus or\u00edgenes mec\u00e1nicos hasta los lenguajes modernos, siguiendo las clasificaciones que ya trabajamos: niveles de abstracci\u00f3n, paradigmas, tipado, orientaci\u00f3n de uso, etc. Introducci\u00f3n La programaci\u00f3n no naci\u00f3 con los ordenadores, sino con la necesidad humana de automatizar procesos. Desde los telares del siglo XIX hasta...","og_url":"https:\/\/cienciaytecnology.com\/wordpress\/\ud83d\udd70\ufe0f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/","og_site_name":"Ciencia y Tecnologia","article_published_time":"2025-08-31T09:47:46+00:00","article_modified_time":"2025-08-31T10:02:51+00:00","author":"david","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"david","Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/#article","isPartOf":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/"},"author":{"name":"david","@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"headline":"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial","datePublished":"2025-08-31T09:47:46+00:00","dateModified":"2025-08-31T10:02:51+00:00","mainEntityOfPage":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/"},"wordCount":1769,"commentCount":0,"publisher":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"keywords":["estructurado","imperativo","imperativo estructurado","imperativo orientado","negocios","orientado","orientado negocios","paradigma","paradigma estructurado","paradigma imperativo"],"articleSection":["Programacion"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/","url":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/","name":"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial - Ciencia y Tecnologia","isPartOf":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#website"},"datePublished":"2025-08-31T09:47:46+00:00","dateModified":"2025-08-31T10:02:51+00:00","breadcrumb":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cienciaytecnology.com\/wordpress\/%f0%9f%95%b0%ef%b8%8f-historia-de-la-programacion-de-los-algoritmos-mecanicos-a-la-era-de-la-inteligencia-artificial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/cienciaytecnology.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udd70\ufe0f Historia de la Programaci\u00f3n: De los Algoritmos Mec\u00e1nicos a la Era de la Inteligencia Artificial"}]},{"@type":"WebSite","@id":"https:\/\/cienciaytecnology.com\/wordpress\/#website","url":"https:\/\/cienciaytecnology.com\/wordpress\/","name":"Ciencia y Tecnologia","description":"","publisher":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cienciaytecnology.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/cienciaytecnology.com\/wordpress\/#\/schema\/person\/b76777e3c0d2d08ea263068461c90d4b","name":"david","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg","url":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg","contentUrl":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg","width":1024,"height":1024,"caption":"david"},"logo":{"@id":"https:\/\/cienciaytecnology.com\/wordpress\/wp-content\/uploads\/2024\/10\/a-person-programming-with-a-computer-screen-and-code-visible.jpg"},"sameAs":["https:\/\/cienciaytecnology.com\/wordpress"],"url":"https:\/\/cienciaytecnology.com\/wordpress\/author\/david\/"}]}},"_links":{"self":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/comments?post=473"}],"version-history":[{"count":1,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/473\/revisions"}],"predecessor-version":[{"id":474,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/posts\/473\/revisions\/474"}],"wp:attachment":[{"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/media?parent=473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/categories?post=473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cienciaytecnology.com\/wordpress\/wp-json\/wp\/v2\/tags?post=473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}