jueves, 9 de abril de 2015

Introduccion

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