Para alguien con 0 conocimiento que leguaje le recomendariais aprender? Estoy en una especie de academia y hay varias opciones como java, java script, nodejs, php.
Esa pregunta solo se puede responder según qué quieras hacer con ello. Yo lo primero que aprendí fue C++ y la verdad es que para la funcionalidad básica no me parece complicado de entender.
#2 vaya que no, es un lenguaje super tedioso. Para mi, para una persona que nunca ha programado, y no sabe que rama de la programacion le va a gustar ni nada, para mi el idoneo es python, porque tienes un montonazo de cosas hechas por la comunidad, aprendes la logica detras de cualquier lenguaje de una forma un pelin menos farragosa que en otros (como c++), es bastante versatil, es provable que elija lo que elija despues los conocimientos python nunca esten de mas. Como segunda opcion te diria java.
Cualquiera menos Java
No por nada, pero al menos que no tengas que escribir 300 palabras para un hello world
#4 no creo que como primer lenguaje escoger Java sea mala idea. Irse a lenguajes no tipados para aprender me parece poco didáctico. Yo escogería alguno tipado y de alto nivel como primer lenguaje (c#, java) y dejaría el dinamismo de php o python para cuando tenga unas bases.
#3 python no lo recomendaria porque no es un lenguaje tipado y está bien que se familiarice desde el principio con los tipos básicos.
java es muy verboso y puede ser un poco frustrante escribirlo sin saber programacion orientada a objetos.
c++, sin orientarlo a objetos, es bastante sencillito, tipado y no verboso.
en mi universidad se empieza con ese
#5 En 2021 tanto PHP como Python ya pueden ser tipados si quieres:
https://www.php.net/manual/en/language.types.declarations.php
https://docs.python.org/3/library/typing.html
No voy a recomendar PHP o Python para aprender, pero si el tipado es un argumento a favor, estos lengaujes hacen check de todo.
Ligeros, poco verbosicos, visuales y admiten tipado a un nivel mas que suficiente para alguien que quiera aprender.
Por ya no hablar de JS con TS.
Java es un buen lenguaje.
Tiene a su favor el hecho de poder usar Maven para traerte todas las dependencias que necesites (y hay librerías para todo tipo de cosas), Spring Framework para facilitar muchas cosas y luego variedad de IDEs (los hay que prefieren STS, basado en Eclipse; Eclipse a secas; IntelliJ; e incluso hoy en día se puede usar VSCode).
Si quieres aprender a programar realmente, para dedicarte profesionalmente, yo empezaría por cualquier lenguaje que sea estricto y tipado fuerte.
Si no tienes ni idea de programación, ponerte con algo de tipado débil me parece peligroso.
#12 Cuando dije "básica" te lo saltaste, no? Soy perfectamente consciente de que C++ no es fácil, pero para lo que vas a aprender al principio no le veo pegas.
Java me parece interesante para empezar.
Tipado
Compilado
Multiplataforma
Ampliamente usado en empresas, tanto en backend como en móvil (Android)
Y después de ese tienes Kotlin, que poco a poco puede ir reemplazando a Java y a mi me parece muy divertido de programar. Kotlin va a pegar fuerte los próximos años, y ya hay empresas importantes que veo que lo están empezando a usar en Backend (aparte de Android).
Pues eso: Java y luego Kotlin (que una vez que sepas Java lo aprendes rápido).
Pero vamos, que para aprender desde 0 que es lo básico... como si empiezas con Pascal xD. En la Universidad en 1º se aprende con Pascal y el Turbo Pascal.
#15 Java no es compilado por defecto, es interpretado por una VM, de ahí que sea multiplataforma.
edit: acabo de buscarlo y pareceser que es compilado tmb, aunque dista mucho de una compilación estandar. Tanto que se puede decompilar y sacar el source, pero bueno
Yo miraría de aprender desde lo más básico. Aprender a aprender a programar.
Nada de lenguaje, tira por pseudocódigo, que es lo que te va a enseñar a hacer las cosas desde cero. Una vez desde aquí ya es derivar al lenguaje que quieras.
es que no existe eso de compilación estándar, te estás confundiendo con el target final que no determina en absoluto si algo se considera compilar o no. Un compilador tiene varias fases, y hay una final que es la de generación de código, en java se emite código para una máquina virtual y en otros lenguajes emite código máquina para un procesador concreto, por lo demás el proceso es exactamente el mismo
#21 salvo que uno es reversible y el otro no (completamente). De todas formas esa característica poco importa para escoger un lenguaje y aprender
¿Este es el hilo donde cada uno recomienda el lenguaje dónde menos vergüenza ajena da escupiendo líneas de código?
El lenguaje no importa demasiado, lo importante es tener claros los conceptos para así ser capaz de adaptarte rápido a otros. Por preferencia personal te diría Java, es un lenguage más verbose que python/javascript e incluso php, pero te obliga a seguir unas normas bastante más estrictas
Yo aprendería algún tipo de ensamblador y escribiría mi propio lenguaje de programación compilado que escupiese el ensamblado.
Puedes mirar LC3
https://en.wikipedia.org/wiki/Little_Computer_3
Mira como funciona, el ensamblado y crea un lenguaje básico con variables, funciones, operaciones aritméticas...
Si no tienes huevos aquí tienes una lista interesante:
https://en.wikipedia.org/wiki/List_of_educational_programming_languages
#7 Python no es tipado estático. Tiene algo similar a type annotation para que lo use algún linter y demás. Vamos, puedes hacer las anotaciones y saltartelas fácilmente xD. Salvo que me haya perdido algo nuevo, claro.
#7 Que se pueda tipar no quiere decir que sea tipado fuerte. Para aprender cuantas menos guarradas te permita hacer el lenguaje, mejor.