¿Mi universidad es mala si su primera introducción de CS está en C?

No importa cuál sea su primer idioma, hay un 100% de posibilidades de que cambie de idioma en algún momento de su carrera, así que no se preocupe demasiado por aprender un idioma ampliamente utilizado de inmediato.

De hecho, aprender un idioma que probablemente no usará en su futura carrera probablemente sea algo bueno: hoy, las personas que han aprendido COBOL como su primer idioma y nunca han usado otra cosa en su carrera tienen problemas para aprender nuevas y modernas idiomas porque no están acostumbrados a cambiar los idiomas (tampoco es que C se haya vuelto absolutamente inútil, como han señalado las otras respuestas).

Además, un punto importante en un primer curso en CS es eliminar a las personas que simplemente no están destinadas a aprender programación. Para esto, las dos mejores herramientas que tenemos son los punteros y la recursividad, por lo que C y Scheme son los primeros lenguajes populares, a pesar de que no son ampliamente utilizados en la industria.
Este es el punto que Joel Spolsky hace aquí: http://www.joelonsoftware.com/ar…. Si lees este artículo, verás que Java como primer idioma es mucho más que una bandera roja que C.

La primera introducción de CS de mi universidad es en C.

Estoy en Harvard

Entonces no, no necesariamente.

Nuestro segundo curso de CS se imparte en OCaml, un lenguaje que REALMENTE nadie usa. Pero luego el resto son principalmente C. (con algo de Python, en casos donde la descuido es perdonable, o “su elección de idioma”, cuando realmente no importa).

Esto se debe a que C es el lenguaje que las personas usan cuando necesitan ser precisos con su computadora. Como este caso de uso ocurre mucho, muchas personas usan C. Quien te haya dicho que “ya nadie usa C” está completamente equivocado.

¿Me estás tomando el pelo?

Escucha, para entender el presente necesitas aprender sobre el pasado.

Al aprender C, comprenderá cómo surgió uno de los lenguajes de programación más populares y cuáles fueron sus ventajas,

Después de aprender C, comprenderá por qué se volvió redundante. Los problemas de seguridad (por ejemplo, punteros), ausencias de pensamiento de orientación a objetos, etc. Es por eso que C ++ surgió y por qué Java no usa punteros.

Su forma de trabajo. Según mi experiencia, una vez que has aprendido C, puedes aprender cualquier otra cosa.

A veces siento que si aprendes un lenguaje más fácil como Python (medios más fáciles, sintaxis), será más difícil aprender otros lenguajes como Java. Definitivamente aprenderás otros idiomas a lo largo de tu carrera, por lo que mi consejo sería que tengas una mente abierta. ¡La mayoría de las empresas quieren programadores que sepan varios idiomas y los conozcan bien!

Mucha gente usa C, pero incluso si no lo hicieran, ese hecho es irrelevante.

Si se trata de una clase de Introducción a la programación, están allí para enseñarle conceptos; La implementación es tu propio trabajo. Una vez que aprende un lenguaje de estilo C, básicamente los conoce a todos. Después de aprender sobre las diferencias en la sintaxis de varios lenguajes de programación, puede aplicar los conceptos que está aprendiendo en esta clase en cualquier lugar.

Una buena escuela de informática no te enseña qué programar, sino que te enseña a programar. Vas a aprender habilidades en esta clase que se pueden aplicar a cualquier tipo de problema de programación. Las clases de introducción e intermedias de mi escuela estaban en C ++. La siguiente clase fue en Java, y creo que después de eso, el lenguaje varía, pero generalmente es C ++. No le enseñarán exactamente lo que debe escribir en la computadora (sintaxis específica del idioma), le enseñarán cómo convertir un problema en código (conceptos de programación).

En la actualidad, pocas cosas lo equiparán mejor para comprender la programación que C: es simplemente la mejor introducción que existe. Puede que no se use tanto en la industria como solía hacerlo, pero sigue siendo muy importante en todos los demás aspectos: academia, investigación, entrevistas futuras y demás.

Se dice que uno debe recordar sus raíces, y C probablemente puede considerarse una gran parte de la “raíz” para un programador moderno. Para que lo sepas, los productos icónicos como el kernel de UNIX y el querido Mozilla Firefox se han escrito en C, e incluso después de todo el desarrollo que se ha dedicado a la creación de lenguajes nuevos y “mejores”, los programas en C siguen siendo los mejores en términos actuación. Es realmente difícil notar la diferencia en estos días, pero si buscas hechos, entonces los hechos tendrás.

En primer lugar, ciertamente no es cierto que ya nadie use C. C sigue siendo bastante común. En segundo lugar, el enfoque debe estar en los conceptos, no en los idiomas. El idioma solo se está enseñando para que pueda escribir programas que muestren que comprende los conceptos.

Mucha gente usa C, mira TIOBE. Francamente, estoy impresionado de que estén enseñando C, no lenguaje del día.

Si puedes dominar C, encontrarás Ruby o JavaScript o lo que sea realmente fácil.

C es un buen lenguaje y muchos idiomas están escritos en C o basados ​​en C. Tuve C para la introducción a la programación en la universidad y luego es más fácil aprender otros idiomas. Aunque no lo he usado en aproximadamente 6 años, pero el conocimiento que obtuve de C me ayudó a aprender otros idiomas fácilmente.

en mi lugar y en mi tiempo allí usamos pascal. No sé por qué, pero creo que es porque las sintaxis pascales son más fáciles de entender que C, por lo que cuando se trata de aprender sobre algoritmos, es como leer códigos pascales a diferencia de C. de todos modos, no importa qué lenguaje uses, es sobre cómo hacer una buena programación pero en serio, cuando se trata de tener una mejor comprensión del concepto de programación u optimización, nada mejor que verlos a través de C o C ++. Java es más como si tuviera algo / cualquier clase para cualquier problema y tampoco encontrará punteros.

De lo contrario. Eso en realidad significa que tu universidad es legítima. C es el abuelo. El lenguaje del programador profesional.

Reiterando lo que han dicho los demás, pero usted está en una edad impresionable, y esto es importante
1) C es una herramienta para que aprendas programación. El objetivo es convertirse en programador, no en programador C.
2) C no es irrelevante en absoluto. Escuchaste mal Cambie a las personas de las que escucha cosas o comience a escuchar a más personas 🙂
3) Si eres bueno en los principios de programación, y eres competente en un idioma, los otros idiomas vendrán fácilmente. Conocí solo C y C ++ durante 8 años, pero aprendí Python y Java sobre la marcha en los últimos dos. Descubrí que conocer los principios hacía que los idiomas fueran mucho más intuitivos.
4) Tienes suerte de que tu universidad tenga un curso de programación. Confía en mí, eso es una gran ventaja.
¡Buena suerte!

No. De hecho, puede implicar que su universidad confía más en su primer año, ya que muchas escuelas dejaron de usar el C como lenguaje de introducción, ya que consideraron que era demasiado difícil para los principiantes; dejando C para cursos más avanzados. Creo que todos los programas de CS respetables deberían cubrir C eventualmente, por lo que estaría seriamente preocupado si mi universidad no ofreciera y las clases que incluyen C.

La cuestión es que C está muy cerca del hardware real, por lo que saber C le brinda una mayor comprensión de lo que la computadora está haciendo realmente, detalles que los lenguajes de nivel superior ocultan bajo muchas capas de abstracción. Por supuesto, esas capas de abstracción pueden ser útiles, pero sin duda vale la pena tener alguna intuición sobre lo que sucede debajo de las cubiertas.