Upload
beatriz-martinez
View
215
Download
0
Embed Size (px)
DESCRIPTION
ensayo acerca de los diferentes tipos de programacion
Citation preview
Programación para ti
Beatriz Adriana Martínez Martínez
¿Cómo se hace un videojuego? ¿Por qué funcionan las aplicaciones de
teléfonos o computadoras? ¿Cómo comunicarme con un sistema
computacional? Estas son algunas de las preguntas que día con día nos
hacemos y no es raro ya que estamos rodeados de un mar de objetos
digitales que realizan tareas fantásticas que hace 10 años no nos hubiéramos
imaginado que pudieran llegar a ser verdad, esto solo lo veíamos en películas
de ciencia ficción en donde nos presentaban un futuro que no tardaría mucho
tiempo en llegar por tal motivo comienza a ser una necesidad entender el
nuevo mundo que nos rodea.
Si en épocas anteriores lo que se requería era la alfabetización de la
población en esta década comienza a ser de suma importancia aprender un
lenguaje adicional; por ejemplo cuando vas a otro país en donde se habla un
idioma diferente al tuyo, lo esencial es aprenderlo para poder comunicarte o
contar con un traductor que te facilite la comprensión y de esta manera no
se convierta en un problema satisfacer tus necesidades puesto que la
comunicación es el factor más importante ante cualquier situación.
Algo similar ocurre cuando nos queremos comunicar con la
computadora e indicarle que realice un proceso específico, es necesario
saber de qué manera va a entender nuestras instrucciones, para poder
explicarlo mejor diré que nuestra computadora habla lenguaje-máquina de la
misma forma que nosotros el español, el lenguaje-máquina fue el primero
que se utilizó para comunicarse con una computadora, éste contiene
palabras que están formadas por el cero y el uno (también llamado binario) y
si ordenamos estos dos dígitos de manera diferente obtenemos una gran
cantidad de palabras que se interpretan en secuencia por la computadora
para realizar diferentes tareas.
Este lenguaje naturalmente es complicado por las palabras que se
utilizan y como consecuencia de ello surgieron los lenguajes de
programación que llevarían a cabo la misma tarea que la de un intérprete y
así lograr que la computadora nos entienda. Existen muchos y muy variados
pero su función en general es la misma, utilizan palabras que nosotros
conocemos y únicamente lo que tenemos que aprender son las estructuras
de las funciones, de esta forma nos facilita la comunicación con cualquier
sistema que tenga un microprocesador que sea capaz de procesar las
instrucciones indicadas. Para comprender que es un microprocesador lo
compararemos con el cerebro en un ser humano, una de las funciones que
realiza es, por ejemplo, darle la orden cuando caminamos de mover primero
un pie y enseguida el otro de una manera similar funciona un
microprocesador.
En el año de 1972 fue creado uno de los más importantes lenguajes de
programación de nuestros días que recibió el nombre de lenguaje C, nació en
los laboratorios AT&T Bell gracias a su creador Dennis M. Ritchie el cual se
basó en uno anterior que era llamado lenguaje B. Fue creado para su
aplicación en sistemas operativos específicamente UNIX y para la realización
de aplicaciones que se implementan en diferentes dispositivos.
En la segunda década del siglo XXI se considera que los lenguajes de
programación más populares son C++, C# y Java los cuales son derivados
del lenguaje C, por tal motivo heredan características similares a las de su
lengua madre. En la actualidad, si bien C sigue siendo tal vez el más
utilizado en el mundo para la educación además de tener un porcentaje de
uso elevado en el campo profesional, cada uno de los tres lenguajes
anteriormente mencionados tienen características específicas que en
conjunto con C forman el equipo de lenguajes más empleados a nivel
mundial en el ámbito educativo, científico y en la industria ademas se prevé
que se siga utilizando en el futuro.
Mencionan James L. Antonakos y Kenneth C. Mansfiel “Cuando
aprendemos a programar es equivalente a aprender un nuevo lenguaje”
(1998, p.12) estoy de acuerdo con los autores porque la programación nos
permitirá hablarle a nuestra computadora, además quisiera agregar que
fortaleceremos nuestra capacidad analítica y desarrollamos la capacidad de
resolver un problema complejo dividiéndolo en problemas simples y fáciles
de resolver.
Existen diferentes técnicas para realizar un programa que se conocen
como técnicas de programación, las cuales son: estructurada, orientada a
objetos y modular, tal vez ninguno de estos conceptos te sea familiar y es
por eso que tendremos un acercamiento con los diferentes tipos, así
generamos una conclusión acerca de cuál es más conveniente utilizar,
analizaremos las ventajas y desventajas de cada uno de ellos además
sabremos en qué situaciones se pueden utilizar. Nos centraremos en el
análisis del lenguaje C debido al gran impacto que tiene actualmente y por la
gran cantidad de personas que lo usan, pero principalmente lo emplearemos
en los ejemplos de este trabajo porque no tiene gran complejidad.
No obstante, no podemos dejar de mencionar que C es un lenguaje
versátil, su código puede ser escrito con tal brevedad y concisión que se
vuelve casi ilegible. Debido a su flexibilidad C nos permite escribir programas
que pueden tener errores muy difíciles de encontrar; programar en C es
como ser niños en una dulcería sin restricciones por tal motivo hay que ser
muy cuidadosos con los dulces que consumimos.
La primera técnica que analizaremos será la programación
estructurada (PE), que como su nombre lo dice consta de estructuras,
pongamos un ejemplo: al escribir una carta se separa en diferentes bloques
como remitente, destinatario, saludo, cuerpo de la carta, cierre de la carta. Si
no escribiéramos la carta con una estructura ésta sería totalmente ilegible
porque no habría una separación clara entre cada sección y gracias a la
separación en bloques hace que la carta sea fácil de leer, lo mismo pasa con
un programa realizado en C (imagen 1) el cual tendrá cabecera, directivas
del procesador también conocidas como librerías (contiene las funciones que
podremos utilizar en el desarrollo del programa), prototipos de funciones
adicionales, función main o principal y funciones adicionales.
“En el pasado, la memoria del computador era relativamente cara y
limitada. Por lo que se pagaba por hacer programas tan breves como era
posible para ahorrar espacio en la memoria del computador” (Kenneth,
2004, p.32) si hubiéramos estado en esa época hubieras tenido la necesidad
de ser breves programando pero en la actualidad hay calculadoras que
presentan una memoria mayor a la de las primeras computadoras, así que lo
anterior ya no presenta un problema, lo que ahora si es un problema es la
claridad con la que realizamos nuestros programas, además hay que
desarrollar buenos hábitos de programación y tener la capacidad de separar
los problemas pequeños, simples, fáciles de comprender, de modificar y
corregir.
Los viejos hábitos son difíciles de eliminar y si se ha aprendido a
programar de forma no estructurada se observará la primera desventaja de
la PE, que será acostumbrarte a llevar un orden en la elaboración de tus
programas.
El siguiente tipo de programación es la Programación Orientada a
Objetos (POO), ésta técnica se asemeja con situaciones de la vida cotidiana.
Básicamente y para entenderlo mejor pensemos en que vamos a hacer
galletas, para poder hacerlas requerimos de harina, leche, huevo y un molde
para darle forma a nuestra galleta, si queremos hacer otra galleta
utilizaremos los mismos ingredientes al igual que el mismo molde y así poder
hacer una cantidad interminable de galletas.
Al utilizar la POO se usan las clases, en ellas se definen las
características que tendrán nuestros objetos (las cantidades de harina, leche
y huevo, color y sabor) y las funciones que se realizaran con esas
características (almacenar y vender). Los objetos los vamos a crear en la
función principal, main en inglés, (poner la mezcla para galletas en el molde)
y de esta manera tendremos nuestro primer objeto que presentará las
características que se hayan definido (color y sabor). Gracias a esta
propiedad de la POO podremos crear tantos objetos como queramos y definir
sus características según se requiera (una galleta morada y con sabor a
chocolate pero que al final sigue siendo galleta y tiene la misma forma que
las demás). Una vez creados los objetos se pueden realizar acciones con los
mismos (almacenar y posteriormente vender o consumir la galleta).
Son múltiples las características que presenta la POO, una de ellas es la
herencia, consiste en dar características a otro objeto similar al original.
Retomando el ejemplo de la galleta vemos que sus ingredientes los podemos
utilizar para preparar un pastel, pero el pastel requiere de ingredientes
adicionales así que definimos otra clase que se llame pastel pero agregando
la cantidad de crema batida y heredando los atributos antes mencionados de
la galleta.
Actualmente la programación orientada a objetos no se aplica
solamente para realizar programas simples, sino que tiene un campo de
aplicación mayor como en el desarrollo de análisis y diseño, de la misma
manera se puede aplicar en la realización de bases de datos.
Analizando las características que presenta la técnica de programación
anterior podremos decir que una de sus ventajas es ahorrar líneas de código
evitando definir tantas variables (cantidades de harina, leche y huevo) como
objetos (galletas) utilicemos en el programa; asimismo se puede realizar una
interacción entre los objetos. Sin dejar de lado las desventajas podemos decir
que presenta una complejidad adaptarse a este nuevo método sin tener
conocimientos previos de programación.
La tercera y última técnica de programación es la modular (PM) que se
puede relacionar fácilmente con las otras dos formas de programación
gracias a que cualquiera de ellas (PE Y POO) puede contener la programación
modular en su estructura, en ella se crean subrutinas (imagen 2) que se
incluyen en el programa y se pueden utilizar en cualquier parte del mismo las
veces que sea necesario.
Pongamos como ejemplo la función suma, dentro de ella pondremos la
operación suma=a+b, las variables a y b serán proporcionadas por el usuario
las veces que utilicemos la subrutina en la función principal y de la igual
manera se mostrara el resultado el mismo número de veces.
En la PM se presenta como una ventaja el disminuir el tamaño de un
programa pero la mayor de sus ventajas es que cuenta con la capacidad de
relacionarse con las otras dos técnicas sin generar ningún conflicto, acción
que no se puede lograr entre la PE y la POO.
Respecto a lo que ya conocemos podemos decir que la POO es la
evolución de la PE, en lenguajes que ya conocíamos que únicamente
implementaban la programación estructurada se renovaron y agregaron los
nuevos conceptos que propone la orientada a objetos.
Conociendo las tres diferentes técnicas es imposible decir que una es
mejor o peor que otra, porque cada una fue desarrollada con un fin específico
y se utilizarán dependiendo de la complejidad del problema a resolver;
aunque cabe resaltar que como la programación orientada a objetos se
asemeja a la vida real tiene un gran campo de aplicación y es actualmente la
más utilizada.
Retomando la PE, en la que para entender un programa basta con
leerlo línea tras línea sin tener que ir a otra parte del código, esto quiere
decir, que se puede leer en secuencia, en la POO será necesario saltar a
diferentes lugares del código para comprender su lógica pero no deja de ser
simple.
En este punto ya somos capaces de decidir con qué tipo de
programación podemos comenzar. Si no contamos con el conocimiento sobre
cómo realizar un programa, la programación estructurada nos será de gran
ayuda debido a su secuencia y su lógica que en un principio son fácilmente
entendibles y no requieren de un pensamiento complejo, además si
comprendemos este método cuando aprendamos los posteriores
desarrollaremos un código ordenado que cualquier persona con
conocimientos básicos será capaz de entender y podremos incluir la
programación modular en programas que sean desarrollados con esta
técnica.
Si somos personas que ya hemos realizado un programa con una
estructura adecuada el siguiente paso será comprender la programación
orientada a objetos, en un principio resultará difícil de comprender pero
cuando lo relacionamos con cosas que nos rodean, como con una galleta, y
además hacemos muchos programas que requieran POO generaremos un
nuevo hábito el cual nos pondrá a nivel con el de la mayoría de los
programadores sin dejar de lado las ganancias que esto implicaría.
Aprender a programar es solo el inicio de una larga carrera y si llegas a
comprender el lenguaje C, tendrás la capacidad lógica de entender cualquier
otro lenguaje que se te presente y sólo requerirás aprender la sintaxis de la
estructura del programa así como la sintaxis de las funciones según sea el
lenguaje de programación. Si esto te ha gustado, sólo es el inicio de las
nuevas tecnologías y te falta todo un mundo por explorar.
Anexos
Imagen 1
Imagen 2
Fuentes
Bibliografía
1. Garrido, A., (2002). Fundamentos de programación en C+
+. (1a edición), España, Madrid, Delta Publicaciones.
2. Kenneth, C., Sánchez, G., (2004). Lenguajes de
programación: principios y práctica. (2a ed.), México,
Thomson.
3. James, L., Kenneth, C., (1998). Programacion estructurada
en C. (1a edicion), Mexico, Prentice Hall.
4. Márquez, T., (2011). Introduccion a la programación. (1a
edicion), México, Pearson Educación.
Cibergrafía
1. Álvarez, M., “Qué es la programación orientada a objetos”,
Desarrollo web, Julio, 2001. Consulta web
< http://www.desarrolloweb.com/articulos/499.php>
[consultado febrero 2015]
2. Álvarez, S., “Tipos de Lenguajes de Programación”,
Desarrollo web, Febrero, 2006. Consulta web
<http://www.desarrolloweb.com/articulos/2358.php>
[consultado febrero 2015]
3. Alexandra, P., “Programación estructurada vs Programación
Orientada a Objetos”, Lenguaje de Programación, Mayo,
2012. Consulta web
<http://lenguajedeprogramacion201.blogspot.mx/
2012/05/programacion-estructurada-vs.html> [consultado
febrero 2015]