Algunos
profesores rechazan a la familia de lenguajes C (C, C++, Java) por ser
demasiado permisiva y conducente a escribir programas no legibles y difíciles
de descifrar. Nuestra experiencia no apoya este punto de vista, siempre que el
uso de características de lenguaje se modele de manera apropiada.
El
hecho de que la familia C permita un estilo de programación concisa y compacta
no se puede etiquetar simplemente como “bueno” o “malo”. Casi cualquier
lenguaje de programación se puede usar para escribir en un estilo que es
demasiado conciso e inteligente para que sea entendido con facilidad. La
familia C se puede de hecho de esta manera con más frecuencia que los otros
lenguajes, pero se ha encontrado que con instrucción cuidadosa en ingeniería de
software y un estilo de programación que sea directo, disciplinado y libre de
características de lenguaje intrincadas, los alumnos pueden aprender a usar C++
para producir código claro y legible.
¿Qué es la programación?
Mucho del comportamiento y pensamiento
humano se caracteriza por secuencias lógicas. Desde la infancia usted ha estado
aprendiendo cómo actuar, cómo hacer las cosas. Y ha aprendido a esperar cierto
comportamiento de otras personas.
Mucho de lo que hace todos los días lo
hace de manera automática. Por fortuna no es necesario que piense
conscientemente que todo paso requerido en un proceso tan simple como dar
vuelta a una página de un libro:
1. Levantar la mano.
2. Mover la mano a la derecha del
libro.
3. Asir la esquina derecha de la
página.
4. Mover la mano de derecha a
izquierda hasta que la página esté colocada de modo que pueda leer lo que está
sobre la otra página.
5. Soltar la página.
Piense en cuántas neuronas debe
encender y cuántos músculos deben responder, todo en cierto orden o secuencia,
para mover su brazo y su mano. Sin embargo, lo hace de manera inconsciente.
Mucho de lo que hace de manera
inconsciente lo tuvo que aprender una vez. Observe cómo un bebé se concentra en
poner un pie antes que el otro mientras aprende a caminar. Luego, observe a un
grupo de niños de tres años que juegan a la roña.
En una escala más amplia, las
matemáticas nunca se podrían haber desarrollado sin secuencias lógicas de pasos
para resolver problemas y demostrar teoremas. La producción en masa nunca habría
funcionado sin operaciones que tienen lugar en cierto orden. La civilización se
basa en el orden de las cosas y acciones.
Se crea orden, de manera consciente e
inconsciente, en un proceso al que se denomina programación. Este libro tiene
que ver con la programación de una de las herramientas, la computadora.
Del mismo modo que un programa de
concierto lista el orden en que los músicos ejecutan las piezas, un programa de
computadora lista la secuencia de pasos que realiza la computadora. De ahora en
adelante, cuando se use la palabra programación y programa, se entenderá
programación en computadora y programa de computadora.
La computadora permite hacer las
tareas con más eficiencia, rapidez y exactitud de cómo se podrían hacer a mano,
si acaso se pudieran hacer a mano. A fi n de usar esta poderosa herramienta, se
debe especificar lo que se desea hacer y el orden en que se desea hacerlo. Esto
es posible por medio de la programación.
¿Cómo se escribe un programa?
Una computadora no es inteligente. No
es capaz de analizar un problema y proponer una solución.
Un humano (el programador) debe
analizar el problema, desarrollar una secuencia de instrucciones para resolver
el problema y luego comunicarlo a la computadora. ¿Cuál es la ventaja de usar
una computadora si no puede resolver problemas? Una vez que se ha escrito la
solución como una secuencia de instrucciones para la computadora, ésta puede
repetir la solución de manera muy rápida y congruente, una y otra vez. La
computadora libera a la gente de las tareas repetitivas y tediosas.
Para escribir una secuencia de
instrucciones que efectuará una computadora, se debe ir por un proceso
bifásico: resolución de problema e implementación.
Fase de resolución del problema
1. Análisis y especificación. Entender
(definir) el problema y lo que debe hacer la solución.
2. Solución general (algoritmo).
Desarrollar una secuencia lógica de pasos que resuelve el problema.
3. Verificar. Seguir los pasos
exactamente para ver si la solución resuelve en realidad el problema.
Fase de implementación
1. Solución concreta (programa).
Traducir el algoritmo en un lenguaje de programación.
2. Prueba. Ver que la computadora siga
las instrucciones. Después, comprobar de manera manual los resultados. Si
encuentra errores, analice el programa y el algoritmo para determinar la fuente
de errores, y luego hacer correcciones.
Una vez que se ha escrito el programa,
entra a la tercera fase: mantenimiento.
Fase de mantenimiento
1. Uso. Utilice el programa.
2. Mantenimiento. Modifique el
programa para satisfacer requisitos de cambio o corregir cualquier error que
aparezca al usarlo.
Ética y responsabilidades en la profesión de computación
Toda profesión opera con un conjunto
de principios éticos que ayudan a definir las responsabilidades de las personas
que la practican. Por ejemplo, los médicos tienen la responsabilidad ética de
mantener confidencial la información acerca de sus pacientes. Los ingenieros tienen
una responsabilidad ética con sus patrones de proteger la información de
propiedad exclusiva, pero también tienen la responsabilidad de proteger al
público y al ambiente del daño que podría resultar de su trabajo. Los escritores
están comprometidos éticamente a no plagiar el trabajo de otros, etcétera.
La computadora presenta un vasto y
novedoso ámbito de capacidades que pueden afectar al ambiente de manera
espectacular. Esto enfrenta a la sociedad con muchas situaciones éticas nuevas.
Algunas de las prácticas éticas se
aplican a la computadora, mientras que otras situaciones requieren nuevas
reglas éticas. En algunos casos, podría no haber normas establecidas, pero
corresponde a la persona decidir lo que es ético. En esta sección se examinan
algunas situaciones comunes encontradas en la profesión de la computación que
dan lugar a asuntos éticos.
Un profesional en la industria de la
computación, como cualquier otro, tiene conocimiento que le permite hacer
ciertas cosas que otros no pueden. Saber cómo tener acceso a las computadoras,
cómo programarlas y cómo manejar datos da al profesional de las computadoras la
capacidad para crear productos nuevos, resolver problemas importantes y ayudar
a las personas a manejar sus interacciones con el mundo aún más complejo en el
que vivimos. El conocimiento de las computadoras puede ser un medio poderoso
para efectuar un cambio positivo.
El conocimiento puede ser empleado también de maneras no éticas. Una
computadora puede ser programada para activar una bomba, sabotear la línea de
producción de un competidor o robar dinero. Aunque estos ejemplos constituyen
un punto extremo y son inmorales en cualquier contexto, hay ejemplos más
sutiles que son únicos para las computadoras.
0 comentarios:
Publicar un comentario