¿Qué lenguaje de programación es el mejor para comenzar una asignatura CSE?

El lenguaje no es realmente tan importante.

La programación es importante.

Programación

La programación se trata de muchas cosas (que analizo en la respuesta del usuario de Quora a ¿Qué tan bueno debería ser en la programación en C?). Para reiterar esos:

La parte más importante sobre la programación, y por lo tanto sobre la programación en [cualquier lenguaje], es la resolución de problemas. ¿Cómo se descompone un problema ? ¿Cómo se identifican las soluciones ? ¿Qué [elección de] metodología utilizará para resolver el problema? Una vez que se identifica una solución, ¿cómo modela esa solución para que pueda ser programada?

La programación es justo lo que haces una vez que has hecho las otras cosas. Entonces, lo más importante en la programación es aprender las cosas identificadas anteriormente en negrita .

La programación se trata de resolver problemas y escribir en lenguajes de programación se trata de codificar / describir esa solución.

Idiomas

Ahora, para aprender esas cosas bien, necesitará conocer un lenguaje de programación o tres. Los lenguajes de programación son sus herramientas para aprender lo anterior: individualmente no son tan importantes, pero necesita al menos una de esas herramientas.

Las otras dos respuestas aquí, al momento de escribir, sugieren Python , Smalltalk y C. Tengo esto que decir sobre esas opciones:

Python: No sé mucho al respecto (nunca necesité saberlo) pero algunos amigos que respeto hablan muy bien de ello. Puede ser una buena opción porque a) se usa en muchos lugares yb) es más fácil de entender.

Smalltalk: No conozco ninguna compañía, fuera de mi alcance, que use Smalltalk. Es un lenguaje OO muy antiguo y un lenguaje más puro, si mal no recuerdo. Tiene muchos seguidores en la academia, pero prácticamente no estoy seguro de que sea tan útil saberlo.

C: También un lenguaje muy antiguo. Tiene muchos adherentes entre programadores muy antiguos (como yo). Mucha gente que enseña en universidades forma parte del conjunto de programadores muy antiguos (como solía ser). Una de las ventajas de aprender C frente a casi cualquier otro lenguaje, excepto C ++, es que es más probable que lo obligue a comprender cómo funciona el lenguaje en una máquina real. C y C ++ lo obligan a comprender los punteros, la asignación de memoria, la liberación de memoria, la semántica de llamadas a procedimientos, etc., mejor que los lenguajes como Java, JavaScript, Scala, etc. Sin embargo, el principal problema con C es que escribir un buen programa en C suele ser mucho más trabajo que escribir el mismo código en lenguajes más avanzados.

No sé qué curso está planeando tomar y la materia de un curso a menudo dictará qué idioma o conjunto de idiomas se deben usar (es decir: el maestro puede decir “usará Java”). La mayoría de los cursos que he impartido y que he impartido no dan mucho margen de maniobra en el idioma que debe usar.

Probablemente sugiera aprender uno de los siguientes:

  1. C ++: es OO y te obliga a comprender cómo funciona la máquina tan bien como C.
  2. Java: un lenguaje OO muy popular y muy flexible que se aplicará a una amplia gama de temas de CS.
  3. Scala: un buen lenguaje de programación funcional que funciona con bibliotecas Java para que no tenga que construir toda su propia infraestructura.

Dicho esto, no conozco todos los lenguajes de computadora y solo puedo recomendarlos desde el conjunto que conozco o que son altamente recomendados por personas en las que confío.

De acuerdo, ¿supongo que CSE significa Ciencias de la Computación e Ingeniería? Esa es una nueva para mí, me temo. Nunca he oído hablar de esa descripción exacta para una disciplina académica.

Gracias por la solicitud de respuesta, pero todavía estoy en una universidad comunitaria y mi escuela ni siquiera ofrece ciencias de la computación.

En lo que a mí respecta, no existe el mejor lenguaje de programación. Pero de la descripción de Ciencias de la Computación e Ingeniería, se me ocurren algunas.

  • Cualquier tipo de lenguaje ensamblador : ya sea x86–64, IA-32, ARM Assembly o incluso MOS 6502 Assembly, es una buena idea aprender un poco acerca de lo esencial de la programación de computadoras. Le daría una buena idea de a qué se traducirá su código (antes de volver a traducirlo a HEX).
  • Un lenguaje de secuencias de comandos (ya sea de uso general o basado en la web) : Perl, PowerShell, Python, JScript … y, por supuesto, Javascript. Estos son lenguajes más controlados por comandos y ejecutarán una línea de código sin una función principal .

Y finalmente, lenguajes de programación compilados. Hay muchos por ahí, y muchos de ellos le enseñarán ideas similares solo con una sintaxis diferente.

Yo digo, ve por algo diferente:

  • Charla
  • Pascal
  • Haskell
  • Fortran
  • Ceceo

Además de lo común:

  1. C
  2. C ++
  3. Java
  4. Visual Basic .NET

Aparte de eso o algunos lenguajes de bases de datos como SQL, pero eso está entrando en lenguajes específicos de dominio , lo que creo que está fuera del alcance de esta pregunta.

¡Buena suerte!

Si desea sobresalir en su programación, primero aprenda los conceptos básicos de C y luego pase a PYTHON, porque python es un lenguaje simple que se usa en casi todas las buenas empresas como GOOGLE.

  • Entonces, no pierdas más tu tiempo, ve y aprende Python navegando por Google
  • Descargar un libro “APRENDE PYTHON, EL CAMINO DURO” de ZED SHAW