Hace 3 años | Por NubisMusic a digitalagerevival.com
Publicado hace 3 años por NubisMusic a digitalagerevival.com

Preguntas como: ¿que es un primer lenguaje de programación para aprender?¿Es Java un buen lenguaje de programación para empezar? , ¿Cuán bueno es Java como primer lenguaje de programación?que es el mejor lenguaje de programación para principiantes, o debo empezar con Java o Python? Bueno, la respuesta a todas estas preguntas es que Java es uno de los lenguajes de programación más populares, y hay muchas razones para aprender Java, desde oportunidades de trabajo hasta aprovechar el apoyo de la comunidad. Pero, en el contexto de empezar a...

Comentarios

Casiopeo

Ni de coña.

D

#1 Mi opinión es que el lenguaje es lo de menos. Lo que importa es que quieras construir algo con él. Así encontrarás la motivación necesaria para seguir profundizando en él.

Yo empecé en Basic con 9 años y después a C, Perl, scripts para mIRC, Python. Java lo aprendí cuando me tocó publicar apps en Google Play. Los últimos que aprendí son Typescript por Angular/Ionic y Dart, por Flutter. Javascript ya lo conocía, por la programación web. El lenguaje es lo de menos, lo que importa es que encuentres algo que hacer con el lenguaje.

Con cada lenguaje siempre hice cosas concretas. El lenguaje lo elegía por el Hype quizás, pero sin nada motivante que hacer, no hubiese elegido ninguno.

Si luego entiendes qué son patrones de diseño/arquitectura, verás que hay rudimentos en todos los lenguajes para aplicarlos, que es una de las cosas más importantes en la programación.

D

#20 Si es para aprender, Inform6. No exagero. Si creas un juego de texto, puedes meter situaciones cachondas y surrealistas y de paso aprendes el paradigma de programacion a objetos de forma análoga y literal. Las habitaciones son un objeto, y tambien los "objetos" del juego (do'h!!!), por lo que implementar cosas como herencia se ven al segundo:

Creas una clase "hab" que tenga el atributo "light", es decir, que siempre este iluminada. Ahora todas las objetos que instancies con la clase "hab" funcionan de forma analoga a la clase "room", pero siempre tendran el atributo "light", por lo que si tu personaje va a cualquier lugar definido como "hab"

Class room
with description [;
print (string) self.description;
print "^";
has light;

with description "Es tu sala, llena de cosas, entre ellas una SmartTV y una alfombra con seres peludos de otra galaxia.",'
;

ya estará iluminada de serie (o puedes poner atributos similares en objetos, como por ejemplo una clase
"muebles", que defina que son contenedores de objetos pero son inamovibles por el jugador).

Se puede hacer, claro está, uno a uno sin definir clases, pero es más coñazo.

Pero si con esto hasta chicos de 14-15 e incluso creo que 11 años han creado videojuegos, un universitario debería montarte algo muy decente en solo dos meses.

D

#24 Qué curioso, no lo conocía.

Yo cuando empecé tiraba de Basic, hacía juegos súper cutres. De los primeros para el Amstrad 6128 Plus que tenía, ya no conservo ninguno, pero tengo otros posteriores en QBasic, para PC. En emuladores corren. Cuando muchos años después probé algunos, se me saltaban las lágrimas.

Y ya hablando en general, cuando antaño no existía nada más que assembler, la programación se seguía aprendiendo eh? La pregunta de si Java sirve para aprender, dando por hecho que quizá es muy complicado para principiantes, quizá yo recomendaría lo mismo, no empezar por él, pero por otra razón bien distinta: Porque abstrae demasiadas cosas. C quizá es un buen comienzo, porque puedes toquetear cosas a muy bajo nivel y después construirte o usar abstracciones con las que hacer todo más cómodo.

Hoy día, ya en el siglo XXI, si uno sabe qué son los patrones de diseño y de arquitectura de software, el lenguaje importa un pepino, acabarás replicando los mismos patrones con sintaxis diferentes, pues la filosofía que gobernará todo será la misma.

D

#33 Si te suena Zork, basicamente para ese juego y cientos de aventuras despues, crearon la maquina virtual Z para no tener que escribir un juego para commodore, otro para PC, otro para Apple...

Como lenguaje usaron MDL, pero como era un coñazo, dicidieron escribir
un lenguaje que hiciera ficheros para esa maquina.

Pues crearon el lenguaje inform que es mucho mas simple y orientado a objetos.
El formato de fichero resultante es el mismo.
Como si cojen un lenguaje OOP que luego lo interprete la JVM en vez de usar Java.

D

El mejor en mi opinión es Pascal porque permite al alumno centrarse en el código, no en particularidades propias de cada lenguaje. Proporciona una forma muy pura y sencilla de programar a nivel básico. Después ya se puede seguir con Java, Python o cualquier otro. Sin embargo para un ciclo formativo no lo veo conveniente porque son solo dos años y no se puede perder el tiempo en un año de un lenguaje que no se usa. Me parece bien para primero de carrera nada más.

D

#15 Ojo que Lazarus/FreePascal y Object Pascal no es moco de pavo, se pueden hacer cosas potentes ahi.

Sobre lenguajes que no se usan, es la uni, no la FP2, tu mision es crear cosas nuevas, no adaptarte al mercado.

s

#22 Se puede programar un sistema operativo (el pascal permite insertar ensablaodor). Es decir de todo. Pero declaraciones complejas etc. Y el otro extremo sin declaraciones complejas y sin miramientos el python (como era antiguamente el basic en eso de programar sin marearse ) y con los dos se hacen los extremos y con mucha potencia y capacidades. Claro que el Python tiene un consumo de recursos terrible pero tiene una barbaridad de bibliotecas libres y algunas cosas punteras se han movido a él

Así por la red encuentras código muy potente para razonamiento borroso de cálculo de predicados para IA (lingüística) en OPascal por ejemplo, y redes neuronales de entrenamiento profundo y ejemplos y variaciones en Python fácil

D

#27 Sí, se lo que hay con scpiy, pero con Object Pascal y Lazarus puedes hacer algo facil y que encima tenga rendimiento.

Y con librerías gráficas de serie.

Si quieres scripting ultrarrapido con GUI, TCL/TK.

s

#28 Lo digo por programar de las dos formas: declarando hasta la tos de tal forma encima que quien no sepa programar lea pseudocódigo en inglés casi y programar y solo con asignar te quede declarado incluso con sub-objetos etc y sea más rápido y cómodo para escribir aunque no tanto para leer código de otro... E ir aprendiendo las diferencias

D

#29 espacio en blanco, todo dicho.

s

#31 sip. Fíjate que en Pascal tienes que meter el ; cada vez y si metes la gamba pues error, error. Y en Python es () para cerrar todo con o sin parámetros y se tiende a cometer menos errores de tecleo. Y así... Son tan diferentes que ...

D

Para empezar prefiero C. Muy formal y sigue siendo útil.

Pascal me parecía muy bueno por lo estricto que era, pero la mayoría son cosas que cualquier editor de ahora te avisa o te corrige.

B

C++ unicornios!!!

LeDYoM

#5 pero C++03, 11, 14, 17 o 20?

D

#12 La gestión de punteros es de nenas. No hay nada como el C pelado.

court

No. Es mal ejemplo en muchos aspectos fundamentales y buenas prácticas.

Siguiente pregunta.

R

todo lo contrario, para APRENDER programación Python no es adecuado, abstrae muchas cosas y todo son objetos esencialmente.

Para aprender PROGRAMACIÓN en plan práctica, manos a la obra, programar sin más, entonces sí: Python es muy buena opción igual que Java o C# para empezar, hasta Perl.

Ahora C, Clojure, Rust, C++, Scala si me apuras todo eso te da mejores fundamentos.

D

#9 #10 Ni java ni Python.

TCL y TK. Aprendes tanto programas de terminal como herramientas gráficas.

alexwing

Depende ¿Cuanto te gusta el sufrimiento y el dolor?

d

No hay ni que leerlo, tras decir cosas como "Java es más simple, la sintaxis es mucho más legible que C, C++ o cualquier otro lenguaje." o que "Java es un lenguaje lenguaje fuertemente tecleado" estoy por ponerlo en humor.

D

Para aprender, Pascal. Para subir memes, cualquier mierda web.

D

para lo que es a programar yo me empezaría con lenguajes tipo C/pascal y siempre sobre sistemas operativos simples tipo MS-DOS. Lo que no haría en ningún caso es enseñarles trabajando sobre un framework concreto o sobre sistemas operativos más complejos pues ahí pierdes un poco el control, y lo que interesa cuando aprendes es entender en qué consiste un programa, controlar el fujo.

He visto a gentre que aprende a base "me han dicho que cuando se pulsa a un botón se llama a tal función y entonces meto yo ahí lo que quiero hacer". Y esa forma de aprender es incompleta porque te pierdes toda la parte que hace que al pulsarse ese botón se llame a esa función. El que aprende a programar así no lleva las riendas de una aplicación sino que es el entorno el que le controla a él. Y de esa forma se acaban crreando engendros de mucho cuidado.

Corto.Maltés

Ni de coña. Yo empezaría recomendando código maquina o en su defecto COBOL, algo sencillito y developer friendly.
Poco a poco y con buena letra; que luego ves a cada experto en R o Phyton que son para mear y no echar gota.

D

Igual es que no hay 'un' lenguaje para aprender a programar.
Empezar a programar con Java no me parece muy buena idea principalmente porque la parte del manejo de memoria se oculta y entras de lleno en orientacion a objetos. Java me parece mas apto para mas adelante como por ejemplo la introduccion de patrones, paralelismo, etc.

Para comenzar algo como ADA era una buena opcion junto con Haskell (imperativo + declarativo).

Empezar con cualquier lenguaje scripting (Python, Perl, etc.) es un crimen.

s

#13 en ObjectPascal (y creo que en ADA) tienes todas las instrucciones de manejo de listas del LISP pero con sintaxis diferente. Pero yo creo que Python y a la vez ObjectPascal está muy bien (Python pasas de declarar cada cosa detalladamente, solo asignas y ya está y de marcar estructuras pero las utilizas y se programa muy cómodo como con el BASIC al inicio pero más estructurado) y con ObjectPascal no hace falta ser Shakesperae como con ADA (me parece exagerado) a diferencia de Python lo declaras TODO lo que cuesta mucho escribir y que falle por errores tontos al teclear obligando a estructurar, se puede insertar ensamblador etc pero deja un código que parece pseudocódigo en inglés muy fácil de leer y lo que lo hace fácil de depurar etc luego de errores de estructuras lógicas etc como con ADA, claro. Y se tienen las dos formas más extremas de escribir código con una potencia terrible. Cierto que en el ObjetcPascal el mejor compilador es de propietario de Embarcadero (antes Borland) pero con Lazarus + FeePascal se puede escribir igualmente y con un IDE que ayuda mucho que sin él tal vez mucha gente se eche atrás al probar con ADA... Y al programar con Python por su forma de utilizar objetos no hace falta alguna dicho IDE

Y luego a lo que se quiera porque se habrá probado los extremos

zenko

de acuerdo, pero de las razones que ponen, menos la primera las veo todas bien con respecto a Java

osiono

¿A qué edad?

Robus

Ni ensamblador, en código máquina... con ceros y unos... y si no tienes ceros usas la letra "O"... como en mis tiempos!

D

En Java tienes que montar un proyecto, compilar codigo, etc, etc.

Esta lleno de declaraciones propias de Java que no dan una idea general de lo que es programar: public, void, static, blabla.

Tener que tipar las variables es una complejidad de la programacion que no ayuda a la gente que aprende.

Si quieres un lenguaje para aprender vete a alguno de scripting tipo javascript, python, perl, etc. De entre todos los que hay por su simplicidad y tendencia al orden y buenas practicas diria algo como python o ruby, aunque quizas ruby tenga demasiado azucar sintactico para un aprendiz.

El que hace este tipo de preguntas es un incendiario... es lo mismo que preguntar sobre que distribución Linux es la mejor... la gente sale con los bates en alto

F

español no vale ??? o lo que sea que hable cada uno..., para aprender creo que lo mejor es usar el lenguaje que hables habitualmente, después cuando sepas de que va la historia ya podrás elegir uno u otro según la necesidad