Conceptos básicos de la programación de computadores

 Los computadores y los humanos

Hasta la saciedad se ha repetido el impacto que han tenido los computadores en la sociedad actual. Pocos profesionales pueden hoy en día imaginar su forma de trabajar y algo que apenas unas décadas atrás era impensable hoy es cosa habitual,envío de mensajes a costo casi cero y una infinidad de actividades de ocio, pero no es lo único, el rápido desarrollo de la informática nos ha deslumbrado a todos por la facilidad de adquirir y compartir conocimientos, tanto es que que para muchos son los computadores y por su puesto Internet la piedra angular de nuestra sociedad de la información.

Image courtesy of nokhoog_buchachon - FreeDigitalPhotos.net


Como profesional en el área de la informática y profesor de universidad, de cuando en cuando me encuentro con personas que maravillados por las capacidades de los computadores, se sientan frente a una pantalla esperar que esta les presente de forma milagrosa lo que requieren o desean, y que en muchos casos ni si quiera ellos mismos saben que es. Algunos otros realizan combinaciones casi que aleatorias para obtener los resultados esperados sin ningún procedimiento definido a priori. Si bien es cierto que los computadores, gracias a los desarrollos de software, tanto en un caso como en el otro permiten hacer que cualquier persona pueda manejar el computador con un mínimo de destreza.

 ¿Qué es un lenguaje de programación de computadores?

Antes de entrar en la definición de que es un lenguaje de programación es necesario describir como funciona un computador. En términos generales un computador es un conjunto de circuitos electrónicos dispuestos de tal manera que al recibir un impuso eléctrico es capaz de entregar un resultado en consecuente, esto permite que, sabiendo que se ingresa también se pueda saber que se va a recibir, es decir, los resultados son deterministicos. Esta certeza permite que se pueda realizar sumas, multiplicaciones y un sin fin de etcéteras, pero claro, los computadores no hubieran llegado a ser lo que son ni hubieran tenido el impacto que tienen si a cada ser humano le hubiera tocado interaccionar con los circuitos integrados directamente y así mismo interpretar los resultados entregados por éstos. 
Justamente para facilitar la vida a las personas, los ingenieros y científicos empezaron a construir rutinas que permitiera ocultar toda la complejidad de manejar un computador, sin embargo, la construcción de dichas rutinas con el tiempo también se fue evidenciando tedioso, complicado y hasta en algunos casos poco practico. De todo esto surge la idea de poder escribir rutinas, comandos y programas para interaccionar con el computador de la manera más parecida a como una persona se comunica con otra.

Entonces, un lenguaje de programación no es otra cosa más que un "idioma" que permite a una persona transmitir de manera consistente sus intenciones a un computador, de forma que tanto el uno como el otro se entiendan mutuamente. 

Como todo idioma, cada lenguaje de programación cuenta con sus símbolos o palabras, así mismo como una sintaxis propia. Palabras y sintaxis definidos de tal manera que permiten realizar la cantidad de tareas que realizan hoy los computadores.

Por ejemplo, si se quisiera sumar 2 números mediante un lenguaje de programación como el consagrado C bastara con hacer lo siguiente:

int a = 2 + 1; 
Donde: int significa que "a" es un número y "a" es una variable donde se pondrá el resultado de la operación.

¿Muy simple?, pues es dicha simplicidad y similitud con el lenguaje natural lo que buscan los lenguajes de programación. Claro no está de más decir que no todos los lenguajes han logrado tal simplicidad.

 Breve historia de los lenguajes de programación

Pensé en escribir un contenido significativo para esto son embargo creo que no puedo aportar más que lo que ya aporta la bien ponderada wikipedia. Así pues el siguiente enlace presenta de forma muy clara la evolución que han tenido los lenguajes de programación.

http://es.wikipedia.org/wiki/Historia_de_los_lenguajes_de_programación

Paradigmas de programación

La programación es la forma en que se conoce la tarea de escribir de manera consistente y "ordenada, las instrucciones que seguirá el computador. por tal razón, la programación es una disciplina que permite el tratamiento y procesamiento de la información. 


Durante la evolución de los lenguajes de programación y amedida que se pretendia resolver más problemas de la vida diaria y optimizar las tareas hechas por los usuarios de los computadores, se fueron gestando diferentes maneras de programar, pero esto no se refiere a la lógica en sí misma sino a la forma en que el leguaje procesa las instrucciones que realiza e interpreta los datos que procesa. En la actualidad uno de los paradigmas más difundidos es la programación orientada a objetos (POO), que busca representar una realidad y las caracteristicas de los elementos que la componen de forma muy similar a como una persona podría interpretar dicha realidad.
http://es.wikipedia.org/wiki/Paradigma_de_programación


Algoritmia

Para todo ingeniero y para muchos otros profesionales es fundamental el conocimiento y el desarrollo de habilidades en la lógica, los algoritmos y las estructuras de datos.

La algoritmia es la ciencia que estudia la realización de algoritmos y un algoritmo es un conjunto de instrucciones o pasos que se deben seguir para que a partir de un punto inicial se obtenga un resultado. Aunque el termino puede sonar intimidante o extraño para algunos, constantemente se hace uso de algoritmos en la vida diaria, por ejemplo la receta para un plato, los pasos para enviar un correo electrónico o sin ir más lejos el procedimiento para que una persona se vista en las mañanas, todo eso que requiere tener unos pasos que seguidos de forma ordenada permitirán tener un resultado. 

Cualquiera podrá pensar, - Yo me visto en un orden diferente a mi padre - o - dependiendo del día de la semana lo realizo en un orden o en otro - Pues de esta misma forma un mismo problema puede ser resuelto de diversas formas, esto hace que los algoritmos definidos para realizar una tarea puedan ser más o menos extensos y más o menos complicados. Es aquí donde el estudio y practica consciente de la algoritmia puede permitir a cualquier persona, ya no solo a programadores a optimizar la forma en que realizan sus actividades.

Por ejemplo, piense usted y escriba que actividades realiza desde que se despierta hasta que sale de su casa en las mañanas. ¿Está seguro de que ha escrito todas? 

Cuando se programa un computador es importante darle todos los pasos que debe realizar pues Un computador no hace nada que no se le ordene.



 Libro complemento

Como complemento a lo descrito en esta entrada les dejo un libro que permitirá que se introduzcan más a fondo en los fundamentos de programación de computadores.



No hay comentarios:

Publicar un comentario

Programación Orientada a Objetos (POO - en inglés OOP)

Image courtesy of digitalart - FreeDigitalPhotos.net La programación orientada a objetos es un paradigma o un modelo de programación qu...