Soy FK, actualmente llevo 5 años como programador y me concentro en Tutorial para novatos. Últimamente leo Zhihu y siento que debería escribir algo; quizás en el futuro pueda servir como mis memorias.

¡¡¡Pensándolo bien, mejor empiezo desde cómo aprendí a programar en la universidad!!!

Me gradué en una universidad de segunda categoría en Fujian, con especialidad en biotecnología (no me vuelvan a preguntar si una carrera no relacionada con computación es adecuada para aprender programación). En mi segundo año, abandoné resueltamente “la carrera más prometedora del siglo XXI (que también parece ser la mayor mentira): biología”, corrí a la biblioteca y tomé prestado un libro de Programación en C (por Tan Haoqiang).

En ese momento, cuando lo obtuve, estaba muy emocionado; sentía que si lo aprendía podría encontrar un buen trabajo y ganar algo de dinero, pero no pensaba en llegar a la cima de la vida, convertirme en CEO, casarme con una chica rica y hermosa, o algo así.

A continuación, seguí el tutorial del libro para instalar el entorno de compilación de C, y luego vi el primer programa del libro, “Hello World!”. Para generar este “Hello World!”, lo que hice fue, tal como decía el tutorial, escribir el código letra por letra de manera muy torpe en el compilador. En ese momento no sabía si estaba bien aprender de esa manera, así que simplemente seguí así.

Después de escribirlo, hice clic en el botón Ejecutar, pensando que pronto me volvería increíble y comenzaría mi camino como hacker. Vaya, al terminar la ejecución, no se mostró “Hello World!”, sino un montón de cosas desordenadas; no entendía nada. Volví a comparar “cuidadosamente” y, ¡demonios!, no había error, era exactamente igual. ¿Acaso Tan Haoqiang se había equivocado?

Después pasé otra media hora con los ojos bien abiertos, extremadamente concentrado (con la sensación de que el mundo estaba en silencio), comparando mi código con el del libro. Descubrí que faltaban algunos punto y coma, llaves y cosas parecidas; en fin, solo símbolos. Entonces me di cuenta de lo poco fiable que era mi “esmero”. Después de batallar toda la mañana, finalmente logré generar el anhelado “Hello World!”.

De repente, en mi mente aparecieron dos personas; provisionalmente llamémoslos A y B:

  • A: ¿Para qué aprender a programar? Es tan difícil; después de toda una mañana solo has sacado esta maldita cosa. Mejor juguemos una partida de Frozen Throne.
  • B: ¿Acaso no quieres buscar trabajo y ganar dinero? Si has elegido este camino, no te rindas.
  • A: Todavía estás en segundo año, ¿para qué pensar tanto? Primero diviértete...
  • B: Tu situación no es adecuada para divertirte...

En aquel momento, pensaba que la matrícula de mis estudios se había reunido gracias a que mi familia la juntó con esfuerzo; aun así, lo principal era encontrar trabajo y ganar dinero para aliviar la carga de mi familia. Por eso no pensé demasiado y entré de lleno en la etapa de aprender C:

En ese momento, como había muy pocos compañeros con los que conversar, básicamente tecleaba los programas del libro letra por letra (pensándolo bien, bastante torpe), no como ahora, cuando algunos IDE directamente ofrecen autocompletado. Así pasé dos meses aprendiendo variables, bucles, sentencias condicionales, etc. de C. Lo más doloroso de cabeza fueron los punteros posteriores; luché mucho tiempo sin entenderlos......

Al final, solo aprendí una parte muy superficial de C......

...... (continuará)