1.2. Para comenzar¶
La manera en la que pensamos acerca de la programación ha sufrido muchos cambios a lo largo de los años desde que las primeras computadoras electrónicas requerían cables de conexión e interruptores para transmitir instrucciones del humano a la máquina. Como es el caso con muchos aspectos de la sociedad, los cambios en la tecnología computacional brindan a los científicos de la computación un número creciente de herramientas y plataformas sobre las cuales pueden practicar su oficio. Avances tales como procesadores más rápidos, redes de alta velocidad y grandes capacidades de memoria han creado una espiral de complejidad a través de la cual los científicos de la computación deben navegar. A lo largo de toda esta rápida evolución, ciertos principios básicos han permanecido constantes. Las ciencias de la computación tienen que ver con el uso de computadoras para resolver problemas.
Sin duda usted ha invertido un tiempo considerable en aprender lo básico de la solución de problemas y, con suerte, se siente confiado respecto a su habilidad para tomar el enunciado de un problema y desarrollar una solución. Usted también ha aprendido que escribir programas de computador es a menudo difícil. La complejidad de los problemas grandes y la correspondiente complejidad de las soluciones pueden tender a opacar las ideas fundamentales relacionadas con el proceso de solución de problemas.
Este capítulo hace énfasis en dos áreas importantes para el resto del texto. En primer lugar, se repasa el marco de trabajo dentro del cual deben encajar las ciencias de la computación y el estudio de algoritmos y estructuras de datos, en particular, las razones por las cuales necesitamos estudiar estos temas y cómo comprenderlos nos ayudan a convertirnos en mejores solucionadores de problemas. En segundo lugar, se repasa el lenguaje de programación Python. Aunque no podemos brindar una referencia exhaustiva y detallada, daremos ejemplos y explicaciones de los estructuras e ideas básicas que aparecerán a lo largo de los capítulos restantes.