Las ciencias de la computación a veces parecen algo mítico para los desarrolladores, algo que sólo aquellos que trabajan en Big Tech o en la NASA pueden entender. Pero si programas, es algo ya que usas a diario, por lo que te conviene comprenderlo mejor.
Empecemos por el principio definiendo qué son y cómo te pueden ayudar.
¿Qué son las ciencias de la computación?
Las ciencias de la computación son un campo de estudio que busca entender los principios que rigen el fenómeno de la computación en general. Podemos definir la computación como el proceso de transformar información en algo útil, normalmente de manera dirigida.
Las ciencias de la computación abarcan desde la definición y estudio conceptual de los principios que rigen la computación, hasta la implementación de algoritmos y estructuras de datos, junto con su ejecución en medios físicos. Esta última parte es la que más nos concierne como desarrolladores.
Como podrás ver, es un campo muy amplio, pero muy interesante y que puede darte una visión más amplia de lo que haces día a día, pero que además te puede ayudar a comprender los componentes principales del entorno en el que tus programas corren y cómo funcionan.
Algunos de los principios temas que trata son:
- Lo que es posible calcular y lo que no
- En qué medios se puede ejecutar un programa
- Cuáles son formas eficientes y confiables de almacenar información
- Cómo se puede representar la información
- Cómo se puede transmitir la información sin que se corrompa
- Cómo se puede transformar la información de manera eficiente
- Cómo proteger la información
- Cómo coordinar varias computadoras
Cómo podrás ver, son problemas a los que nos enfrentamos día a día en nuestro trabajo de manera continua.
¿Por qué son importantes?
La mayoría de los problemas que resolvemos en nuestro trabajo diario ya han sido resueltos en el pasado, por personas usando conocimientos que podemos considerar como ciencias de la computación y puestos en práctica en forma de algoritmos y estructuras de datos, implementados en los lenguajes de programación que usamos. También los frameworks y librerías que usamos son implementaciones de estos principios.
Pero, ¿qué pasa cuando quieres hacer algo que va más allá de lo que tu lenguaje o tu plataforma te ofrece por default? Aquí es donde entra el conocimiento de cómo funciona la computación de manera más profunda, los principios que rigen la computación, y las técnicas para resolver problemas.
Si quieres hacer cosas que vayan más allá de lo común, las ciencias de la computación te pueden proporcionar las herramientas y habilidades para lograrlo de manera sostenible.
Saber ciencias de la computación puede hacer la diferencia entre primero, que seas capaz de crear eficazmente lo que te estás imaginando y segundo que sea exitoso y pueda seguir creciendo.
¿Cómo aprender ciencias de la computación?
La parte más importante de este artículo es cómo aprender ciencias de la computación. Si cursaste la universidad en una carrera relacionada con la computación, es probable que ya tengas las bases, o por lo menos la idea de los temas principales que puedes estudiar.
Pero lo triste es que casi siempre se enseña de manera segregada (se tratan los temas por separado sin ver la relación entre ellos) y desactualizada (se presenta la visión de los años 70s o 80s).
Por eso, independientemente de tu formación, te recomiendo que leas los siguientes libros:
- Computational Thinking. En este libro tendrás una introducción a los temas principales del pensamiento computacional, algo completamente necesario para entender las ciencias de la computación.
- Great Principles of Computing. Para mi este libro presenta la visión más moderna de las ciencias de la computación. En el artículo “Libros que todo desarrollador debería leer: ciencias de la computación”, encontrarás más recomendaciones.
Si no sabes nada de ciencias de la computación puede empezar con algo más ligero como:
Si tienes alguna otra recomendación, no dudes en ponerla en los comentarios.
Conclusión
Aprender ciencias de la computación es una buena idea para tu carrera, independientemente de la etapa en la que te encuentres o de la rama de la programación a la que te dediques. Te ayudará a evitar la frustración de no saber por qué algo no funciona, o peor aún, que funcione y no saber por qué.
Consulta los recursos que recomendamos en este artículo y empieza a aprender hoy mismo. Además en este blog encontrarás muchos artículos relacionados con las ciencias de la computación, así que no dudes en explorarlos.
Comentar