ENTRADAS

29 feb 2016

EL ABC DEL PROGRAMA INFORMÁTICO

¿Cómo funciona un programa informático?

En este artículo vamos a dar una somera introducción al funcionamiento de los programas informáticos que se ejecutan en cualquiera de nuestros teléfonos móviles, tabletas y en multitud de dispositivos con componentes electrónicos (coches, trenes, satélites, etc.).

Líneas de código de un programa informático

Líneas de código de un programa informático

¿Qué es un programa informático?

Un programa informático es una secuencia de instrucciones que trabaja con unos datos de entrada. Vamos a explicar esto un poco mejor: imagínate que tuvieras que describirle a alguien con muy pocos conocimientos de cocina los pasos para cocinar una paella. Seguramente escribirías un listado de ingredientes y después añadirías el conjunto de acciones que tiene que realizar para convertir esos ingredientes “crudos” en una sabrosa paella. Ese listado de acciones son las instrucciones de un programa y los alimentos a cocinar son los datos de entrada.

Como puedes ver, un programa informático no es más que un proceso que transforma información en otra información distinta, al igual que cocinar es un proceso en el que transformamos materia orgánica en otra más nutritiva ¡y comestible!

A los programas informáticos se les suele llamar software como contrapunto al hardware, la parte lógica (“soft”) frente a la parte física (“hard”).

¿Cómo funciona el software?

El equipo hardware (lo que llamamos comúnmente el “ordenador”) actúa como una “cocina” en la que están preparados todas las herramientas para realizar el proceso de conversión, sólo necesita saber qué hacer con ellas.

Nuestro equipo tiene muchos recursos disponibles: las funciones de cálculo del procesador, periféricos de entrada (el teclado, por ejemplo), de salida (la pantalla) y de entrada y salida (disco de almacenamiento). Hay muchas más pero supongo que ya te vas haciendo a la idea.

Para gobernar el uso de todos recursos de nuestro equipo, éste tiene un procesador que obedece una serie de instrucciones concretas. Podemos pensar que ese procesador es similar a un “cerebro” que le dice a cada una de las partes de nuestro computador qué acciones ha de realizar.

Estas instrucciones son lo que los ingenieros informáticos llamamos el “código máquina”. Este código máquina está compuesto por ceros o unos en exclusiva y es especial para cada tipo de procesador.

Los lenguajes de programación

Como era muy incómodo la gestión de código en ficheros de millones de secuencias de ceros y unos, los científicos de la computación inventaron otros programas que traducían lenguajes artificiales con unas reglas muy estrictas a código máquina de forma automática: los lenguajes de programación. Esta invención permitió que nos centráramos en la funcionalidad que se quería desarrollar.

Por otro lado, para ejecutar un código en un procesador concreto, sólo se necesitaba disponer de un compilador para una arquitectura de procesador concreta.

Pero claro, como el proceso de compilación era algo lento, algunos pensaron en realizar esta traducción “en directo”, conforme se ejecutase el programa. De esta forma surgieron los lenguajes interpretados que necesitaban de un programa intérprete para su ejecución.

phyton

Python es uno de los lenguajes interpretados más populares. Fuente http://python.org

¿Y qué papel tienen los sistemas operativos?

Un sistema de este tipo no es más que un programa que abstrae el hardware al resto de programas. Por esto se dice que los programas se ejecutan sobre él o que es una plataforma de ejecución de programas. Volviendo al símil de la cocina, un sistema operativo sería equivalente a tener el sofrito ya preparado para poder echárselo a la sartén de la paella, en vez de tenerlo que hacer.

Como puedes imaginar, a día de hoy, la mayoría de los programadores no hacen software que se ejecuta directamente en el procesador, sino que hacen software que depende de las herramientas y librerías de funciones del sistema operativo. De hecho, el objetivo de estos sistemas es facilitar el trabajo de desarrollo a los programadores.

De entre los sistemas operativos más usados están las distintas versiones de Microsoft Windows que domina el escritorio, MacOS de Apple y en el sector de los smartphones domina Android y le sigue iOS.

¿Y quién desarrolla el software?

Cualquiera puede programar, hay multitud de cursos en línea que enseñan cómo programar en un lenguaje concreto. De hecho, ahora mismo, la programación es una asignatura en la mayoría de las ingenierías y en muchos grados de ciencias.

Pero cuando la funcionalidad del programa empieza a crecer demasiado, hace falta poner orden entre los ficheros de código fuente y dentro de éstos a cada una de las funcionalidades que contienen. Además, el software no debe fallar, especialmente si es un software crítico de vehículos de transporte, dispositivos médicos, emergencias, etc.

En todas estas tarea entra en juego la Ingeniería del Software. Esta moderna disciplina se ocupa de la gestión, organización y dirección de grandes proyectos software. Poniendo especial énfasis en el aseguramiento de la calidad del software que usamos cada día, y por tanto, haciéndonos, la vida más fácil y segura.

programación Java

Ingeniera de software haciendo pruebas de unidad en código Java. Fuente Wikipedia

Autor: DIEGO ROMERO LÓPEZ

Ver más entradas del mismo autor

Si quieres participar en el blog como colaborador en alguna de las secciones, envíanos un mail a info@fdet.es 

Grupo FdeT

Compartir:
Facebooktwittergoogle_pluslinkedin

Leave a Reply

A %d blogueros les gusta esto: