Como primer año en CS y estaré programando en C, ¿qué necesito saber?

La programación en C requiere una mentalidad diferente a la programación en C # o Java. Hoy en día, el desarrollo web típico casi nunca se realiza en C simple, por lo que supongo que va a trabajar en algún tipo de programación orientada al sistema o desarrollo de UI con GTK o un kit de herramientas similar.

La mayor diferencia entre C por un lado y C # y Java por el otro es que en C tienes que ocuparte de la memoria (y otros recursos del sistema) tú mismo. Deberá realizar un seguimiento de los fragmentos de memoria que asignó y liberarlos cuando sea apropiado, y tendrá que lidiar con los punteros y su aritmética.

Además, C, no es del todo seguro. Cuatro bytes de memoria pueden ser un “int largo”, pero la próxima vez los mismos cuatro bytes pueden interpretarse como una matriz de cuatro bytes o incluso algo completamente diferente, dependiendo de lo que haya en la memoria antes o después de estos cuatro bytes. Esto le da mucho poder sobre el comportamiento de su código, pero requiere que sea extremadamente cauteloso sobre lo que señalan sus variables de puntero.

En mi opinión, es mucho más difícil cambiar de un lenguaje administrado como Java o C # a C que al revés. Aunque la sintaxis externa de estos lenguajes es bastante similar, la forma en que se ejecuta su código en el hardware es diferente. Debe estar dispuesto y preparado para pensar en términos de hardware, memoria, descriptores de archivos y otros recursos del sistema. Pronto descubrirá que la programación no se trata tanto de un lenguaje específico, sino de conceptos de programación, que pueden ser diferentes o similares independientemente del lenguaje de programación utilizado.

Nada. No necesita tener ningún conocimiento de programación al ingresar a sus clases de primer año. De hecho, saber demasiado puede ser perjudicial.

Las universidades tienen que suponer que los nuevos estudiantes en sus programas no saben nada específico, porque incluso si requieren ciertos requisitos previos, no pueden asumir que las escuelas anteriores enseñaron lo que la universidad quisiera que tuvieran. Cada programa escolar es diferente, enfatiza cosas diferentes y, por necesidad de tiempo, deja algunas cosas afuera.

Sabes java Eso es genial Algunas cosas te serán más fáciles. No seas complaciente en clase pensando que sabes lo que están enseñando. Extrañará las diferencias, extrañará las correcciones, aclaraciones, a lo que sabe. Una de las cosas que odio de aprender un nuevo idioma es leer los textos que comienzan a explicar los conceptos básicos, como qué es una variable o por qué los bucles son importantes, porque sé todo eso, pero ocasionalmente en esos capítulos hay información como en este idioma, las operaciones se realizan de derecha a izquierda sin precedencia. Si no leyera esos capítulos porque ya sabía esas cosas, me perdería algunas cosas importantes.

Así que vaya a sus clases con una mente abierta, preparada para aprender lo que le están enseñando.

Solo tenga en cuenta que siempre hay más de una forma de hacer las cosas, y la clase es un comienzo, no un final, para su aprendizaje.

Debería trabajar duro y no importa en C que conozca otros lenguajes porque C es más complejo y más cercano al lenguaje de máquina. Para convertirte en un programador extremo, debes practicar más y más en C. ¡Practica todos los días como mínimo 3 horas! ¡Buena suerte!

More Interesting

En puestos de trabajo de ingeniería, menciona la necesidad de una licenciatura en un campo técnico de ingeniería o relacionado. ¿Qué se consideran campos relacionados?

¿Cuáles son las oportunidades de trabajo para posgrado (M.tech de IIT / NIT) en ciencias de la computación además de la codificación y la enseñanza?

Cómo aprender algoritmos y estructuras de datos en un mes para obtener un trabajo bien remunerado

¿Por qué todos los graduados en la India quieren ser programadores de computadoras?

35 y mujeres: ¿estoy loco por entrar en la programación para una carrera?

¿Puede un informático obtener un trabajo relacionado con la física?

¿Cuánto tiempo le toma a un empleado familiarizarse con una base de código en una empresa de tecnología?

¿Cuáles son los pasos que se deben seguir para ser un buen programador en C?

Como desarrollador móvil experimentado, quiero cambiar mi carrera a desarrollo web o programación de gráficos, ¿cuál debo elegir?

¿Qué libros son los mejores para un estudiante de CSE de 1er año?

¿Existe un trabajo que sea un subconjunto de mecánica de daños, sistemas de control y aprendizaje automático?

¿Qué debe aprender un estudiante de CSE de segundo año durante sus vacaciones de verano?

¿Qué escuelas debería considerar como especialidad CS / CE?

Siendo estudiante de Tecnología de la Información, ¿qué opciones de carrera tengo si no quiero entrar en el campo del desarrollo de software, codificación o programación? ¿Cómo puedo sobresalir en los otros campos?

¿DevOps requerirá conocimientos de informática en el futuro?