Está en la página 1de 30

CAPITULO 1

INTRODUCCIÓN A LA PROGRAMACIÓN

Por:
Marcos Andrade Reyes
Ingeniero – Docente PROGRAMACIÓN
Introducción a la programación

Conocer sobre la importancia del aprendizaje de una herramienta de


programación dentro de la carrera de Tecnología Superior en Electrónica,
estado del arte y tendencias.
¿Qué es programación?

• Conjunto de pasos de una máquina para resolver un problema


Un lenguaje de programación es
una notación sistemática mediante • Es necesario conocer un conjunto de comandos que pueda
comprender y ejecutar
la cual describimos procesos • Se debe abstraer de lo que realmente puede hacer un computador
computacionales a otros. (tareas primitivas)
INICIOS DE LA INFORMÁTICA
…como nacieron los computadores y los lenguajes de programación?
Evolución de los lenguajes de programación

Inicios de la historia moderna

La importancia del trabajo de científicos del Siglo XIX y principios del


Siglo XX, interesados en las máquinas para la computación
Charles Babbage

Nacim: 26/Dic/1791 – Londres


Fallec : 18/Oct/1871 – Londres

Grado y Maestría en Artes

Matemático, Informático teórico,


Inventor, Economista, Filósofo, MÁQUINA DE DIFERENCIAS MÁQUINA ANALÍTICA
Profesor Universitario, Ingeniero y
Astrónomo Uno se basó en la teoría de las diferencias Encarnaba muchos de los principios de una
finitas computadora digital moderna, su arquitectura
era notablemente similar a las PC actuales.

(1820 - 1850)
Ada Lovelace

Nacim: 10/Dic/1815 – Londres


Fallec : 27/Nov/1852 – Londres

Estudió Matemáticas y Ciencias,


uno de sus tutores fue el
matemático y lógico Augustus De
Morgan.
PROGRAMA DESARROLLADO POR ADA
Matemática, Escritora LOVELACE
Diagrama de un algoritmo para el motor analítico para el
cálculo de números de Bernoulli, tomado del boceto del
motor analítico inventado por Charles Babbage
1930 – 1940, la década creativa

Planlkalkul, es el primer lenguaje


Konrad algorítmico. Desarrolló la primera
computadora binaria del mundo (Z1), la
Zuse's Z4 sobrevivió la II guerra mundial.

Se puede considerar al cálculo lambda como


uno de los lenguajes universales de
programación más minimalistas. Consiste en Alonzo
una regla de transformación simple
(sustitución de variables) y un esquema
Church's
simple para definir funciones.

Una de sus principales contribuciones fue el


Alan criptoanálisis de la máquina Enigma que permitió
decodificar mensajes de las fuerzas alemanas,
Turing's dicho por Dwight D. Eisenhower esto fue decisivo
para la victoria aliada

Ideó un dispositivo
electromecánico de
computación que podría
Howard
resolver ecuaciones Aiken's
diferenciales (ASCC) nombrado
como Harvard Mark I

Trabajó en el Proyecto Manhattan, el desarrollo de la bomba atómica de Estados


Von Unidos durante la Segunda Guerra Mundial El trabajo necesitaba realizar grandes
cálculos y el desarrollo de ordenadores fue indispensable. Von Neumann contribuyó
Neumann's enormemente al desarrollo de los computadores y posibilitó el desarrollo de
computadoras cuyos programas se almacenaban en memoria
Grace Hooper

Nacim: 09/Dic/1906 – NY - EEUU


Fallec : 01/Ene/1992 – Arl - EEUU

Estudió Matemáticas y Física


PHD
UNIVAC
Matemática, Oficial Naval, Informática
Teórica, Profesora de Universidad, En 1949, Hopper se convirtió en empleada de Eckert–Mauchly
Programadora y Física Computer Corporation como matemática senior y se unió al
equipo desarrollador del UNIVAC I. Hopper también fue
…en 1952 creó el primer compilador
directora de desarrollo de programación automática para
Remington Rand. El UNIVAC I fue conocido como el primer
gran ordenador lanzado al mercado en 1950, siendo más
competitivo procesando información que el Mark I.
1960, la década tormentosa

A principios de la década de 1960, cuando se


desarrolló la noción de un compilador y se
resolvieron muchos problemas de traducción,
se produjo un crecimiento exponencial en
nuevos lenguajes de programación. Según Jean
Sammet, cronista de este período, "se
desarrollaron más de doscientas lenguas
durante la siguiente década, pero sólo trece de
ellas llegaron a ser significativas en términos de
concepto o uso". Esta explosión de lenguajes y
dialectos llevó al ahora famoso lenguaje de
programación Tower of Babel, que apareció en
la portada del libro de Sammet.
…. El punto de quiebre

• En 1959, el Departamento de Defensa de los Estados Unidos comenzó a percibir


la necesidad de un solo idioma que fuera utilizado por todas las ramas militares.
Convocaron a un grupo de profesionales del gobierno, la industria y consultores
privados para diseñar dicho lenguaje. A finales de 1959, se diseñó y nombró el
lenguaje común orientado a negocios (COmmon Business Oriented Language) o
COBOL.

• A finales de 1960, RCA y Remington-Rand-Univac produjeron compiladores


COBOL en funcionamiento. La cooperación entre el gobierno y la industria
demostró ser una fuerza poderosa que favoreció la aceptación de COBOL por
parte de la comunidad de usuarios de computadoras. Durante los años 60 y 70
se creía (aunque no estaba probado) que la mayoría de los programas escritos
en un lenguaje de nivel superior se realizaban en COBOL.
HARDWARE vs SOFTWARE
…programar, para qué?,
…donde están y para que se usan los lenguajes de programación?
ARQUITECTURA DE UN COMPUTADOR
ARQUITECTURA DE UN MICROCONTROLADOR
ARQUITECTURA DE UN MICROCONTROLADOR
ARQUITECTURA DE UN MICROCONTROLADOR
INSTRUCCIONES DE UN MICROCONTROLADOR
INSTRUCCIONES DE UN MICROCONTROLADOR
COMPUTADORES
INDUSTRIALES / PERSONALES

• Útiles para el desarrollo de sistemas de


adquisición de datos, emulación de
sistemas de medición, comunicaciones,
automatización industrial, etc.

• Útiles para el desarrollo de sistemas


informáticos empresariales, de
automatización de procesos, gestión de
bases de datos, simulación, diseño, etc.
CONTROLADORES LÓGICOS PROGRAMABLES
AUTOMATIZACIÓN INDUSTRIAL

• Útiles para la automatización de máquinas


y procesos industriales, funciones y
ambientes de programación especializada
o dedicada según el fabricante.
DISPOSITIVOS ELECTRÓNICOS PROGRAMABLES
DISEÑO DE CIRCUITOS Y SISTEMAS DIGITALES

• Útiles para el diseño de sistemas digitales robustos,


inteligencia artificial, depth learning, machine learning,
etc. La tendencia actual es el desarrollo conjunto con
DE10 Nano (FPGA + ARM)
FPGAs en un solo dispositivo electrónico.

• Útiles para prototipado rápido de soluciones basadas en


el uso de librerías de código abierto, gran funcionalidad
para sistemas de mediana o baja complejidad.

Arduino
Raspberry

• Útiles para el desarrollo de tecnología y diseño propio,


bajo costo de implementación, mayor necesidad de
desarrollo de ingenieria.

Microcontroladores
EQUIPOS DE PROTOTIPADO ESPECIALIZADO
DISEÑO DE SOLUCIONES PARA TELEFONÍA CELULAR

• Útiles para el desarrollo soluciones dedicadas a


la telefonía celular.
• Mercado amplio en el desarrollo de Apps
LENGUAJES
…qué tipos de lenguajes de programación existen?
Tipos de lenguajes de programación

El mundo de la programación propone múltiples herramientas


• El escenario donde se ejecutará el programa
• El tipo de dato o transacción que va a operar

COMPILADO INTERPRETADO INTERMEDIO


Requiere de un programa Se compila el código
Convierte el código a
que lea la instrucción del fuente inermedio y este
binarios que lee el código en tiempo real y la último e ejecuta en una
sistema operativo ejecute máquina virtual
Lenguajes compilados

ADA
• Los lenguajes compilados son aquellos
ALGOL lenguajes de alto nivel que requieren de un
compilador para traducirlo y crear la parte
BASIC
ejecutable que pueda comprender la
C, C++ máquina objetivo donde va a correr.
COBOL • Los lenguajes de alto nivel permiten escribir
instrucciones en un idioma muy parecido al
FORTRAN inglés así como hacer uso de notaciones
PASCAL matemáticas comunes.
Lenguajes compilados

C Sharp

C++

GO Fortran
Lenguajes interpretados

JavaScript • Los lenguajes interpretados son aquellos


lenguajes de programación también de alto
Phyton nivel en donde el código fuente debe ser
traducido a un lenguaje que la máquina
Ruby
entienda y pueda realizar, no crean un
Forth archivo externo.
Matlab • El interprete traduce en tiempo real
(convierte a lenguaje de máquina) en el
PHP instante de ejecución (no es compilado
R previamente)
Lenguajes interpretados

Javascript

Phyton

Ruby
Lenguajes intermedios

• El término proviene del uso de compiladores, donde


Register Transfer el código fuente de un programa es traducido a un
Logic (RTL) modo más apropiado para transformaciones de
mejora de código antes de generar el código objeto o
código de máquina para una máquina determinada.
Generic • El Common Intermediate Language de Microsoft es
un lenguaje intermedio diseñado para ser compartido
por todos los compiladores del .NET Framework antes
de ser generado el código máquina.
SSA, GIMPLE • El GNU Compiler Collection (GCC) usa varios lenguajes
intermedios internamente para simplificar la
portabilidad.
Lenguajes intermedios

Java

Bytecode
Kotlin

También podría gustarte