1. Paradigma
1.1. "realizaciones científicas universalmente reconocidas que, durante cierto tiempo, proporcionan modelos de problemas y soluciones a una comunidad científica". Thomas S. Kuhn.
1.1.1. Paradigmas de programación
1.1.1.1. Existen muchos lenguajes de programación de alto nivel con sus diferentes versiones. Por esta razón, es difícil su tipificación, pero una clasificación muy extendida desde el punto de vista de su estilo, forma de codificación y la filosofía de su creación es la siguiente:
1.1.1.1.1. Lenguajes de programación imperativos.
1.1.1.1.2. Lenguajes de programación estructurados o procedurales.
1.1.1.1.3. Lenguajes de programación orientados a objetos.
1.1.1.1.4. Lenguajes de programación declarativos.
1.1.1.1.5. Lenguajes de programación multiparadigma
2. Generaciones de computadores
2.1. Primera generación (1946-1958)
2.1.1. Programación en lenguaje de máquina (el programa se escribe en código binario).
2.1.2. La tecnología electrónica era a base de bulbos o tubos de vacío y válvulas.
2.1.3. Desprendían bastante calor y tenían una vida relativamente corta.
2.1.4. Máquinas grandes y pesadas.
2.1.5. Alto consumo de energía. El voltaje de los tubos era de 300V y la posibilidad de fundirse era grande.
2.1.6. Almacenamiento de la información en cilindros magnéticos, donde se almacenan los datos y las instrucciones internas.
2.1.7. La reprogramación se hacia intercambiando el cableado.
2.1.8. Continúas fallas o interrupciones en la ejecución de los procesos.
2.1.9. Requerían sistemas auxiliares de aire acondicionado especial.
2.1.10. Alto costo.
2.1.11. Uso de tarjetas perforadas para suministrar datos de programas.
2.2. Segunda generación (1959-1964)
2.2.1. Comunicación mediante el uso de lenguajes de alto nivel.
2.2.2. Uso de los transistores construidos en base al uso de un trozo de semiconductor que reemplazaron a los bulbos en los circuitos de los computadores.
2.2.3. Tamaño más reducido que sus antecesoras de la primera generación.
2.2.4. Consumían menos electricidad y producían menos calor que sus antecesoras.
2.2.5. Aumento en la velocidad de las operaciones que ya no se mide en segundos sino en microsegundos.
2.2.6. Costo más bajo que el de sus antecesoras.
2.2.7. Almacenamiento en cintas y discos magnéticos.
2.2.8. Aparece gran cantidad de empresas dedicadas a la fabricación de los computadores.
2.2.9. Programación con cintas perforadas y otras por medio de un cableado en un tablero.
2.2.10. La transferencia de información de una computadora a otra requería un mínimo esfuerzo.
2.2.11. Uso de impresoras para visualizar los resultados obtenidos a partir de los cálculos hechos.
2.3. Tercera generación (1965-1971)
2.3.1. Circuitos integrados desarrollado en 1958 por Jack Kilbry.
2.3.2. Miniaturización y reunión de centenares de elementos en una placa de silicio o (chip).
2.3.3. Menor consumo de energía.
2.3.4. Reducción de espacio utilizado.
2.3.5. Aumento de abilidad y exibilidad.
2.3.6. Aumenta la capacidad de almacenamiento y se reduce el tiempo de ejecución.
2.3.7. Disponibilidad de gran cantidad de lenguajes de programación de alto nivel.
2.3.8. Compatibilidad para compartir software entre diversos equipos.
2.3.9. Construcción de computadoras en serie.
2.3.10. Teleproceso.
2.3.11. Multiprogramación.
2.3.12. Tiempo compartido.
2.3.13. Aparición de periféricos.
2.3.14. Aparición de aplicaciones.
2.3.15. Aparición del sistema operativo llamado OS.
2.3.16. Aparición de la mini computadora.
2.4. Cuarta generación (1972-1981)
2.4.1. Microprocesador: un único circuito integrado en el que se reúnen los elementos básicos de la máquina desarrollado por Intel Corporation (1971).
2.4.2. Se minimiza el tamaño de los circuitos.
2.4.3. Aumenta la capacidad de almacenamiento.
2.4.4. Reemplazo de las memorias con núcleos magnéticos, por las de chips de silicio.
2.4.5. Colocación de muchos componentes electrónicos en un sólo chip.
2.4.6. Se aumenta la velocidad de computo.
2.4.7. Reducción signicativa de los costos de los computadores.
2.4.8. Popularización del uso de los computadores.
2.4.9. Steve Woziniak y Steve Jobs inventan la primera microcomputadora de uso masivo, fundadores de APPLE (1976) .
2.4.10. Sistemas de tratamiento de base de datos.
2.4.11. Generalización de las aplicaciones.
2.4.12. Multiproceso.
2.5. Quinta generación (1982-1989)
2.5.1. Japón lanzó en 1983 el llamado"programa de la quinta generación de computadoras".
2.5.2. Traductores de lenguajes.
2.5.3. Creación de la primera supercomputadora con capacidad de proceso paralelo, diseñada por Seymouy Cray (1982).
2.5.4. Fuerte aplicación de la inteligencia articial: sistemas expertos, redes neuronales, teoría del caos, programación heurística, algoritmos genéticos.
2.5.5. Fibras ópticas.
2.5.6. Telecomunicaciones.
2.5.7. DVD.
2.5.8. Uso del ratón (mouse).
2.5.9. Robots con capacidad de movimiento.
2.5.10. Juegos.
2.5.11. Reconocimientos de formas tridimensionales, voz e imágenes.
2.6. Sexta generación (1990-actualidad)
2.6.1. Arquitecturas combinadas Paralelo / Vectorial.
2.6.2. Masicación del uso de redes de área mundial (Wide Area Network, WAN).
2.6.3. Comunicación a través de fibras ópticas y satélites.
2.6.4. 1997- El Pentium II
2.6.5. 1999- El Pentium III
2.6.6. 2001- El Pentium 4
2.6.7. AMD Phenom II
2.6.8. Intel Core i3, i5, i7, i9, i10
2.6.9. AMD Ryzen 5, 7, 9
2.6.10. Tablets y Smartphones.
3. Comunicación
3.1. Proceso mediante el cual se transmite la información.
3.1.1. Elementos
3.1.1.1. Fuente de información
3.1.1.1.1. Genera la información que será transmitida.
3.1.1.2. Mensaje
3.1.1.2.1. Dato o conjunto de datos a transmitir. Surge de la selección de posibilidades en un conjunto de combinaciones simbólicas posibles.
3.1.1.3. Emisor
3.1.1.3.1. Codifica el mensaje.
3.1.1.4. Señal
3.1.1.4.1. Signos o símbolos del sistema convencional.
3.1.1.5. Canal
3.1.1.5.1. Medio por el cual se transmite el mensaje codificado.
3.1.1.6. Fuente de ruido
3.1.1.6.1. Interferencia que distorsiona la señal y puede cambiar el mensaje.
3.1.1.7. Receptor
3.1.1.7.1. Decodica para poder ser recibido por el destino.
3.1.1.8. Destino
3.1.1.8.1. Ente al que se dirige el mensaje.
4. De programación
4.1. Se usan para expresarle a un computo de manera exacta osea sin ambigüedad el proceso que deben hacer.
4.1.1. Tipos
4.1.1.1. Bajo nivel
4.1.1.1.1. Es el único que entiende el hardware, consta de solo 2 elementos: el 0 y 1. A este lenguaje de le conoce como lenguaje binario.
4.1.1.2. Intermedio nivel o ensamblador
4.1.1.2.1. En un nivel superior al anterior, pero con el proposito de que sea más fácil de aprender por esto se usaron los mnemónicos (palabras cortas escritas con caracteres alfanuméricos(como ADD para sumar dos direcciones de memoria, MUL para multiplicar dos direcciones de memoria,etc...)). Los datos y/o direcciones son codi cados generalmente como números en un sistema hexadecimal.
4.1.1.3. Alto nivel
4.1.1.3.1. Están basados en una estructura gramatical para codificar estructuras de control y/o instrucciones. Cuentan con un conjunto de palabras reservadas (escritas en lenguaje natural). Éstos permiten el uso de símbolos aritméticos y relacionales para describir cálculos matemáticos, y generalmente representan las cantidades numéricas mediante sistema decimal.
4.1.1.4. Muy alto nivel o declarativo
4.1.1.4.1. Se trata esencialmente de lenguajes taquigráficos que usan macroinstrucciones (se escribe más con menos). Cuando una operación que requiere de cientos de líneas en un lenguaje de alto nivel, en un lenguaje de muy alto nivel se requiere típicamente de unas cinco a diez líneas. Entre las características de estos lenguajes está el no uso de procedimientos. En los lenguajes de procedimientos se dice con detalle a la computadora las tareas a realizarse. En estos lenguajes se define solamente lo que se necesita computar, es decir, se enfatizan el qué hacer, en lugar del cómo hacerlo. Para esto, el compilador se encarga de los detalles relativos a cómo obtener el conjunto completo o parcial, y correcto de las soluciones.
4.1.1.5. Naturales
4.1.1.5.1. Son los lenguajes más parecidos a los lenguajes humanos, están muy adornados y son poco prácticos, sin embargo son muy avanzados y fáciles de entender.
5. Elementos
5.1. Léxico
5.1.1. Lo conforman las unidades mínimas con signi cado completo. A cada uno de estas unidades mínimas con significado se le conoce como lexema.
5.2. Sintáxis
5.2.1. Explica la forma en que se pueden construir frases en el lenguaje a partir del léxico.
5.3. Semántica
5.3.1. Define la forma en que se le asocia signicado (sentido) a las frases construidas mediante la gramática.