La programación
En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones de informática y videojuegos. En este sentido, es el proceso por el cual una persona desarrolla un programa, valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, como C++, Java y Phyton, entre muchos otros) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguje de maquina, que puede "comprender" el microprocesador.
Para crear un programación y que la computadora lo interprete y ejecute, las instrucciones deben escribirse en un lenguaje de programación.
El lenguaje entendido por una computadora se conoce como código de máquina. Consiste en secuencias de instrucciones básicas que el procesador reconoce, codificadas como cadenas de números 1 y 0 (sistema binario). En los primeros tiempos de la computación se programaba directamente en código máquina. Escribir programas así resultaba demasiado complicado, también era difícil entenderlos y mantenerlos una vez escritos. Con el tiempo, se fueron desarrollando herramientas para facilitar el trabajo.
Los primeros científicos que trabajaron en el área decidieron reemplazar las secuencias de unos y ceros por mnemónico, que son abreviaturas en inglés de la función que cumple una instrucción de procesador. Por ejemplo, para sumar se podría usar la letra A de la palabra inglesa add (añadir). Crearon así una familia de lenguajes de mayor nivel, que se conocen como lenguaje ensamblador o simplemente ensamblador (en inglés, assembly). Con el tiempo los ensambladores incorporaron facilidades adicionales, pero siempre manteniendo una correspondencia directa con las instrucciones de procesador. A nivel conceptual, entonces, programar en ensamblador es muy similar a hacerlo en lenguaje máquina, solo que de una forma más amigable.
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, el lenguaje ensamblador fue mostrando limitaciones. Para hacer un programa había que conocer en detalle el funcionamiento de la computadora donde se iba a ejecutar, qué instrucciones proveía y cómo emplearlas. A veces las instrucciones eran demasiado básicas, por ejemplo podía haber una para sumar dos números pero no para multiplicar, y entonces era necesario programar un algoritmo que realizara la multiplicación con base en instrucciones más básicas. Otras veces, la forma de emplear las instrucciones era engorrosa. Además, si se usaba otro modelo de computadora, en muchos casos había que reescribir el programa con otras instrucciones. El siguiente paso fue crear los lenguajes de alto nivel.
Una vez que se termina de escribir un programa, es necesario de alguna forma traducirlo a lenguaje máquina, que es lo único que entiende el procesador. Esta tarea es automática, por medio de un programa adicional que toma el código escrito y lo procesa. Hay distintos enfoques para este procesamiento. El enfoque clásico se llama compilación: el programa toma el código en un lenguaje y genera código en el otro; al programa traductor se lo llama compilador. En general se habla de compilación y compiladores cuando el lenguaje de origen es de alto nivel; si la traducción es desde lenguaje ensamblador, se llama ensamblado y el programa se llama ensamblador (hay que distinguir el lenguaje ensamblador del programa ensamblador; en inglés es más claro, son assembly language y assembler respectivamente).3Generalmente existe una fase posterior a la compilación denominada enlace o enlazado (linking en inglés). Los programas pueden escribirse en partes separadas y además pueden usar recursos provistos por bibliotecas. El enlazado, realizado por un programa llamado enlazador, combina todos los componentes y así genera un programa ejecutable completo.
En algunos lenguajes de programación, puede usarse un enfoque diferente que no requiera compilación y enlace: un programa llamado interprete va leyendo el código y realizando en el momento las acciones que haría el programa. Se evita generar código separado y la experiencia es que se está ejecutando el código en el lenguaje de alto nivel, a pesar de que el procesador no lo entienda de forma nativa.
Objetivos de la programación
La programación debe perseguir la obtención de programas de calidad. Para ello se establece una serie de factores que determinan la calidad de un programa. Algunos de los factores de calidad más importantes son los siguientes:
- Correctitud. Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo. Para determinar si un programa hace lo que debe, es muy importante especificar claramente qué debe hacer el programa antes de su desarrollo y, una vez acabado, compararlo con lo que realmente hace. Al verificar este comportamiento está cumpliendo dicho objetivo.
- Claridad. Es muy importante que el programa sea lo más claro y legible posible, para facilitar tanto su desarrollo como su posterior mantenimiento. Al elaborar un programa se debe intentar que su estructura sea sencilla y coherente, así como cuidar el estilo de programación. De esta forma se ve facilitado el trabajo del programador, tanto en la fase de creación como en las fases posteriores de corrección de errores, ampliaciones, modificaciones, etc. Fases que pueden ser realizadas incluso por otro programador, con lo cual la claridad es aún más necesaria para que otros puedan continuar el trabajo fácilmente. Algunos programadores llegan incluso a utilizar arte ASCII para delimitar secciones de código; una práctica común es realizar aclaraciones en el mismo código fuente utilizando líneas de comentarios. Contrariamente, algunos programadores realizan acciones que tienden a introducir confusión para impedir un análisis cómodo a otros programadores, recurren al uso de código ofuscado.
- Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se suele hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido creado y a la cantidad de memoria que necesita, pero hay otros recursos que también pueden ser de consideración para mejorar la eficiencia de un programa, dependiendo de su naturaleza (espacio en disco que utiliza, tráfico en la red que genera, etc.).
- Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea harware o software, diferente a aquella en la que se desarrolló. La portabilidad es una característica muy deseable para un programa, ya que permite, por ejemplo, a un programa que se ha elaborado para el sistema GNU/Linux que también pueda ejecutarse en la familia de sistemas operativos Windows. Consecuentemente el programa puede llegar a más usuarios.
Pseudocódigo
Antes de entrar de lleno en el establecimiento del significado del término pseudocódigo, se hace necesario que procedamos a determinar el origen etimológico de las dos palabras que le dan forma:
-Pseudo deriva del griego, de “seudo”, que puede traducirse como “falso”.
-Código, por su parte, emana del latín. En concreto, de “codices, codex” que se empleaban para referirse a los documentos o libros donde los romanos tenían escritas todas y cada una de sus leyes.
Nuestra lengua apela a diversos elementos compositivos para formar palabras. Uno de los más habituales es pseudo o seudo, que permite referirse a que algo no es original, sino que es falso o una imitación.
Un código, por su parte, es una serie de símbolos que forman parte de un sistema y que tienen un determinado valor ya asignado. Los símbolos que se incluyen en un código se combinan respetando reglas y permiten transmitir un mensaje.
Estas definiciones nos permiten comprender qué es un pseudocódigo, una noción que se emplea en el ámbito de la informatica. Se trata de un falso lenguaje, ya que apela a las normas de estructura de un lenguaje de programación aunque se encuentra desarrollado para que pueda ser leído por un ser humano y no interpretado por una máquina.
El pseudocódigo, en este sentido, esta considerado como una descripción de un algoritmo que resulta independiente de otros lenguajes de programación. Para que una persona pueda leer e interpretar el código en cuestión, se excluyen diversos datos que no son clave para su entendimiento.
Un pseudocódigo, por lo tanto, se emplea cuando se pretende describir un algoritmo sin la necesidad de difundir cuáles son sus principios básicos. De esta manera, un ser humano encontrará mayores facilidades para comprender el mensaje, a diferencia de lo que ocurriría si estuviese frente a un lenguaje de programación real.
Proceso de creación
A la hora de llevar a cabo la creación de un pseudocódigo, se hace necesario que su estructura se encuentre compuesta de las siguientes partes:
-Una cabecera, que, a su vez, se debe componer de cinco áreas diferenciadas como son el programa, el módulo, los tipos de datos, las constantes y las variables.
-El cuerpo, que se dividirá en inicio, instrucciones y fin.
Las características de un pseudocódigo
Además de todo lo expuesto, se hace importante establecer otra serie de datos de interés relativos a cualquier pseudocódigo:
-Se debe poder ejecutar en cualquier ordenador.
-No tiene nada que ver con el lenguaje de programación que se vaya a poder usar después, es decir, que es independiente respecto al mismo.
-Tiene que ser sencillo de usar y también de manipular.
-Debe permitir que se pueda acometer la descripciones de diversos tipos de instrucciones, tales como de proceso, de control, de descripción, primitivas o compuestas.
-A la hora de poder desarrollar la creación del citado pseudocódigo hay que tener en cuenta que se utilizarán diversos tipos de estructuras de control. En concreto, estas podemos decir que son de tres clases: selectivas, secuenciales e iterativas.
Estas características hacen que los pseudocódigos sean utilizados en obras científicas y educativas y en las etapas previas al desarrollo de un software, a la manera de boceto antes de proceder a la programación.
Lenguajes de programación
1. Python
Comentarios
Publicar un comentario