C o no C, esa es la pregunta (1)

Para el despistado, el título de esta serie de entradas es un retruécano a la famosa frase shakespeariana de la primera escena, tercer acto, de «Hamlet«. Usada porque la verdadera pregunta sobre C y, especialmente, sobre C++, es si uno sabe o no. Espero que con el desarrollo de estas entradas quede claro a qué me refiero.

C es un lenguaje simple, orientado a la interacción y control del computador a un nivel bajo. La dificultad de su aprendizaje y entendimiento reside en el conocimiento de la arquitectura y funcionamiento del computador. Si uno entiende cómo es que una computadora trabaja, entender lo que se puede hacer y cómo hacerlo con C es fácil. Es un lenguaje que se espera sea enseñado en una carrera de las ciencias de la computación o electrónica, inclusive en las de informática.

Yo he llegado a leer que C++ fue creado para poder llevar la minuciosidad del control de C a los desarrollos de alto nivel, incorporando en enfoque de la orientación a objetos a C. Lo que yo creo es que la incorporación de la la orientación a objetos fue más bien para permitir hacer uso de este alto nivel de conceptualización en los cada vez mayores y complejos desarrollos de nivel bajo (drivers, kernels, sistemas operativos, compiladores, utilerías, etc.) para poder sacar el mejor desempeño de las cada vez más complejas arquitecturas de los microprocesadores, de una forma que permitiera generar código más dinámico y mantenible al mismo tiempo. Cuando uno avanza con la programación en C y empieza uno a manejar apuntadores a funciones, es fácil darse cuenta que el siguiente paso, la programación orientada a objetos, es una consecuencia natural.

Si bien para un iniciado en la programación, ambos lenguajes son relativamente fáciles de aprender (claro mucho más simple C que C++), definitivamente no son los más adecuados para aprender a programar. Cuando yo me inicié en la programación, la recomendación para esto eran Pascal o BASIC (preferentemente el primero por facilitar el entendimiento de la programación estructurada pero el segundo era mucho más simple). BASIC terminó por ser alcanzado por el tiempo y el tiro de gracia lo dió Microsoft con su famoso Visual Basic. A Pascal, paradójicamente, terminó matándolo quien fue su mayor promotor: Borland.

En los últimos años he tenido algunos acercamiento con gente que ha buscado iniciarse en la programación por cuenta propia o esto es parte de su curricula. Entre ellos mi hija, quien lo hizo con C y Java. Si bien Pascal y BASIC ya no son opciones para el aprendizaje por razones tecnológicas, si cuestiono que se recurran a estos dos lenguajes en particular, más existiendo Python. La última experiencia de esto ha sido mi hermana, quien eligió un profesión completamente ajena a la programación y que ha buscado iniciarse en el tema pero en el curso para ello lo hacen con C++ 🙄.

Mientras que la he ayudado a facilitarle la experiencia educativa, he aprovechado para revisar algunas cosas, y varios puntos interesantes han brincado por aquí. Es así como esta serie de entradas han aparecido.

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.