• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

Que lenguaje es mejor aprender hoy en dia

Diego Arroyo

Nuevo
Registrado
3 Sep 2016
Mensajes
6
Puntos
0
Edad
44
Buenas tardes. Primero me gustaria presentarme. Me llamo Diego, tengo 37 años y por motivos laborables resido en Alemania. Mi hobby siempre ha sido la programacion, aunque desgraciadamente nunca me he podido dedicar a ello de manera profesional. Hace unos 18 años estudie C por mi cuenta y la experiencia fue muy satisfactoria.

La cosa ha evolucionado mucho y me gustaria aprender un lenguaje mas moderno y con futuro con el que tuviese la posibilidad de crear entornos graficos como Java o C#. Y esa es precisamente mi duda, no estoy seguro de cual de ellos aprender.

He visto en el foro que hay algunos desarrolladores activos y me gustaria que me guiasen para saber que lenguaje es mas util hoy en dia. Aclarar que voy a trabajar bajo Windows por si**un lenguaje es mejor que el otro en esta plataforma.

Un saludo a todos.
 
Yo entre C# y Java prefiero C# (mas si lo enfocas a programar a windows). Java tambien esta bien porque esta mas presente en diferentes ambitos. Aunque siendo sincero da casi igual cual aprendas pq entre esos dos la diferencia (por encima) es minima. Asi que si aprendes uno sera muy facil aprender el otro.

Hay otros lenguajes interesantes como puede ser Rust (este esta aun "verde" pero apunta maneras), Python (puente entre lenguajes como el C y lenguajes mas orientados a la web como JavaScript) o inclusive Ruby (aunque este no lo he probado ni nada). Si te sirve de algo te dejo la lista de los lenguajes que mas se utilizan ahora:

JavaScript
Java
PHP
Python
C#
C++
Ruby
CSS
C
Objective-C
Shell
R
Perl
Scala
Go
Haskell
Swift
Matlab
Visual Basic
Clojure
Groovy

Salu2
 
Yo entre C# y Java prefiero C# (mas si lo enfocas a programar a windows). Java tambien esta bien porque esta mas presente en diferentes ambitos. Aunque siendo sincero da casi igual cual aprendas pq entre esos dos la diferencia (por encima) es minima. Asi que si aprendes uno sera muy facil aprender el otro.

Hay otros lenguajes interesantes como puede ser Rust (este esta aun "verde" pero apunta maneras), Python (puente entre lenguajes como el C y lenguajes mas orientados a la web como JavaScript) o inclusive Ruby (aunque este no lo he probado ni nada). Si te sirve de algo te dejo la lista de los lenguajes que mas se utilizan ahora:

JavaScript
Java
PHP
Python
C#
C++
Ruby
CSS
C
Objective-C
Shell
R
Perl
Scala
Go
Haskell
Swift
Matlab
Visual Basic
Clojure
Groovy

Salu2

Gracias por tu respuesta. De momento solo estoy interesado en alguno de esos dos lenguajes que dije.
 
Yo me tiraria a C#... He estudiado ambos (algo más Java, la verdad) y C# tiene cierto encanto...

Enviado desde mi X5pro mediante Tapatalk
 
Bienvenido al foro Diego.

En mi humilde opinión si te vas a centrar exclusivamente en el desarrollo bajo la plataforma Windows, te aconsejo irte de cabeza a C#. Te expongo las razones basándome en mi experiencia:

- Te olvidas de tener que instalar la máquina virtual para ejecutar tus programas o bien para que otras personas los ejecuten. Tus programas en C# se ejecutarán a través del framework .NET que va con Windows por defecto. Recuerda que en tus desarrollos tienes la posibilidad de indicar la versión mínima de este framework para que tus programas sean ejecutados.

- El IDE Visual Studio es mejor que cualquier IDE de Java, hay una notable diferencia para ser sinceros. El IDE de Microsoft es de lo mejorcito por no decir lo mejor que tenemos los desarrolladores hoy en día.

- Visual Studio te proporciona la posibilidad de añadir más elementos a la interfaz de usuario de tus programas de una manera mucho más simple con el fin que tus programas se vean como uno de nivel profesional. En Java algunos elementos visuales no están disponibles para ponerlos en tu diseño, por lo que tienes que crearlos por ti mismo a través de las clases. Por ejemplo, el ErrorProvider que hice manualmente en Java a pesar de funcionar bien no me parece que esté tan bien implementado que el que te da el IDE de Microsoft. Lo que quiero decir es que te ahorras complicaciones de tener que estar creando cosas para tu interfaz de manera manual.

Esas son mis tres razones principales. No voy a entrar en el debate de que lenguaje es mejor porque a unas personas les parecerá más humano y menos espeso C# que Java y viceversa. Ya te digo que influye mucho los lenguajes con los que hayas trabajado anteriormente.

Un saludo y espero haberte servido de ayuda.
 
Muchas gracias a ambos. Parece que mi decision por decantarme C# va a ser unanime jeje

De todos modos me gustaria que mas gente me diese su opinion para tenerlas en cuenta.
 
Los lenguajes son herramientas, y como tales, hay que usar la más adecuada al trabajo que vaya a hacerse, más allá de opiniones personales. En tu caso, y precisamente porque dices que estás más enfocado hacia Windows, tu elección debe ser C#.

Es el lenguaje más adecuado para desarrollar en Windows, aunque también podrías desarrollar software multiplataforma con la plataforma Mono. Esto en este momento no debe importarte demasiado, pero está bien que lo sepas. Java se utiliza en otro tipo de entornos, y precisamente no es el mejor si pretendes crear interfaces gráficas, que es otra de las cosas que comentas. C# en cambio sí que es excelente para ello, hay muy buenas herramientas para esa tarea.

Dicho todo esto, entre ambos hay muchas más similitudes que diferencias, por lo que el paso de uno a otro no va a costarte demasiado. Sintácticamente son iguales o muy parecidos, la forma de programar es la misma... Tampoco hay una diferencia clara en qué se suele hacer con cada uno, ya que ambos puedes utilizarlos para desarrollo web, aplicaciones móviles y otras cosas, pero sí que es mejor para lo que tú requieres.

Tu decisión de ir por C# como te dicen los compañeros considero que es adecuada. ¡Suerte!
 
Muchas gracias por tu opinion. En que otro tipo de entornos se usa Java?
 
Java, razón, android.

Aunque mi primera recomendación es que pruebes el desarrollo web.
 
Java, razón, android.

Aunque mi primera recomendación es que pruebes el desarrollo web.

Pero yo no voy a programar nada en android.

Alguien puede explicarme de manera muy resumida y sin usar palabras tecnicas las ventajas de la programacion orientada a objeto?

Muchas gracias por vuestra paciencia.
 
Pero yo no voy a programar nada en android.

Alguien puede explicarme de manera muy resumida y sin usar palabras tecnicas las ventajas de la programacion orientada a objeto?

Muchas gracias por vuestra paciencia.

La verdad es que es algo más técnico y con más contenido de lo que te expongo a continuación, pero al menos te servirá para tener una pequeña idea de las principales ventajas de manera muy resumida y con palabras habituales.

  • Modularización: Funciones divididas en módulos. Lo que comúnmente denominamos clases.

  • Herencia: El código escrito puede ser reutilizado para otro programa de funcionamiento similar.

  • Tratamiento de excepciones: Los errores que produzca un programa pueden ser controlados para evitar el cuelgue del mismo.

  • Encapsulamiento: Cada función del código es independiente del resto aunque se comuniquen entre sí.

De todos modos te recomiendo consultar Wikipedia para que puedas informarte a placer y de manera más técnica.

Cito de paso a oMega_2093 que le preguntaste algo y no te respondió.
 
Pero yo no voy a programar nada en android.

Alguien puede explicarme de manera muy resumida y sin usar palabras tecnicas las ventajas de la programacion orientada a objeto?

Muchas gracias por vuestra paciencia.

Pues entonces prueba con c++ o c#.

Yo use hace tiempo mucho java y la verdad que es un lenguaje que me gusta, ademas de tener una sintaxis bastante "comun" y es bastante sencillo de aprender.
Pero la ejecucion de java no me acaba de gustar, y encima super lenta.
Las principales ventajas, al menos superficiales que le veo son esas, el soporte multilplataforma y android.
Si no te interesa peus a otra cosa.

Pero sigo manteniendo mi primera opcion, los lenguajes orientados a la web.
Javascript por ejemplo, si no me equivoco es el lenguaje actual con mas tiron, y te permite hacer lo que te de la gana.
 
Yo me hacía la misma pregunta, hasta que empecé a pensar diferente.
¿El motivo? Es que tengo varios proyectos que realizar en Android, en Internet, etc y me hacía la misma pregunta.

Entonces, lo que voy a hacer (esto tal vez te sirva también y acepto opiniones), es estudiar bien los conceptos de la programación.
Porque a partir de ahí, una vez que tenés bien claros los conceptos, el lenguaje que vayas a utilizar, va a depender del proyecto que quieras realizar. Pero, teniendo esos conocimientos, podrás aprender y entender más fácil cualquier código de programación.
Después la complejidad, depende de cada uno, pero la sintaxis es similar en todos.

Esa es mi opinión personal, si hay alguno que quiera agregar algo, adelante.
 
Yo me hacía la misma pregunta, hasta que empecé a pensar diferente.
¿El motivo? Es que tengo varios proyectos que realizar en Android, en Internet, etc y me hacía la misma pregunta.

Entonces, lo que voy a hacer (esto tal vez te sirva también y acepto opiniones), es estudiar bien los conceptos de la programación.
Porque a partir de ahí, una vez que tenés bien claros los conceptos, el lenguaje que vayas a utilizar, va a depender del proyecto que quieras realizar. Pero, teniendo esos conocimientos, podrás aprender y entender más fácil cualquier código de programación.
Después la complejidad, depende de cada uno, pero la sintaxis es similar en todos.

Esa es mi opinión personal, si hay alguno que quiera agregar algo, adelante.

Completamente de acuerdo compañero. Una vez que se aprenden los conceptos, cambiar de un lenguaje a otro simplemente es cambiar la sintaxis, aunque si existen diferencias entre lenguajes. Por ejemplo, en Java no se usan punteros y en C++ si.
 
Hola Diego Arroyo sabiendo C puedes adentrarte en cualquier lenguaje de programación, todo depende de que es lo que quieras programar..dependiendo el proyecto hay que saber un lenguaje u otro, por ejemplo si quieres hacer webs debes saber php y html5(muy importante), si lo que quieres es hacer una app deberás aprender el lenguaje de android, y si lo que quieres es hacer un programa a medida entonces deberas usar C.
 
Muchas gracias por tu opinion. En que otro tipo de entornos se usa Java?
Principalmente en las grandes consultoras, o para arquitecturas cliente/servidor. No es que C# no se use ahí, es que se usa más Java en esos entornos.

Alguien puede explicarme de manera muy resumida y sin usar palabras tecnicas las ventajas de la programacion orientada a objeto?
Con orientación a objeto la modularidad del código aumenta, así como la reutilización. También es más fácil trabajar en equipo con código orientado a objetos (interfaces > implementaciones), y modelar en código muchos problemas del mundo real es más fácil si se hace con orientación a objeto que de forma imperativa, funcional o la que sea.

POO es otra herramienta, hay casos en los que es mejor paradigma que imperativo y hay otros en los que otros paradigmas son más apropiados.
 
Muchas gracias a todos. Empezare a estudiar C#.

Gracias tambien a los dos usuarios que me explicaron las ventajas de la orientacion a objetos.
 
Mi voto va por Java, si te estás iniciando en la programacion hay algo muy importante independientemente de las características del lenguaje, y es la documentación y el respaldo de una comunidad, y ahí gana Java. Sin enrollarme mucho y yendo al grano, esa duda la tuve hace tiempo y me decante por este, también es el lenguaje más demandado junto a c, es más, desarrolladores Java los hay a patadas.
Ojo no entró cual es el mejor, yo actualmente estoy haciendo proyectos en javafx y es una pasada dar estilos ccs como si fuera una web por ejemplo, las posibilidades de una tableview con ordenados y filtrados con poquísimas líneas de código, programar las vistas en fxml... Eso si, de esto hay poca info.
 
yo actualmente estoy haciendo proyectos en javafx y es una pasada dar estilos ccs como si fuera una web por ejemplo, las posibilidades de una tableview con ordenados y filtrados con poquísimas líneas de código, programar las vistas en fxml... Eso si, de esto hay poca info.

Me interesa muchísimo esto que comentas. He desarrollado software con interfaz gráfica con C# y Windows Forms (no WPF, por ahora), y Swing y AWT siempre me parecieron de juguete, y muy torpes. Según he leído, hicieron JavaFX para solucionar esto, pero es verdad que hay poca documentación. Tampoco me ha parecido sencillo hacer funcionar el editor de interfaces, cosa que con Visual Studio se hace en un plis plás y en 10 minutos tienes tu programa con GUI funcionando...

¿Recomiendas profundizar más en JavaFX? ¿Lo ves a la altura de Windows Forms o Windows Presentation Foundation -que creo que se parece más a este-?
 
Arriba