Está en la página 1de 6

Tec. Carlos A. Perren | idux.net@gmail.

com

ADIMRA - CURSO INTRODUCTORIO


FUNDAMENTOS PROGRAMACIÓN

SEMANA 1

DEFINICIONES, INFORMÁTICA Y PROGRAMACIÓN

Para brindar una referencia rápida y acotada, el término Informática deviene de


“Información Automática” y se define básicamente como la “Ciencia de la
Información”, o la “Ciencia de la Computación” como muchos autores la identifican.
Engloba aspectos de disciplinas variadas como la Matemática, la Lógica y la Ingeniería,
y se centra fundamentalmente en los procesos de cálculo, no en la parte física
(hardware) de los equipos. En otras palabras, la Informática hace uso de la capacidad
de computadoras y otros equipos para realizar el procesamiento automático de datos y
obtener información a partir de ellos.

Como sabemos, desde hace muchos años -y más en la actualidad- la información juega
un papel preponderante en el desarrollo de todo tipo de actividades (personales, de
negocio, industriales, médicas, etc). A través del procesamiento de paquetes de datos
crudos (es decir, variables puntuales que aún no tienen valor específico), la Informática
logra generar información con significado y utilidad para la toma de decisiones. Gracias
a la enorme capacidad de procesamiento disponible hoy, permite analizar volúmenes
increíblemente grandes de datos, que no podrían ser manejados bajo ningún concepto
de forma manual por un humano.

Muchas veces los términos Informática y Programación se utilizan como sinónimos,


pero no lo son. La Informática entonces se entiende como la disciplina general, el
conjunto general de conocimientos y técnicas para el tratamiento de datos; mientras
que la Programación es una de las herramientas que emplea para interactuar con
computadoras y otros equipos.
Tec. Carlos A. Perren | idux.net@gmail.com

La Programación en Informática, es el proceso a través del cual se envían


“instrucciones” a una computadora (computadora engloba en realidad a cualquier
dispositivo programable), para que ejecute una serie de acciones de manera
automática y organizada. Parte de lo que se denomina un “algoritmo”, que es
codificado en un determinado “lenguaje”, para obtener un “código fuente”. Este código
es posteriormente “compilado” o “interpretado” para obtener un código final que
puede ser ejecutado en el dispositivo.

APLICACIONES DE LA INFORMÁTICA

Como podemos suponer, el campo de aplicación de la Informática es ilimitado. Hace


muchos años, cuando esta ciencia comenzó a masificarse, su uso estaba más
encuadrado en rubros específicos, como por ejemplo cálculos científicos, estadísticos,
aplicaciones ligadas solo a grandes empresas o gobiernos.

El desarrollo tecnológico a través de las décadas, posibilitó que las TICs (Tecnologías de
la Información y la Comunicación) se insertaran en todos los niveles, desde grandes a
pequeñas empresas, cambiando por completo los tipos y formas de trabajo, como
también nuestra vida personal.

La Informática propició enormes cambios en muchos sectores. Solo para mencionar


algunos notables, podemos citar Comunicaciones, Educación, Comercio, Industria,
Arquitectura, Medicina o Transporte. En la actualidad, vivimos un proceso dinámico de
cambio muy interesante -la Industria 4.0- una nueva revolución industrial apadrinada
por los datos, que genera grandes cambios en los conceptos y formas de producción de
bienes y servicios, haciendo un uso intensivo de las TICs en los ámbitos productivos,
para lograr cada vez mayor adaptabilidad y eficiencia en la generación de productos.

Categorizando respecto a los distintos rubros actuales de programación, podemos listar


una gran cantidad de opciones, entre las cuales destacar las siguientes:

● Web
● Móvil
● Escritorio
● Domótica
● Automatización Industrial y Robótica
● Seguridad
● Inteligencia Artificial (IA, o AI en inglés por Artificial Intelligence)
Tec. Carlos A. Perren | idux.net@gmail.com

HARDWARE Y SOFTWARE

Estos son muy probablemente los dos términos más conocidos a nivel general sobre
computadoras.

El Hardware hace referencia a todo lo físico relacionado al sistema, lo tangible, lo que


se puede tocar. Ejemplos clásicos son: un gabinete que contiene la placa madre de un
dispositivo junto a los elementos esenciales (disco para almacenamiento permanente,
memoria temporal, etc, lo que llamamos habitualmente una CPU), un monitor, un
teclado, cables, etc. En resumen, el hardware comprende una serie de dispositivos
electrónicos conectados entre sí, para sumar funcionalidades y operar como unidad.

El Software por su lado, comprende todo lo intangible, la parte “inteligente” de


instrucciones y comandos que permite indicarle al hardware qué hacer. Es lo que
generamos a través del proceso de Programación que mencionamos anteriormente. El
Software permite lograr flexibilidad y aprovechar un mismo Hardware para realizar
diferentes tareas, lo cual es muy útil y cómodo.

Por supuesto existen variados tipos de Software, pero nos vamos a concentrar en una
clasificación muy sencilla de 3 capas:

● Sistema.

● Programación.

● Aplicación.

El Software de sistema integra a todos los programas responsables de controlar el


funcionamiento base del hardware (por ejemplo, la comunicación entre la CPU y el
monitor, entre la CPU y un disco rígido, etc). Estos programas no son manejados por el
usuario de forma directa, sino que operan de fondo como una primera interfaz hacia el
Hardware, y garantizan la gestión de los procesos generales, como leer un dato desde
una entrada (teclado, mouse, etc), sacarlo hacia una salida (monitor, impresora),
copiarlo, borrarlo o modificarlo, administrando los recursos disponibles.

En términos generales, es lo que conocemos como Sistema Operativo (OS en Inglés


por Operative System o SO en castellano), como el archiconocido Windows, Linux, iOS,
Tec. Carlos A. Perren | idux.net@gmail.com

Android y otros no tan conocidos para el usuario general como distintos tipos de
sistemas Unix, Solaris, BSD, etc, o sistemas más específicos para dispositivos puntuales
como los microcontrolados (FreeRTOS, Zephyr, NuttX).

El Software de Programación es el que agrupa a toda una serie de herramientas


ligadas justamente a la generación de nuevo Software. Como ya hemos mencionado, al
programar, lo que hacemos es básicamente traducir algoritmos y lógica a un lenguaje
entendible por el dispositivo que deseamos utilizar, lo que permitirá luego que este
dispositivo ejecute de forma automática una serie de tareas por nosotros. Estas
herramientas comprenden:

- IDEs y editores de código.

- Compiladores e intérpretes (se repasará luego compilado vs interpretado).

- Depuradores.

- Linkers (enlazadores).

- Bibliotecas (librerías).

- Generadores de GUIs (Interfaces Gráficas de Usuario).

Por último, el Software de Aplicación engloba a todo el resto de programas instalados,


los cuales son ejecutados bajo supervisión del Sistema Operativo, y permiten explotar
el real potencial del Hardware, es decir, utilizar sus recursos adaptados a la necesidad
de procesamiento específica que tengamos en un momento dado. De esta forma,
como ya hemos visto, podemos utilizar un mismo Hardware para diferentes propósitos.
Algunos ejemplos:

- Navegadores web, correo electrónico, redes sociales, etc.

- Programas de Ofimática (Informática de Oficina, es decir, Procesador de Textos,


Planilla de Cálculo, etc).

- Programas de Diseño Asistido (CAD, CAM, CAE).

- Programas Educativos o de Entretenimiento.

- Juegos.
Tec. Carlos A. Perren | idux.net@gmail.com

HARDWARE BÁSICO, MICROPROCESADORES VS MICROCONTROLADORES Y OTROS

Habitualmente, una computadora comienza con lo que se denomina “placa madre”


(motherboard), el circuito principal que concentra la mayor parte de las conexiones. A
esta placa madre se conecta el procesador principal y eventualmente otros
procesadores secundarios (por ejemplo un co-procesador matemático, un procesador
de video, etc). También se conectan los dispositivos de almacenamiento permanente
como discos rígidos o adaptadores para pendrives o micro sd, los dispositivos para
almacenamiento temporal (lo que habitualmente se conoce como memoria RAM) y
diversas interfaces para poder interactuar con los “periféricos” como teclado, mouse,
tableta digitalizadora, monitor, impresora, etc, es decir, la placa madre es una placa
concentradora a la cual se van adicionando los distintos elementos que necesitamos
interconectar.

Si bien esta organización básica se respeta en la mayoría de los casos, lógicamente


existen variantes de acuerdo al tipo de computadora o dispositivo. Un teléfono
inteligente (Smartphone) por ejemplo, cuenta con una placa principal mucho más
compacta y con diversos elementos pre integrados, a efectos de lograr un producto
más pequeño y manejable, similar a lo que ocurre en una tablet o netbook.

Respecto a las unidades de cálculo en sí, existen distintos tipos que a veces se
confunden en la jerga general: microprocesadores, microcontroladores, socs, fpgas.

Una computadora de uso general (PC de escritorio, notebook, netbook por ejemplo),
utiliza normalmente un microprocesador. El microprocesador es en esencia un “cerebro
de cálculo” que lleva adelante la mayor parte de las operaciones con los datos. No
cuenta por sí mismo con ninguna capacidad de almacenamiento, ni permanente ni
temporal, básicamente procesa datos, y es parte de un total general organizado como
lo mencionamos párrafos arriba, y manejado por un Sistema Operativo que coordina
todas las operaciones esenciales.

Un microcontrolador por su lado, también es un dispositivo programable pero con


características más autónomas, integrando alguna capacidad de memoria temporal y
permanente, y concebido para ejecutar en un momento dado un código específico, sin
necesidad de una capa previa manejada por un Sistema Operativo. Normalmente un
Tec. Carlos A. Perren | idux.net@gmail.com

microcontrolador tiene menor rendimiento en comparación con un microprocesador,


ya que no está pensado para trabajar bajo una estructura burocrática como la de un
SO, sino de forma más directa para una tarea específica en un momento dado.

Obviamente la idea es establecer simplemente una referencia general, desde ya existen


muchos tipos de microprocesadores y microcontroladores con características muy
variadas, siendo necesario evaluar cada caso en particular para tener un detalle más
completo. A lo largo de los años se han desarrollado también diferentes alternativas,
como Sistemas Operativos de Tiempo Real, que hoy son utilizados por algunos
microcontroladores, y cambian en parte el concepto típico de trabajo al que hemos
estado habituados durante muchos años en ese tipo de dispositivos, pero en resumen
podemos mantener esa idea; una computadora de propósito general suele utilizar un
microprocesador y ser manejada por un SO, mientras que dispositivos diseñados para
tareas más específicas, suelen aplicar un microcontrolador, ya sea ejecutando un
programa particular de manera directa, o a lo sumo a través de un SO de tiempo real.

Otras variantes como los sistemas SOC o las FPGA, equipan también a gran cantidad de
dispositivos electrónicos, como sucede con los SOC en el caso de los teléfonos
inteligentes, permitiendo diseños más compactos e integrados.

También podría gustarte