Programación qué lenguaje elegir

Hola a todos:

Estoy pensando en ponerme a programar de nuevo. Prácticamente desde que acabé la carrera no he programado casi nada. No sé muy bien de qué hilo tirar ahora mismo. Sobre todo en lo referente al lenguaje y tecnología a elegir para formarme.

A ver si podéis orientarme un poco.

Por otro lado, ¿creéis que es factible que me ponga al día con la edad que tengo? O mejor desisto.

Gracias de antemano.

Un saludo.
darzia escribió:Hola a todos:

Estoy pensando en ponerme a programar de nuevo. Prácticamente desde que acabé la carrera no he programado casi nada. No sé muy bien de qué hilo tirar ahora mismo. Sobre todo en lo referente al lenguaje y tecnología a elegir para formarme.

A ver si podéis orientarme un poco.

Por otro lado, ¿creéis que es factible que me ponga al día con la edad que tengo? O mejor desisto.

Gracias de antemano.

Un saludo.


Dicen que nunca es tarde si la dicha es buena, aunque está claro que te costará mas que si te hubieras puesto en su día.

En cuanto a que lenguaje ponerte o con qué tecnología... pues tienes varias opciones, yo me decantaría por dos caminos posibles, movilidad o desarrollo web, que copan la gran mayoría del mercado. Luego tendrás que decidir si vas a la parte de back-end, front-end o full stack. Depende mucho de que se te dé mejor (o que te guste) deberías involucrarte mas en una parte u otra.

Lenguajes tienes ahora mismo una pila de ellos para elegir, Java, .Net, Scala, Javascript, python... hay un montón de tecnologías interesantes relacionadas con ellos. Pero bueno, variará mucho si te quieres dedicar a la parte del front o la parte del back.

Si tienes algún camino mas claro que otro, te puedo intentar orientar mejor hacia donde tirar.
Nunca es tarde para retomar la programación si realmente te gusta ;) Algo ligerito puede ser Python para recordar conceptos y entrar en calor.

Te dejo una imagen de GitHub del uso de lenguajes de programación, aunque son datos de agosto del 2015.

Imagen

Otra camino que puedes tomar es participar el proyectos de Software Libre ;) nunca está demás pasarse por StackOverFlow se puede llegar a aprender mucho.

Dicen que esta bastante en auge JavaScript; pero al final se trata de encontrar un lenguaje en el que te encuentres cómodo y desarrollar cosas que quieras.

Por último, puedes profundizar en R y en Python pero esto ya estaría bastante enfocado a Big Data y análisis estadístico.

Cómo puedes ver en programación tienes muchos campos dónde elegir, sería importante saber si quieres hacerlo con el objetivo de buscar un trabajo a futuro y/o por placer.

Un saludo ;)
Newton escribió:Nunca es tarde para retomar la programación si realmente te gusta ;) Algo ligerito puede ser Python para recordar conceptos y entrar en calor.

Te dejo una imagen de GitHub del uso de lenguajes de programación, aunque son datos de agosto del 2015.

Imagen

Otra camino que puedes tomar es participar el proyectos de Software Libre ;) nunca está demás pasarse por StackOverFlow se puede llegar a aprender mucho.

Dicen que esta bastante en auge JavaScript; pero al final se trata de encontrar un lenguaje en el que te encuentres cómodo y desarrollar cosas que quieras.

Por último, puedes profundizar en R y en Python pero esto ya estaría bastante enfocado a Big Data y análisis estadístico.

Cómo puedes ver en programación tienes muchos campos dónde elegir, sería importante saber si quieres hacerlo con el objetivo de buscar un trabajo a futuro y/o por placer.

Un saludo ;)


¿Se puede saber cómo leches se mantiene Java en el segundo lugar? Si es una basura, no para de dar problemas [buuuaaaa]
Newton escribió:Nunca es tarde para retomar la programación si realmente te gusta ;) Algo ligerito puede ser Python para recordar conceptos y entrar en calor.

Te dejo una imagen de GitHub del uso de lenguajes de programación, aunque son datos de agosto del 2015.

Imagen

Otra camino que puedes tomar es participar el proyectos de Software Libre ;) nunca está demás pasarse por StackOverFlow se puede llegar a aprender mucho.

Dicen que esta bastante en auge JavaScript; pero al final se trata de encontrar un lenguaje en el que te encuentres cómodo y desarrollar cosas que quieras.

Por último, puedes profundizar en R y en Python pero esto ya estaría bastante enfocado a Big Data y análisis estadístico.

Cómo puedes ver en programación tienes muchos campos dónde elegir, sería importante saber si quieres hacerlo con el objetivo de buscar un trabajo a futuro y/o por placer.

Un saludo ;)


Muchas gracias a todos por las respuestas. Quiero retomar la programación por ambos motivos. Me explico, siempre ha sido algo que me ha apasionado y me gustaría dedicarme a ello. Además, también quiero hacerlo por placer porque como he dicho es algo que me gusta.

A ver si me pongo a investigar con calma.

Un saludo.
darzia escribió:
Newton escribió:Nunca es tarde para retomar la programación si realmente te gusta ;) Algo ligerito puede ser Python para recordar conceptos y entrar en calor.

Te dejo una imagen de GitHub del uso de lenguajes de programación, aunque son datos de agosto del 2015.

Imagen

Otra camino que puedes tomar es participar el proyectos de Software Libre ;) nunca está demás pasarse por StackOverFlow se puede llegar a aprender mucho.

Dicen que esta bastante en auge JavaScript; pero al final se trata de encontrar un lenguaje en el que te encuentres cómodo y desarrollar cosas que quieras.

Por último, puedes profundizar en R y en Python pero esto ya estaría bastante enfocado a Big Data y análisis estadístico.

Cómo puedes ver en programación tienes muchos campos dónde elegir, sería importante saber si quieres hacerlo con el objetivo de buscar un trabajo a futuro y/o por placer.

Un saludo ;)


Muchas gracias a todos por las respuestas. Quiero retomar la programación por ambos motivos. Me explico, siempre ha sido algo que me ha apasionado y me gustaría dedicarme a ello. Además, también quiero hacerlo por placer porque como he dicho es algo que me gusta.

A ver si me pongo a investigar con calma.

Un saludo.

Antes se me ha pasado, pero también puedes visitar Indice TIOBE te mostrará bastante información respecto al uso de los lenguajes de programación y se encuentra actualizado :)

Si quieres enfocarlo al tema laboral, no olvides abrir una cuenta en GitHub para poder subir tus trabajos; en muchos sitios preguntan por tu cuenta de GitHub o simplemente para tenerlo a modo de portfolio.

Un saludo y a disfrutar, sin empezar proyectos de 0 hay muchos también en los que meterse, ayudar, aprender y divertirse.
Master01 escribió:
Newton escribió:Nunca es tarde para retomar la programación si realmente te gusta ;) Algo ligerito puede ser Python para recordar conceptos y entrar en calor.

Te dejo una imagen de GitHub del uso de lenguajes de programación, aunque son datos de agosto del 2015.

Imagen

Otra camino que puedes tomar es participar el proyectos de Software Libre ;) nunca está demás pasarse por StackOverFlow se puede llegar a aprender mucho.

Dicen que esta bastante en auge JavaScript; pero al final se trata de encontrar un lenguaje en el que te encuentres cómodo y desarrollar cosas que quieras.

Por último, puedes profundizar en R y en Python pero esto ya estaría bastante enfocado a Big Data y análisis estadístico.

Cómo puedes ver en programación tienes muchos campos dónde elegir, sería importante saber si quieres hacerlo con el objetivo de buscar un trabajo a futuro y/o por placer.

Un saludo ;)


¿Se puede saber cómo leches se mantiene Java en el segundo lugar? Si es una basura, no para de dar problemas [buuuaaaa]


Que es mejorable, no cabe duda, que es una basura y no deja de dar problemas?????. dime cuales son esos problemas exactamente.
raul_sanchez1 escribió:
Master01 escribió:
Newton escribió:Nunca es tarde para retomar la programación si realmente te gusta ;) Algo ligerito puede ser Python para recordar conceptos y entrar en calor.

Te dejo una imagen de GitHub del uso de lenguajes de programación, aunque son datos de agosto del 2015.

Imagen

Otra camino que puedes tomar es participar el proyectos de Software Libre ;) nunca está demás pasarse por StackOverFlow se puede llegar a aprender mucho.

Dicen que esta bastante en auge JavaScript; pero al final se trata de encontrar un lenguaje en el que te encuentres cómodo y desarrollar cosas que quieras.

Por último, puedes profundizar en R y en Python pero esto ya estaría bastante enfocado a Big Data y análisis estadístico.

Cómo puedes ver en programación tienes muchos campos dónde elegir, sería importante saber si quieres hacerlo con el objetivo de buscar un trabajo a futuro y/o por placer.

Un saludo ;)


¿Se puede saber cómo leches se mantiene Java en el segundo lugar? Si es una basura, no para de dar problemas [buuuaaaa]


Que es mejorable, no cabe duda, que es una basura y no deja de dar problemas?????. dime cuales son esos problemas exactamente.


Pues que por ejemplo tengas que borrar las updates anteriores para actualizar y no tener problemas, que aún así te salgan mensajes de error y no se carguen las aplicaciones, y en última instancia y no menos importante, que es una mina de bichos (virus, troyanos y asdf).
Yo te aconsejaria Java, es un lenguaje sencillo que incluye orientación a objetos, patrones de diseño, herencia... vamos que docentemente hablando lo veo muy completo y recomendable.

Además lo mejor de todo es que puedes poner en práctica tu aprendizaje desarrollando aplicaciones para android, que actualmente se lleva mucho y es bastante útil. Yo mismo llevo un par de proyectillos en mis ratos libres y es gratificante palpar el resultado de tu trabajo (que es una de las cosas que siempre heché de menos en la carrera, allí programabamos usando consola y eso siempre me resultó intangible)
Master01 escribió:
raul_sanchez1 escribió:
Master01 escribió:¿Se puede saber cómo leches se mantiene Java en el segundo lugar? Si es una basura, no para de dar problemas [buuuaaaa]


Que es mejorable, no cabe duda, que es una basura y no deja de dar problemas?????. dime cuales son esos problemas exactamente.


Pues que por ejemplo tengas que borrar las updates anteriores para actualizar y no tener problemas, que aún así te salgan mensajes de error y no se carguen las aplicaciones, y en última instancia y no menos importante, que es una mina de bichos (virus, troyanos y asdf).


Estás hablando de cosas distintas. Una cosa es la plataforma para lanzar aplicaciones y otra es programar en Java. Primero, cada vez que programas en algo en java, lo haces para una versión concreta, porque en la siguiente versión puede que se hayan eliminado cosas que tu uses en la previa. En cuanto a los demás fallos, pues sí, ha habido problemas con las versiones, y varias vulnerabilidades (no virus o troyanos), pero de nuevo en la plataforma, cosa que no es culpa de los programas que tú puedas hacer. Si se descubren vulnerabilidades, se parchean y ya está, tu programa sigue igual. Pero vamos, por ejemplo Scala corre bajo la maquina virtual de Java, es decir está expuesto a los mismos problemas, que no van asociados al lenguaje, sino a la plataforma que se instala para poder ejecutar los programas. no sé si me explico.
En los resultados de la encuesta de StackOverflow que han salido recientemente triunfa sobre todo el cloud y el desarrollo web fullstack. En el segundo lo que mas se usa es Javascript + Node.js pero están tirando mucho los lenguajes para servidor tipo Rust. Se valora mucho también la programación funcional.

Te diría que ahora mismo lo mejor es enfocarse a fullstack con usando Node.js como servidor, tiene una curva de aprendizaje rápida y te permite coger rodaje con programación funcional y asíncrona.
Para programación funcional yo tiraría por Scala, pero node mola para montar un proyecto rápido. En cuanto a lo de full-stack, no sé, pero en cuanto vas a una empresa seria o eres de back o eres de front. En mi empresa cada uno tiene sus funciones y vale que puedes saber de todo, pero nunca será lo mismo centrarse en una parte sólo o en las dos. Y te lo digo, que yo hasta hace 6 meses había currado toda mi vida de full-stack.

Por ejemplo para el tema de Big Data javascript no valdría de nada, los lenguajes que se usan son Java, Scala y Python para casi todas las APIs que salen. Depende mucho del sector en el que te quieras o esperes especializarte.

De todas formas, coincido, que desde hace meses Node tiene buena presencia y que los conceptos que presenta suenan bastante interesantes, está por ver que no sea otro framework que se viene abajo como tantos otros.
Newton escribió:Imagen

Sólo decir que la imagen está muy bien como orientación, pero que por la naturaleza de Github, lo que más vas a encontrar ahí son proyectos web, con lo que los lenguajes más usados serán, obviamente, orientados a web.
Yo te aconsejaria C. El lenguaje de programacion que al empezar se te hará mas facil.

Sigue con Java o C++.


Ahi ya puedes saltar a HTML y Javascript.
CP3 escribió:Yo te aconsejaria C. El lenguaje de programacion que al empezar se te hará mas facil.

Sigue con Java o C++.


Ahi ya puedes saltar a HTML y Javascript.


¿Qué C es el más fácil? Puffff. Si es dd lo más complicados.
seaman escribió:
CP3 escribió:Yo te aconsejaria C. El lenguaje de programacion que al empezar se te hará mas facil.

Sigue con Java o C++.


Ahi ya puedes saltar a HTML y Javascript.


¿Qué C es el más fácil? Puffff. Si es dd lo más complicados.

Yo fui el primero que aprendi al aprender a programar y me pareció bastante sencillo comparado con otros que he dado mas adelante como Java o Javascript. aunque hay cosas como las estructuras de repetición que me costaron al principio pero bueno, practicando todo se aprende.
C lo conozco bastante a fondo, porque fue lo que más estudié en la carrera. Creo que por el momento miraré Java.

Espero conseguir ponerme al día.

Un saludo y muchas gracias a todos :)
darzia escribió:C lo conozco bastante a fondo, porque fue lo que más estudié en la carrera. Creo que por el momento miraré Java.

Espero conseguir ponerme al día.

Un saludo y muchas gracias a todos :)


Seria el paso lógico, ponerse con java, ya que es el lenguaje de POO mas usado.
CP3 escribió:
seaman escribió:
CP3 escribió:Yo te aconsejaria C. El lenguaje de programacion que al empezar se te hará mas facil.

Sigue con Java o C++.


Ahi ya puedes saltar a HTML y Javascript.


¿Qué C es el más fácil? Puffff. Si es dd lo más complicados.

Yo fui el primero que aprendi al aprender a programar y me pareció bastante sencillo comparado con otros que he dado mas adelante como Java o Javascript. aunque hay cosas como las estructuras de repetición que me costaron al principio pero bueno, practicando todo se aprende.

Coincido con @seaman : C es muy complicado... pero ojo, que es bastante bueno para aprender: si te has pegado de verdad con C, te puedes pegar con muchos otros lenguajes.

En C prácticamente todo lo tiene que hacer el programador.
¿Que te creas una lista? Pues ya te apañarás reservando memoria dinámica.
¿Amplias tu lista? Vuelvete a pegar con la memoria dinámica.
¿Que ya no usas tu lista? Pues ya te apañarás para destruirla y liberar memoria.

Punteros, mallocs, callocs, acceso a bajo nivel...
Claro, cosas que en otros lenguajes no te deja hacer. O que haces "de aquella manera".

¿Quieres crear una lista en C#? List<> miLista= new List<>();
¿Amplias tu lista? miLista.Add(object);
¿La dejas de usar? Ya se apañará el gestor de memoria
Y en java, pues muy parecido.

Yo agradezco haberme pegado con C para empezar en lugar de con Java... porque me parece mejor (o al menos, mejor para lo que he acabado haciendo) empezar por un nivel más bajo e intentar comprender todo.
Eso sí, el proceso de "sacar algo" es mucho más lento.
jorcoval escribió:
CP3 escribió:
seaman escribió:
¿Qué C es el más fácil? Puffff. Si es dd lo más complicados.

Yo fui el primero que aprendi al aprender a programar y me pareció bastante sencillo comparado con otros que he dado mas adelante como Java o Javascript. aunque hay cosas como las estructuras de repetición que me costaron al principio pero bueno, practicando todo se aprende.

Coincido con @seaman : C es muy complicado... pero ojo, que es bastante bueno para aprender: si te has pegado de verdad con C, te puedes pegar con muchos otros lenguajes.

En C prácticamente todo lo tiene que hacer el programador.
¿Que te creas una lista? Pues ya te apañarás reservando memoria dinámica.
¿Amplias tu lista? Vuelvete a pegar con la memoria dinámica.
¿Que ya no usas tu lista? Pues ya te apañarás para destruirla y liberar memoria.

Punteros, mallocs, callocs, acceso a bajo nivel...
Claro, cosas que en otros lenguajes no te deja hacer. O que haces "de aquella manera".

¿Quieres crear una lista en C#? List<> miLista= new List<>();
¿Amplias tu lista? miLista.Add(object);
¿La dejas de usar? Ya se apañará el gestor de memoria
Y en java, pues muy parecido.

Yo agradezco haberme pegado con C para empezar en lugar de con Java... porque me parece mejor (o al menos, mejor para lo que he acabado haciendo) empezar por un nivel más bajo e intentar comprender todo.
Eso sí, el proceso de "sacar algo" es mucho más lento.


Pero es que no se puede comparar programar en C con programar con C# o con Java.

Es que están a niveles diferentes.
Yo he aprendido con Java, que dicen también que es un lenguaje complicado para aprender por ser bastante coñazo y puñetero en algunas cosas.
A ver, yo C no lo he tocado en profundidad. Pero me sirvió para luego ir a lenguajes a objetos mas facilmente.
CP3 escribió:A ver, yo C no lo he tocado en profundidad. Pero me sirvió para luego ir a lenguajes a objetos mas facilmente.


Te parece más fácil C porque es con el que aprendiste a programar, es normal. A mi que aprendí con Java, C me parece un infierno. Aunque creo que objetivamente C es de los más difíciles de dominar.
Al OP, te digo lo mismo que los compañeros, Java es la mejor opción que tienes, tanto para pillarle el truco a la orientación a objetos (no sé si habrás hecho con C, que también se puede hacer) como para salidas laborales (Android por ejemplo es todo Java).
Te recomiendo primero elegir dónde quieres empezar a programar y después elijas el lenguaje.

Si quieres programar en Android, Java es la mejor opción, aunque existen otros lenguajes que se ejecutan en la JVM y que por lo tanto pueden usarse en Android de la misma manera que Java, cómo por ejemplo Kotlin, que fue creado por los mismos desarrolladores de Android Studio. Pero vamos al momento de buscar información, de Java habrá mucha más.

Si quieres programar en iOS Swift es la mejor opción. Aunque Objective-C aun no ha muerto y con el tiempo será recomendable que aprendas al menos lo básico de Objective-C, Swift te puede ahorrar muchísimas horas de trabajo y te servirá para aprender lo que es la programación moderna. Además Swift está diseñado para ser un lenguaje "seguro", detectando todo tipo de errores y posibles errores en tiempo de compilación, obligándote a tratar con ellos antes de generar los ejecutables, de tal manera que te ayudará mucho no sólo para aprender a programar, sino también para aprender a detectar y evitar posibles errores.

Si quieres web… Honestamente no te recomiendo empezar con web [360º]. Pero si lo haces no queda otra más que empezar con el front-end y por lo tanto con Javascript, un lenguaje con el que es muy fácil hacer cosas sencillas, pero un infierno a la hora de hacer cosas complejas. Si bien es cierto que es el lenguaje de moda y con un futuro muy prometedor, sigue siendo un lenguaje terrible y que, por la necesidad de dar compatibilidad a navegadores antiguos, no podrás aprovechar todas esas novedades tan prometedores que intentan solventar todas las deficiencias del lenguaje.

La parte buena de la web está en el back-end, literalmente puedes usar cualquier lenguaje que te de la gana, aunque desde luego, si eliges uno muy exótico te será difícil encontrar un hosting para el. Pero si te metes de lleno en esta área, puede ser muy gratificante.

Desde luego existen muchas otras áreas de desarrollo donde puedes entrar, como la programación de aplicaciones de escritorio, de videojuegos etc…
Muchas gracias a todos por las respuestas. Me habéis ayudado un montón :)

Al final opté por Java. Creo que va a ser el salto más sencillo viniendo de C. Tengo mucha faena por delante, pero estoy muy ilusionado. Espero conseguirlo [+risas]

Un saludo.
Yo tiraría por lenguajes web y entender bien como funciona todo el entorno web, tiene pinta que de aquí a un futuro la mayor parte de la programación será para web/cloud.
Metalhead escribió:(no sé si habrás hecho con C, que también se puede hacer)

Ansi-C no es un lenguaje OO... así que imagino que será con struct para atributos y punteros a función para hacer de métodos?
Debería pensar cómo es la herencia... ¿structs encapsulados?

Nunca he hecho algo así, sólo de pensarlo me entran 7 males XD

En empotrado y tal sí que he hecho alguna cosa en C, pero para aplicaciones uso C#, porque por mi trabajo son aplicaciones escritorio y cliente-servidor por huevos.
jorcoval escribió:
Metalhead escribió:(no sé si habrás hecho con C, que también se puede hacer)

Ansi-C no es un lenguaje OO... así que imagino que será con struct para atributos y punteros a función para hacer de métodos?
Debería pensar cómo es la herencia... ¿structs encapsulados?

Nunca he hecho algo así, sólo de pensarlo me entran 7 males XD

En empotrado y tal sí que he hecho alguna cosa en C, pero para aplicaciones uso C#, porque por mi trabajo son aplicaciones escritorio y cliente-servidor por huevos.


Pues no te puedo aclarar mucho porque C lo he tocado muy poco, pero sé que te lo puedes montar para hacerlo. Por si a alguien le interesa el tema aquí os dejo un libro bastante completito (el autor lo ha publicado en internet él mismo, no es un link pirata ni nada): https://www.cs.rit.edu/~ats/books/ooc.pdf

PD. En mi curro también trabajamos con C# en .NET
Metalhead escribió:
CP3 escribió:A ver, yo C no lo he tocado en profundidad. Pero me sirvió para luego ir a lenguajes a objetos mas facilmente.


Te parece más fácil C porque es con el que aprendiste a programar, es normal. A mi que aprendí con Java, C me parece un infierno. Aunque creo que objetivamente C es de los más difíciles de dominar.
Al OP, te digo lo mismo que los compañeros, Java es la mejor opción que tienes, tanto para pillarle el truco a la orientación a objetos (no sé si habrás hecho con C, que también se puede hacer) como para salidas laborales (Android por ejemplo es todo Java).


¿Es verdad eso de que Google quiere cambiar Java como lenguaje para Android? Lo comentó un compañero del FP pero no le hice mucho caso.

darzia escribió:Muchas gracias a todos por las respuestas. Me habéis ayudado un montón :)

Al final opté por Java. Creo que va a ser el salto más sencillo viniendo de C. Tengo mucha faena por delante, pero estoy muy ilusionado. Espero conseguirlo [+risas]

Un saludo.


Yo si quieres te paso mis apuntes, eso si, está la parte resumida y la parte más extensa. A mi no me supone ningún problema.
Estudia Cobol y Javascript. Hazme caso. Saludos y mucha suerte!
Si vienes de C es muy buena opción comenzar con el reciclaje con Java, pero yo mantendría un ojo puesto en GO https://golang.org/. Lenguaje desarrollado por Google y cada vez con más fuerza en los perfiles DevOps.

Irremediablemente la nube (cloud computing) va a transformar los perfiles de desarrolladores web y administradores de sistemas.
Yo estoy aprendiendo python, es bastante facil y hay tutoriales y libros por doquier xD
Lo importante es entender las estructuras de control, bucles, condicionales, arrays, listas y programación orientada a objetos. La mayoría de lenguajes tienen la misma esencia, para comenzar en mi opinión lo mejor es java o python, hay mucho material, muchas dudas resueltas, la api de java es muy grande, al igual que los módulos de python. Te evitas reinventar la rueda.
32 respuestas