Tuve la suerte de hacer lo siguiente:
- Nunca caí en la trampa de libros malos (mal escritos) que dicen enseñar programación en C. Por ejemplo, libros de Yashwant Kenetkar que vi en manos de muchos de mis amigos.
- Nunca cayó en la trampa de usar compiladores muy poco estándar y mal mantenidos, por ejemplo, el turbo C se suspende en la fecha de hoy y algunos estudiantes inocentes terminan practicando en esto para perder su tiempo. Desafortunadamente, se suponía que debía mostrar el código final en el laboratorio compilado usando Turbo C en la plataforma Windows 95/98. Pero pude controlar mi tentación de no usarlos fuera de los laboratorios.
- Elija un buen ide y compilador (muchos más de estos están disponibles de forma gratuita ahora en comparación con mi tiempo en la universidad). Pruebe alguna combinación y elija la que más le convenga. (Utilicé el editor Vim con algunas extensiones + compilador gcc en redhat Linux y todavía me encanta en Ubuntu hoy). Hoy debería preferir usar al menos el modo C99 para la compilación con todas las extensiones deshabilitadas. Si puede usar C11 (o posterior) mejor es.
- Elige un buen libro para aprender. Muchas personas (incluyéndome a mí) durante mis años universitarios usaron el lenguaje de programación C: Brian W. Kernighan, Dennis M. Ritchie, pero hoy está muy desactualizado. Una lista de algunos libros buenos (incluidos algunos no buenos) está disponible en The Definitive C Book Guide and List.
- Hoy también puede leer comp.lang.c Preguntas frecuentes en su tiempo libre. Siga las preguntas muy votadas con la etiqueta C en stackoverflow. (Puedes suscribirte para un resumen)
- Resolvió todos y cada uno de los ejercicios (resueltos y no resueltos) del libro. Escribe tanto código como puedas.
- Aprendí a depurar el código usando sentencias de impresión, depurador, explicando el código a otros.
Cosas que no sabía pero que desearía saber:
- Si algún libro o maestro te enseña cosas raras como la salida de expresiones como
i++ - i++,
ignora libro / maestro. Si el libro (o el maestro) dice que esta es una línea extraña y causa un comportamiento indefinido, sé todo oídos. - Aprenda a hacer el papeleo adecuado antes de saltar al código.
- Uso de las opciones
-ansi
y-pedantic
en compiladores. Habilitación de la optimización adecuada (-O2
por ejemplo) en el código final. - Mantenerse alejado de trucos de magia de optimización aparentemente prematuros.
- Uso de módulos (múltiples archivos C) y makefiles. (Mis proyectos eran todos un solo archivo que contenía muchos, muchos miles de líneas)
- Desarrollo y uso del marco de pruebas.
- ¿Cómo es RIT para MS en Ingeniería Informática?
- ¿Debo pasar de una especialización en ingeniería informática a una especialización en ingeniería de comunicaciones?
- ¿Qué cursos separan la ingeniería informática de la informática?
- ¿Cuál es bueno, ingeniería informática o ingeniería mecánica?
- ¿Es una buena idea que un especialista en EE realice un CS menor?