Transcript
Page 1: Beatriz Adriana Martínez Martínez

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.

Page 2: Beatriz Adriana Martínez Martínez

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.

Page 3: Beatriz Adriana Martínez Martínez

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

Page 4: Beatriz Adriana Martínez Martínez

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

Page 5: Beatriz Adriana Martínez Martínez

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.

Page 6: Beatriz Adriana Martínez Martínez

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

Page 7: Beatriz Adriana Martínez Martínez

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

Page 8: Beatriz Adriana Martínez Martínez

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.

Page 9: Beatriz Adriana Martínez Martínez

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]


Recommended