Foros del Web » Soporte técnico » Ayuda General »

[SOLUCIONADO] ¿Que estudiar ahora?

Estas en el tema de ¿Que estudiar ahora? en el foro de Ayuda General en Foros del Web. Buenas a todos, me encuentro en un dilema que me ronda por la cabeza desde algunos dias y es ¿que estudio ahora? Por dar unos ...
  #1 (permalink)  
Antiguo 11/09/2015, 18:13
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 10 meses
Puntos: 5
¿Que estudiar ahora?

Buenas a todos, me encuentro en un dilema que me ronda por la cabeza desde algunos dias y es ¿que estudio ahora?

Por dar unos antecedentes acabo de terminar un FP Superior de desarrollo de aplicaciones multiplataforma. Resumiendo he aprendido lo básico sobre bases de datos, Java para el desarrollo de aplicaciones empresariales, con interfaces Swing y algo de html 4 css, por ultimo Java ME para aplicaciones moviles... si señores me han enseñado en pleno auge de Android una tecnologia desfasada...

Este año hare si me cogen el FP Superior de DAW que se centra mas en web, php, javascript, creo que applet servelt.... Y tambien me he matriculado a 1 asignatura del grado de informatica... si soy un valiente jajaja.


A grandes rasgos la cuestion es ¿sigo con Java o me lanzo por .NET?

Lo que quiero es que me deis vuestra opinion sobre me puede añadir mas valor, continuar con java y aprender bien TODO java o alternar con otro lenguaje.

Por supuesto si conoceis algun otro lenguaje, u orientacion por favor decirlo.

Un saludo a todos!
  #2 (permalink)  
Antiguo 11/09/2015, 22:17
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 52
Respuesta: ¿Que estudiar ahora?

Como dicen por ahí: "java paga más". Si tu motivación principal es el dinero quedate con java.

Y hay una justa razón para esto: si no pagara más nadie estaría dispuesto a usarlo.

Hace un tiempo le pregunté a un referente en el mundo de java, muy conocido, por qué seguía usando ese lenguaje a pesar de que él mismo reconocía que es un lenguaje tedioso, aburrido, tortuoso para trabajar, que no ha evolucionado significativamente desde hace años (al menos no comparado con otros lenguajes)... Su única respuesta fue "Porque gano mucho dinero".... Esto nos habla a las claras de cuál es la motivación principal de aquellos que basan o asientan su carrera profesional en ese lenguaje.

Muy por el contrario, si le preguntás lo mismo a cualquier persona que use lenguajes más modernos como F#, Scala, Clojure, o incluso C#, seguramente te contestará "uso este lenguaje porque trabajar con él es placentero, divertido, y al mismo tiempo gano suficiente dinero".

Si bien es lógico encontrar personas que contraargumenten a esto: "ah, yo no tengo problema en usar java", generalmente esas personas aún no han tenido suficiente exposición a lenguajes modernos como para darse cuenta de cómo la falta de evolución de java, sumada a ciertas decisiones de diseño del lenguaje bastante cuestionables, generan que uno tenga que tipear una enorme cantidad de código para expresar lo que en otros lenguajes se hace de manera concisa, resultando en una experiencia cotidiana bastante agotadora en términos del uso diario del lenguaje, tanto para escribir código como para leerlo y mantener código existente.

Adicionalmente cuando uno hace un análisis para ver con qué lenguaje trabajar surge la pregunta de hacia a dónde va ese lenguaje en el futuro. En este sentido java tiene muchísimas desventajas, ya que mientras el resto del mundo sigue avanzando (ejemplo: https://github.com/dotnet/roslyn/issues/5032), java sigue debatiéndose cómo hacer para arreglar cuestiones fundamentales que están mal desde el principio y que son justamente las que hacen que el lenguaje java tenga los problemas que tiene (véase generics y value types). Además de esto, mientras algunas plataformas tienen ciclos de actualización mucho más agresivos, java plantea todos sus cambios, por más triviales que sean, a largo plazo. Tal es así que java 9 saldrá recién a fines de 2016, y con muy pocas o ninguna novedad a nivel de lenguaje, ya que éstas fueron pospuestas para java 10 (2018).

Después está el tema de las librerías y frameworks: mencionaste que aprendiste Swing, pero la realidad es que el desarrollo de aplicaciones de escritorio ha disminuído muchísimo, desplazado por las aplicaciones Web y móviles, y si bien aún existen nichos en donde todavía se necesitan aplicaciones de escritorio, éstos están en su gran mayoría totalmente dominados por el ecosistema de Windows (que tiene más del 95% del total del mercado mundial de computadoras de escritorio), con lo cuál en general se usa .Net en lugar de java ya que el primero tiene una mucho mejor integración en general con la plataforma Windows, mientras el segundo trata de estar en todos lados a la vez y termina no siendo "nativo" en ninguno.
Incluso para los casos en donde SI exista desarrollo de aplicaciones de escritorio basadas en la JVM, lo más probable es que se use JavaFX en lugar de Swing. JavaFX es un framework basado en la JVM, que básicamente replica (por no decir "imita") a WPF, que es un framework para GUI basado en .Net, que resultó tan productivo e idóneo para casi todo tipo de aplicaciones, que ha habido varios intentos a lo largo de su existencia de imitiarlo o lograr algo parecido en otras plataformas (véase Polymer de Google).

Otra discusión que se da muy a menudo respecta a la afirmación por parte de algunas personas de que "en java existen muchas más librerías que en .Net". Mi punto de vista (y que al momento nadie ha conseguido rebatir) es que si bien es cierto esto, una gran parte de esas librerías existen con el único propósito de compensar las falencias del lenguaje java, mientras que otra gran parte es duplicación innecesaria. Esto se evidencia al ver (por ejemplo) la cantidad de librerías que intentaban "replicar" una característica del lenguaje C# conocida como LINQ, antes de que java tuviera algo medianamente similar, librerías que en el presente son totalmente irrelevantes y obsoletas ya que existían solo para compensar una carencia del lenguaje java que luego fue parcialmente remediada en java 8.
Esto sin mencionar el hecho de que basar tu software en una serie librerías creadas por desconocidos que encontraste en internet es mucho menos recomendable que utilizar algo oficialmente soportado por el creador de la plataforma. En .Net tienden a haber muchas menos "librerías" porque 1: no se necesita compensar falencias en los lenguajes, y 2: en general se usan las librerías oficiales ya que las mismas son de altísima calidad y MS provee soporte oficial de las mismas.

Hace un tiempo pregunté en este foro justamente:
http://www.forosdelweb.com/f45/cuale...-java-1119079/

Y nadie me supo dar una respuesta concreta aparte de "uso java porque gano mucho dinero", que fue exactamente lo mismo que un tiempo después me respondió el conocido referente....

Por último está la falsa dicotomía planteada por algunos de "open source versus Microsoft", lo cuál es completamente irrelevante ya que en este momento una inmensa mayoría de la plataforma .Net, incluyendo compiladores, runtime, framewoks, etc, es totalmente open source y se puede ver en GitHub. Además de eso, este año Microsoft lanzó las versión oficial de .Net para Linux y Mac, echando por tierra la vieja creencia de que .Net corre sólo bajo Windows (lo cuál hace más de 10 años dejó de ser cierto ya que existía la plataforma Mono, que básicamente es una versión open source y multi plataforma de .Net, pero no cuenta con soporte oficial). Esto sumado al hecho de que java es propiedad de la compañía Oracle, hecho que en sí mismo es un tema de discusión aparte.

En fin, desde mi humilde punto de vista, java cada vez tiene menos puntos en la lista de "pros" y cada vez más puntos en la lista de "contras", al menos comparado a plataformas y lenguajes modernos. Te queda decidir si ganar un poco más de dinero justifica trabajar con un lenguaje que a la larga te saca las ganas de vivir.

Me gustaría discutir estos puntos con alguien que tenga una opinión diferente, a ver en dónde se me está escapando la liebre.

Última edición por agleiva; 11/09/2015 a las 22:42
  #3 (permalink)  
Antiguo 12/09/2015, 02:54
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: ¿Que estudiar ahora?

Buenas,

Eres muy cansino con este tema, Agleiva. Tu obsesion es preocupante.

Tanto Java como .Net son grandes plataformas con sus pros y sus contras. En el caso de Java tiene muchos defectos como bien comentas (+1 por lo de JavaFX, menuda KK). En el caso de .Net yo veo dos handicaps importantes:
-Es muy caro: las licencias de un Visual Studio professional o de un IIS son de un coste simplemente demencial. Por no hablar del propio windows Server y MSDN.
-Aunque se ha hecho open source (gran movimiento!) aun se esta comenzando a aprovechar esta apertura en Linux. Hoy en dia no existe una implementacion equivalente para linux de gran parte de las apis de .Net. Aunque en mono se estan poniendo las pilas con todo el codigo liberado.
http://www.mono-project.com/docs/abo...compatibility/
Es imposible llevar una aplicacion medianamente compleja directametne de windows a linux y ejecutarla tal cual. En Java es posible. No existe un servidor de aplicaciones del nivel de IIS en cuanto a estabilidad, seguridad y robustez en linux. Por ahora solo existen modulos de apache y herramientas sencillas con capacidad mucho mas limitada.

Cita:
Hace un tiempo pregunté en este foro justamente:
http://www.forosdelweb.com/f2/que-es...-java-1119079/
Y nadie me supo dar una respuesta concreta aparte de "uso java porque gano mucho dinero"
No simplifiques las cosas, porque nadie te dijo eso. Solo una persona comento que usaba java 'por trabajo' ya que donde vivia se trabajaba sobre todo en Java. En ese post, en el que claramente entraste a trollear, solo intervenimos 3 personas. Lo consideras una muestra de lo que piensan los desarrolladores Java?
Por otro lado, al menos en Europa, los salarios de los desarrolladores .Net y Java son muy similares. Yo conozco desarrolladores .Net que ganan mas que sus equivalentes Java.
https://www.chooseyourboss.com/barom...-salaires-c%23

-----------------


Respecto a este Post, @nachfren me parece muy precipitado plantearse esto a estas alturas. Para aprender Java o .Net se necesitan de 5 a 10 anios de experiencia. Aprende todo lo que puedas, encuentra un trabajo y sigue aprendiendo todo lo que puedas. Luego centrate en aquello que te guste mas. Si haces lo que mas te gusta triunfaras seguro.
En cualquier caso estaria bien que refresques un poco a tus profesores, ya que las tecnologias que te estan ensenando estan completamente obsoletas:
-Los applets ya ne se utilizan. Son inseguros y navegadores como Chrome no los soportan. https://java.com/en/download/faq/chrome.xml
-Swing esta estancado desde hace 10 anios. (JavaFX... buff). El escritorio esta muerto.
-Java ME murio con los smartphones. Viva Android!
-HTML4??



En cualquier caso, escojas lo que escojas... siempre habra alguien que lo critique:
https://wiki.theory.org/YourLanguageSucks

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 12/09/2015, 10:31
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 52
Respuesta: ¿Que estudiar ahora?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Eres muy cansino con este tema, Agleiva. Tu obsesion es preocupante.
Perdón, creo que hable con mucho respeto y solo estoy dando mi opinión ya que @nachfren la ha solicitado. Si no te gusta mi opinión o no estás de acuerdo dame argumentos válidos.

Los que acabás de dar son falsos e irrelevantes:

Cita:
Iniciado por Profesor_Falken Ver Mensaje
-Es muy caro
Emm... Perdón, IIS es un componente de Windows y se instala desde el panel de control, tiene el mismo costo que la calculadora de Windows o el Solitario Spider, es decir cero.

Visual Studio tiene una versión Community que salió este año totalmente gratuita para desarrollos no-enterprise. Para desarrollos enterprise, el valor de Visual Studio es totalmente irrelevante ya que hablamos de grandes empresas.

Con respecto al hosting y servidores, La diferencia de costo de un VPS con Windows a uno con Linux (al menos en mi país) es totalmente insignificante. Es menos de lo que cuesta tomarse 2 cafés en un restaurante.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
MSDN.
Yo mismo tengo una suscripción a Bizspark (la cuál equivale a MSDN Ultimate), con la cuál obtengo acceso a más de $13k USD de software TOTALMENTE GRATIS. Si bien la duración de esto es de 3 años, luego de ese período me quedo con las licencias del software que haya descargado sin pagar adicionales.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Hoy en dia no existe una implementacion equivalente para linux de gran parte de las apis de .Net. Aunque en mono se estan poniendo las pilas con todo el codigo liberado.
http://www.mono-project.com/docs/abo...compatibility/
Perdón, la mayoría de las APIs que se listan en ese mismo link están marcadas como implementadas. Además de eso en diciembre sale a la calle .Net Core, o la versión oficial de .Net multi plataforma (la que hay ahora que es Mono no es oficial), con lo cuál no se va a depender de Mono para hostear aplicaciones de ASP.Net en *nix.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Es imposible llevar una aplicacion medianamente compleja directametne de windows a linux y ejecutarla tal cual. En Java es posible.
Suponiendo que eso sea algo que uno quiera hacer (para ahorrar $100 ARS, o menos de lo que valen 2 cafés?), prácticamente la totalidad de las APIs del stack Web de .Net están disponibles en Linux. Las APIs que "faltan" son mayormente relacionadas al Stack de aplicaciones de escritorio, que a nadie le interesa portar a Linux porque Linux para escritorio es irrelevante.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
No existe un servidor de aplicaciones del nivel de IIS en cuanto a estabilidad, seguridad y robustez en linux. Por ahora solo existen modulos de apache y herramientas sencillas con capacidad mucho mas limitada.
Nginx no cuenta? http://www.mono-project.com/docs/web/fastcgi/nginx/

En fin, como siempre, los argumentos sobre las ventajas de java giran en torno al costo (irrelevante como acabo de mencionar), y el hecho de que se puede hostear en *nix (irrelevante dentro de muy poco tiempo), por lo demás, nunca he logrado que nadie me diga algo como "java es un lenguaje más productivo" o "se trabaja más fácilmente en java" o algo que realmente indique que el día a día de un desarrollador java es más llevadero que el de un desarrollador .Net. Uno podría alegar además que si vas a trabajar de empleado en una empresa, poco te tiene que importar el costo de las herramientas y si tu código se va a hostear en Windows o en *nix, ya que esas cosas están fuera de tu responsabilidad como desarrollador, y en cambio lo que sí te tiene que importar, como dije antes, es evitar trabajar con un lenguaje que a la larga te saca las ganas de vivir.

Ah, por cierto:

Cita:
Iniciado por Profesor_Falken Ver Mensaje
El escritorio esta muerto
Corrección: el desarrollo de aplicaciones de escritorio con java esta muerto (o alguna vez estuvo vivo?)... Nosotros seguimos vendiendo aplicaciones de escritorio lo más bien, y son soluciones que les sirven perfectamente a los clientes, y son mucho más económicas para desarrollar que una aplicación web. Sin mencionar que ahora con la UWP básicamente todo mi código de WPF lo puedo portar casi sin cambios, para usarlo en tabletas y celulares con Windows 10.

Última edición por agleiva; 12/09/2015 a las 11:35
  #5 (permalink)  
Antiguo 12/09/2015, 15:42
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 10 meses
Puntos: 5
Respuesta: ¿Que estudiar ahora?

Bueno lo primero daros las gracias por vuestros consejos:

Se ve en los comentarios de Agleiva su favoritismo o preferencia en .NET, yo la verdad es que no lo conozco la plataforma pero por los comentarios de algún compañero que estudió .NET al parecer es una plataforma que ofrece un único camino para cada problema simplificando la tarea. (No seas duros si esto que acabo de decir es una burrada).

.NET me llama la atencion simplemente porque no lo conozco, pero creo que cambiar ahora de plataforma no me va a beneficiar a corto plazo.

------------------------------------------------------------------------------------------------

Profesor_Falken escribo este mensaje porque acabo de terminar los estudios y si, se mucho mas que cuando empece pero tengo la sensacion de no saber casi nada, y si encuentro un trabajo ya me marcaran ellos el camino a seguir, pero ahora no se por donde tirar...

Me parece terrible eso que dices sobre Swing y JavaFX, ¿tan desfasados estan?

Bueno Profesor_Falken sobre el contenido que imparten mis profesores es un problema mas bien legal no por su culpa, ahora estoy estudiando a traves de e-learning que se esta poniendo de moda, basicamente es estudiar a distancia e ir al centro solo para los examenes.

El caso es que el temario esta protegido con copyright, ya que las asignaturas las han desarrollado empresas privadas y los profesores no pueden modificar parcialmente ningun contenido, y como segundo problema tampoco tienen el tiempo suficiente para crear ellos mismo el temario, solo se les asigna unas 2-3 horas a la semana por asignatura. La solucion seria renovar todo el temario, pero no hay dinero, o eso dicen.

------------------------------------------------------------------------------------------------

Pues creo que me centraré de momento en Java, a ver si alguien puede indicarme cual es la tecnologia para cada entorno:

¿Para el desarrollo de aplicaciones de escritorio que tecnologia se utiliza?
Pensaba que Swing era lo ultimo....


¿Para el desarrollo de aplicaciones web?

Veo que se menciona Jsp y Servlet, ¿Van juntos separados? ¿Pueden funcionar independientemente el uno del otro? ¿Existe otro dentro de java?

En fin... creo que tiene tantas cosas Java que solo conocer la estructura del mismo es un trabajo


Un saludo a todos, y gracias por vuestros comentarios!

Apunte final, segun infojobs uno portales mas grandes de empleo en España, si buscamos:

.NET aparecen 738 empleos ofertados
JAVA aparece 1.451 empleos

Solo faltaria conocer las personas formadas en cada plataforma

Última edición por nachfren; 12/09/2015 a las 15:44 Razón: Apunte final
  #6 (permalink)  
Antiguo 13/09/2015, 02:05
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: ¿Que estudiar ahora?

Buenas @nachfren,

Cita:
¿Para el desarrollo de aplicaciones de escritorio que tecnologia se utiliza?
Pensaba que Swing era lo ultimo....
Swing es lo que mas se utiliza. Con el IDE Netbeans esta muy bien integrado para hacer este tipo de desarrollos y te proporciona un editor grafico muy avanzado.
El problema que te comento es que desde la version 1.6 la API de swing no evoluciona, ya que la estrategia de Oracle pasa por potenciar JavaFX.
JavaFX es mas mucho mas moderno y en teoria mas potente y estaria llamado a reemplazar a swing. Sin embargo no ha tenido una gran aceptacion por el momento. Yo personalmente lo encuentro un tanto pesado y le veo solo uso para utilizar algunos de sus componentes como los graficos (es perfectamente posible combinar componentes JavaFX en una aplicacion Swing y viceversa):
https://docs.oracle.com/javafx/2/cha...w.htm#CJAHHJCB
Te recomiendo que le eches un vistazo.

HTTP Servlets es la tecnologia de servidor de Java (de 1997) que permite llamar a componentes web mediante protocolo HTTP. En principio son clases Java que devuelven codigo HTML:
http://www.tutorialspoint.com/servle...st-example.htm

Ante el auge de tecnologias script como PHP y ASP, Java reacciona creando las JSP. De esta forma invierte la forma de desarrollar al permitir introducir codigo Java dentro de un HTML. (en realidad, lo que hace Java posteriormente al ejecutar la JSP es compilarla y transformarla automaticamente en un Servlet!).
Los servlets y los JSP pueden interactuar, convivir o funcionar independientemente sin problemas.

Sin embargo el mundo web Java no se detiene ahi. Posteriormente ha definido otras especificaciones mucho mas completas para crear aplicaciones web empresariales, como JSF (que es la referencia oficial) y muchos otros frameworks: https://en.wikipedia.org/wiki/Compar...rameworks#Java .

Cita:
NET aparecen 738 empleos ofertados
JAVA aparece 1.451 empleos

Solo faltaria conocer las personas formadas en cada plataforma
Como bien indicas, hay muchos factores a tener en cuenta. Como en todo, el mercado de trabajo se base en oferta y demanda.

Un saludo y suerte en tu carrera
__________________
If to err is human, then programmers are the most human of us
  #7 (permalink)  
Antiguo 13/09/2015, 02:43
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: ¿Que estudiar ahora?

Buenas,

Cita:
Perdón, creo que hable con mucho respeto y solo estoy dando mi opinión ya que @nachfren la ha solicitado.
Yo ya no hablo de respeto. No hay un solo post en el que no hables del 'horripilante Java' del 'patetico PHP' o de la 'mierda de ActionScript' etc... en contraposicion a 'lenguajes serios como C#', 'lenguajes modernos como C# o F#'...
Tu no das tus opiniones, sino que afirmas y sentencias con una seguridad y desprecio a lo/s demas simplemente sorprendente.
Todo estas comparaciones del tipo 'mi lenguajes es mejor que el tuyo' das una imagen de infantilismo y de inmadurez personal y profesional tremenda. Si yo fuera un desarrollador .Net me daria hasta verguenza. Es un problema que no lo puedas ver.

Cita:
Emm... Perdón, IIS es un componente de Windows y se instala desde el panel de control, tiene el mismo costo que la calculadora de Windows o el Solitario Spider, es decir cero.
Visual Studio tiene una versión Community que salió este año totalmente gratuita para desarrollos no-enterprise. Para desarrollos enterprise, el valor de Visual Studio es totalmente irrelevante ya que hablamos de grandes empresas.
Esta claro que tu programas un .Net de juguete y no has hecho aplicaciones serias en tu vida.

Por ponerte un ejemplo real: tenemos un sistema que sirve a millones de personas con un centenar de CentOS/JBoss y MySQL (hoy usamos MariaDB) en replicacion master-master. Es completamente critico, en disponibilidad y seguridad, ya que gestiona transacciones de pago. Llevamos anios con esta infraestructura sin una sola caida o incidencia importante.
El caso es que vino un comercial de Microsoft para ofrecernos reemplazar nuestra solucion por una basada en .Net. Le pedimos un presupuesto de lo que supondria cambiar nuestra infraestructura a Win Server/.Net... y nos dio una estimacion de 2 millones de Euros, solo en licencias Win Server y soporte.

Pero bueno, supongo que tu eso lo resolverias seguro poniendo unos windows home piratas con Ngnix y el SQL server Express y desarrollando en el VS Community no?

No, no todo es jugar con la programacion funcional, (que por cierto ya utilizaba en los anios 90 y es aun muy anterior. Tu pareces haberla descubierto ayer y la consideras el gran avance del siglo. Has estudiado en una Universidad?).

Cita:
Perdón, la mayoría de las APIs que se listan en ese mismo link están marcadas como implementadas. Además de eso en diciembre sale a la calle .Net Core, o la versión oficial de .Net multi plataforma (la que hay ahora que es Mono no es oficial), con lo cuál no se va a depender de Mono para hostear aplicaciones de ASP.Net en *nix.
Si? conoces algun caso de exito de plataforma .Net migrada a *.nix? Alguna vez has probado Mono profesionalmente? Realmente te atreverias? Respecto a la version 'oficial' de .Net multiplataforma... ya puedes esperar sentado. El hecho es que hoy por hoy no existe y nada garantiza que vaya a existir jamas.

Cita:
lo que sí te tiene que importar, como dije antes, es evitar trabajar con un lenguaje que a la larga te saca las ganas de vivir.
Claramente has sufrido un trauma. El hecho de que hayas tenido una mala experiencia porque no tenias nivel para programar en Java no quiere decir que a todo el mundo le pase lo mismo. Esta claro que .Net es mas asequible con sus asistentes siguiente-siguiente y sus scaffoldings y su sintaxis completamente azucarada. Cada uno debe usar lo que se adapte mejor a sus aptitudes.

Cita:
Corrección: el desarrollo de aplicaciones de escritorio con java esta muerto (o alguna vez estuvo vivo?).
Swing esta muerto en el sentido de que ya evoluciona desde hace tiempo y esta quasi-abandonado por Oracle.
Sin embargo, se de primerta mano por companeros que sigue siendo muy utilizado (en aplicaciones legacy y nuevas) en la banca como seguimiento de trading/tiempo real y en instituciones prestigiosas como la ESA (Agencia Espacial Europea) la NASA o el CERN.
Tambien el IDE Netbeans esta completamente desarrollado 100% en Java/Swing. Que yo sepa Visual estudio solo esta desarrollado parcialmente en C#. El resto en C++. https://en.wikipedia.org/wiki/Microsoft_Visual_Studio
Ahora bien, si cuando hablamos de escritorio hablamos de hacer un programa para gestionar la peluqueria de la esquina e instalarla copiando el .exe en su Windows pirata... entonces esta claro que .Net es el rey.

Cita:
Sin mencionar que ahora con la UWP básicamente todo mi código de WPF lo puedo portar casi sin cambios, para usarlo en tabletas y celulares con Windows 10.
Casi sin cambios?? Esta claro que te crees la propaganda a pies juntillas. Mucha suerte.

Cita:
Nosotros seguimos vendiendo aplicaciones de escritorio lo más bien, y son soluciones que les sirven perfectamente a los clientes, y son mucho más económicas para desarrollar que una aplicación web
Y yo conozco muchas empresas a las que les va increiblemente bien haciendo aplicaciones en COBOL, que se adaptan perfectamente al core bancario. Luego COBOL es el futuro.

Un saludo
__________________
If to err is human, then programmers are the most human of us

Última edición por Profesor_Falken; 13/09/2015 a las 05:24
  #8 (permalink)  
Antiguo 13/09/2015, 05:35
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 10 meses
Puntos: 5
Respuesta: ¿Que estudiar ahora?

Muchas gracias Profesor_Falken, ahora entiendo un poco mas las tecnológicas que hay, ahora a empezar con una de ellas.

Un saludo a todos!
  #9 (permalink)  
Antiguo 13/09/2015, 08:40
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 52
Respuesta: ¿Que estudiar ahora?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
en contraposicion a 'lenguajes serios como C#'
Si te fijas bien, yo claramente dije que java es un lenguaje serio, horrendo, pero serio.
Dame un solo ejemplo de una característica del lenguaje java que permita afirmar que no es un lenguaje horrendo, por favor. Si aún al día de hoy java parece un subconjunto de lo que era C# 3.0 en el 2007, ajajaja. Ni si quiera se puede hacer un List<int>, que asco.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Tu no das tus opiniones, sino que afirmas y sentencias con una seguridad y desprecio a lo/s demas simplemente sorprendente.
Te digo lo mismo que le dije a Tachikomaia: No será que tenés un sentido de la identidad con el lenguaje que usas y te sentís insultado cuando te mencionan las deficiencias del mismo? Yo no insulté a nadie, y si te sentís insultado disculpas. Nada de eso quita que java es un lenguaje patético y horrible, no me importa si tu sistema mantiene la rotación de la tierra, no estoy hablando de eso.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Por ponerte un ejemplo real
Fijate bien que todo lo que estás hablando no indica ninguna ventaja de java en sí mismo, ni siquiera de la JVM como plataforma, si no de Linux versus Windows, lo cuál como te dije antes, es el UNICO argumento que podés esgrimir para defender un lenguaje arcáico y patético como java. El día que .Net sea soportado en Linux correctamente (para lo cuál falta muy poco), se acabó java. Se te acabaron las razones para defender un lenguaje dinosaurio que requiere 5 días de tipear código como un monito y crear 200 clases para hacer algo que en C# lo resolves en 5 líneas.

Y aunque eso nunca ocurra (porque lo dijo un random en un foro?) sigue sin ser un motivo para defender java. En cualquier caso las ventajas de las que estás hablando te las proporciona la JVM, y no ese lenguaje horrible e inservible. Tranquilamente podrías usar la JVM con un lenguaje decente como Kotlin, o Scala, o Clojure.

Por cierto la base de datos no tiene absolutamente nada que ver con nada. Desde .Net como cualquier otra plataforma te podes conectar a cualquier base, no solo SQL Server. No me importa lo que te quisieron vender. Yo uso .Net con MySQL y es totalmente transparente. Incluso Migrations soporta MySQL.


Cita:
Iniciado por Profesor_Falken Ver Mensaje
porque no tenias nivel para programar en Java
JAJAJ. Seguramente necesito mucho "nivel" para programar en un lenguaje deforme y subnormal que tiene la mitad de la funcionalidad que tenía C# hace 10 años... AJAJAJAJAJA.

Un saludo.

Por cierto: los que parecen haber descubierto la programación funcional hace 2 días son en general los programadores java, yo vengo usando LINQ desde C# 3.0. Fijate quién "llegó tarde", si hasta PHP tuvo esas cosas antes que java.

Última edición por agleiva; 13/09/2015 a las 09:18
  #10 (permalink)  
Antiguo 14/09/2015, 01:29
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: ¿Que estudiar ahora?

Cita:
No será que tenés un sentido de la identidad con el lenguaje que usas y te sentís insultado cuando te mencionan las deficiencias del mismo?
En absoluto. Me considero completamente poliglota y abierto en cuanto a lenguajes/plataformas y no tengo ningun problema en cambiar si la herramienta se adecua mejor al fin. Tengo algunos lenguajes olvidados (como PHP) pero utilizo y me manejo bastante bien en C, Python, Javascript y ahora comienzo a estudiar con curiosidad Go.
En el anio 2001 se me encargo hacer la evaluacion de la platafoma Net cuando aun estaba en beta y me encanto. La defendi en todos los comites y reuniones a los que me invitaron y utilice intensivamente C# durante un anio y medio (hasta .Net 1.1). Despues comence con otras tecnologias y no lo volvi a usar, pero siempre lo he defendido como una buena plataforma cuando el target es Windows.

Sin embargo tu si que tienes una especie de inquina personal con todo aquello que no sea .NET. En este ultimo post has dicho de Java:
-"que asco"
-"es un lenguaje patético y horrible"
-"lenguaje arcáico y patético"
-"lenguaje horrible e inservible"
-"lenguaje deforme y subnormal "

Eso en un solo post. WOW!!!

Cita:
Ni si quiera se puede hacer un List<int>, que asco.
Cierto, los genericos se transforman en tiempo de compilacion por motivos de diseno y retrocompatibilidad con la JVM. Eso impide hacer un generico de un tipo primitivo ya que no sabe castearlo. Que dificultad supone hacer un List<Integer>?. Un detalle asi te impide avanzar o hace peor o menos legible el codigo?
En Java las evoluciones del lenguaje se realizan en un proceso abierto a la comunidad en el que participan ingenieros de empresas como Oracle, IBM, organizaciones como Apache y cualquier desarrollador Java: http://openjdk.java.net/. La evolucion del lenguaje es mas lenta y conservadora que en el caso de C# por motivos de diseno, estabilidad y compatibilidad, a mi entender acertados. MS, al contrario, ha optado unilateralmente por sobrecargar sus lenguajes con una funcionalidad inmensa que crece y crece a cada version.

Cita:
fijate bien que todo lo que estás hablando no indica ninguna ventaja de java en sí mismo, ni siquiera de la JVM como plataforma, si no de Linux versus Windows
No, si te fijas bien hablo de JBoss. Obviamente se trata de plataforma Java EE que corre sobre JBoss, luego en la oferta iban incluidos varios clusters IIS sobre los que habria que desarrollar (el interes del comercial era movernos a la plataforma .NET).

Cita:
Desde .Net como cualquier otra plataforma te podes conectar a cualquier base, no solo SQL Server. No me importa lo que te quisieron vender. Yo uso .Net con MySQL y es totalmente transparente. Incluso Migrations soporta MySQL.
Claro, si .NEt ni siquiera pudiera conectarse a MySQL entonces esta discusion no tendria sentido...
No, en la oferta no le pedimos migrar a SQL Server, sino seguir con MySQL, ya que sus soluciones no se adaptaban a nuestro modelo master-master. Si lo hubieramos pedido supongo que nos habrian pedido facilmente el doble.

Cita:
los que parecen haber descubierto la programación funcional hace 2 días son en general los programadores java
Pareces ignorarlo, pero en el ecosistema Java existen cosas como Groovy http://www.groovy-lang.org/ que con el que Java interactua sin problemas y que desde 2003 (https://en.wikipedia.org/wiki/Groovy...mming_language)) propone una sintaxis 'with sugar' de las que tanto te gustan, con inferencia de tipos y con muchos elementos de programacion funcional.

Por algun extrano motivo (entiendo que tambien por ignorancia) consideras que la programacion funcional es una evolucion y una mejora que se ha hecho sobre la OOP. Es gracioso teniendo en cuenta que la programacion funcional es bastante anterior (List nacio en el anio 1958).
Cada paradigma tiene sus aplicaciones, sus pros y sus contras. Para clavar un clavo es mejor utilizar un martillo que una llave inglesa, aunque esta ultima sea mas sofisticada. Aqui hay un excelente post de SO sobre las ventajas e inconvenientes de la FP:
http://stackoverflow.com/questions/2...taken-over-yet

Cita:
yo vengo usando LINQ desde C# 3.0.
Me alegro. Consideras que LINQ y el hecho de mezclar el lenguaje de consulta a BBDD con la logica de programacion es un gran avance?



Si repasas mis posts en ningun momento digo que Java sea mejor que X o Y. Tu sin embargo consideras que .Net es el culmen de la tecnologia y que el resto es basura. Esa actitud destructiva te impedira avanzar en la vida.

Yo solo trato de explicarte que Java es una herramienta perfectamente util en muchos escenarios y que tiene muchas cosas buenas, y algunas malas, al igual que .Net y cualquier otra plataforma.

Y SI, se puede programar en Java y ser feliz. Yo soy la prueba


Un saludo
__________________
If to err is human, then programmers are the most human of us

Última edición por Profesor_Falken; 14/09/2015 a las 04:44
  #11 (permalink)  
Antiguo 14/09/2015, 10:27
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 10 meses
Puntos: 52
Respuesta: ¿Que estudiar ahora?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
En este ultimo post has dicho de Java:
Claro, seguramente soy yo el único que piensa que java es un lenguaje horrible?
https://www.youtube.com/watch?v=Aa55RKWZxxI

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Cierto, los genericos se transforman en tiempo de compilacion por motivos de diseno y retrocompatibilidad con la JVM.
Si, si... ya conozco las excusas de java para no tener generics de verdad. Nada de eso cambia el hecho de que los generics de java son una mentira. El día que se pueda hacer typeof(T) o new T() voy a cambiar de opinión.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Eso impide hacer un generico de un tipo primitivo ya que no sabe castearlo.
Eso es otra cosa que realmente me parece horrible... por qué no se puede hacer 1.ToString() ? O el hecho de que tenés que especializar los generics para los tipos primitivos... jajaj si tenés que especializarlos entonces ya no son generics, lo cuál me lleva a decir que los generics de java no sirven para nada. Fijate que en java 8 pusieron los Streams, y aparte tenes IntStream, DoubleStream, etc. JAJAJA es lo menos genérico que vi en mi vida.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Que dificultad supone hacer un List<Integer>?
Emm..... a ver:

1 - un Integer ocupa mucha más memoria que un int.
2 - No se puede usar == con Integer, porque java tiene un retraso mental y no permite sobrecargar los operadores (*)
3 - Esa diferencia entre int e Integer me parece totalmente idiota, inútil, y no es una solución adecuada, sino (como todo lo que hace java) es un workaround estúpido para una deficiencia horrible del lenguaje que nunca debió haber existido en primer lugar, y que se niegan a arreglar. Y no me interesan las excusas.
4 - Seguramente si me pongo a pensar un poquito o me pongo a usar java encuentro más problemas.

(*) Ves? java tiene una limitación estúpida diferente a cada paso, parece que han diseñado el lenguaje intencionalmente para que sea tortuoso trabajar con el???
Qué excusa vas a inventar para el hecho de que java no permite sobrecargar operadores?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Un detalle asi te impide avanzar
A ver... nada me "impide" avanzar... podría hacer una aplicación entera en assembler si fuera necesario, contando con suficiente tiempo... pero para qué quiero eso? las herramientas existen para facilitar mi trabajo. Mi visión de java es que no facilita absolutamente nada y muy por el contrario está lleno de limitaciones por todos lados que si lo tuviera que usar me obligarían a estar peleándome con el lenguaje en lugar de realmente hacer lo que quiero hacer. Desde ese punto de vista java es totalmente inservible, ya que hay muchas mejores herramientas a mi disposición que no tienen esas limitaciones... y para qué quiero una herramienta inferior si puedo usar una mejor?

Y esto de Integer es solo un ejemplo, podría estar toda la tarde enumerándote deficiencias o carencias del lenguaje java: no tiene properties, indexers, delegados, user defined value types, yield, expresiones, inferencia de tipos, async/await, string interpolation, null propagation, etc, etc, etc ad infinitum.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
hace peor o menos legible el codigo?
Te invito a que veas este post: http://whyjavasucks.com/Blog/6/Java_...ess_By_Example y luego contestes vos mismo esa pregunta.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
En Java las evoluciones del lenguaje se realizan en un proceso abierto a la comunidad
Si? que bueno, C# en cambio lo único que ofrece es la transmisión en vivo de las reuniones en las que el equipo discute el futuro del lenguaje(*), y el hecho de que absolutamente todo relacionado al lenguaje está en GitHub: https://github.com/dotnet/roslyn/issues/98.

Y F# pobrecito lo único que logró fue que le 75% de las contribuciones a la versión 4.0 fueron hechas por gente externa a MS: http://blogs.msdn.com/b/dotnet/archi...s-2015-rc.aspx

(*) Mostrame un video de algo que pase adentro de oracle, por favor? Realmente no caracterizaría a oracle como la compañía mas "abierta" del sector IT, verdad?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
La evolucion del lenguaje es mas lenta y conservadora que en el caso de C# por motivos de diseno, estabilidad y compatibilidad, a mi entender acertados.
Que raro cheee.... C# logra evolucionar adecuadamente sin romper la compatibilidad ni la estabilidad y no está estancado en 1995.... será que Anders Heljsberg y Mads Torgensen son extraterrestres?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
MS, al contrario, ha optado unilateralmente por sobrecargar sus lenguajes con una funcionalidad inmensa que crece y crece a cada version.
Emm.... De eso se trata el avance no? de permitir hacer las cosas más fácil y cómodamente "embelleciendo" el lenguaje, en lugar de mantener la misma basura horrenda que en 1990.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
No, si te fijas bien hablo de JBoss. Obviamente se trata de plataforma Java EE que corre sobre JBoss, luego en la oferta iban incluidos varios clusters IIS sobre los que habria que desarrollar (el interes del comercial era movernos a la plataforma .NET).
Ok, pero hoy en día IIS no es la única forma de hostear aplicaciones .Net. No sé en qué año te quisieron vender eso, pero hoy por hoy existen alternativas
http://katanaproject.codeplex.com/

De hecho, el default de ASP.Net hoy viene con estos componentes de OWIN, que facilmente te permiten reemplazar System.Web (o sea IIS) por otra solución simplemente cambiando un paquete Nuget y modificando la configuración.

Por otro lado como en java nada es por default la gente se marea muchísimo al tratar de hacer cualquier cosa, con la mar interminable de "opciones" (o duplicación innecesaria) que existe: http://stackoverflow.com/q/3954614/643085

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Groovy
Lo cuál confirma mi afirmación de que para escapar de la tortura horrible que supone usar un lenguaje dinosaurio como java, la única solución (ya que java esta "roto" por definición y no tiene arreglo) es usar un lenguaje diferente.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
consideras que la programacion funcional es una evolucion y una mejora que se ha hecho sobre la OOP.
No sé de dónde sacaste que yo dije eso. Yo nunca dije eso. Fijate que C# es principalmente OOP y sin embargo es infinitamente mejor que java en todos los aspectos, incluso sin las partes que toma prestadas de F#. Funcional o no funcional, C# es un lenguaje terriblemente mejor que java, y evoluciona adecuadamente, mientras que java está totalmente estancado en 1995.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Cada paradigma tiene sus aplicaciones
El "paradigma" de java, que es tener que tipear una infinidad de código para expresar cualquier cosa, sería aplicable si uno cobrara más por tipear más líneas de código... Nunca me ha pasado, con lo cuál hasta ahora no he encontrado un motivo para usar un lenguaje subnormal que me obligue a tipear el triple para llegar al mismo resultado. Esto sin mencionar las limitaciones estúpidas que ya te mencione que me obligarían a estar buscando parches y peleándome con el lenguaje en lugar de hacer lo que realmente quiero hacer.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Consideras que LINQ y el hecho de mezclar el lenguaje de consulta a BBDD con la logica de programacion es un gran avance?
Nótese que LINQ no tiene absolutamente nada que ver con bases de datos. Es simplemente una forma declarativa de expresar lo que de otra forma se hace con bucles for, que son infinitamente más tediosos y molestos, y al mismo tiempo abstraer las expresiones para poder procesarlas diferente según el origen de los datos. Esto es infinitamente mejor que la solución atada con alambre que propone java, y que está hecha meramente para aliviar el sentimiento generalizado de los programadores java de que se están quedando terriblemente atras.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Si repasas mis posts en ningun momento digo que Java sea mejor que X o Y. Tu sin embargo consideras que .Net es el culmen de la tecnologia y que el resto es basura.
Nótese que yo nunca dije que .Net sea lo mejor ni mucho menos, simplemente dije que java es un lenguaje horrendo y patético, de lo cuál aún no has podido demostrar lo contrario.

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Yo solo trato de explicarte que Java es una herramienta perfectamente util en muchos escenarios
No. En cualquier caso como te dije antes la JVM es una herramienta perfectamente útil en muchos escenarios. java como lenguaje es totalmente patético e inservible y no tiene absolutamente ningún valor.

En cualquier caso si yo tuviera que implementar una solución basada en la JVM (para poder aprovechar cosas como JBOSS, por ejemplo) trataría de usar un lenguaje medianamente decente como Kotlin, Clojure, Scala, o algún otro, que no sea una tortura constante y no imponga limitaciones estúpidas todo el tiempo cada vez que quiero escribir una línea de código.

[QUOTE=Profesor_Falken;4741752]Y SI, se puede programar en Java y ser feliz. Yo soy la prueba

Te felicito. Yo no he conseguido aún nadie que me pague un millón de dólares la hora, que es lo mínimo que estaría dispuesto a cobrar por tener que someterme a la tortura infernal de usar un lenguaje tan patético e idiota.

Saludos.
  #12 (permalink)  
Antiguo 14/09/2015, 10:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Que estudiar ahora?

Thread away...

Por favor, no desvíen el hilo. Si desean realizar un debate sobre las bondades o problemas de un lenguaje, realicelo en MP.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 14/09/2015, 11:59
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: ¿Que estudiar ahora?

Cita:
Thread away...

Por favor, no desvíen el hilo. Si desean realizar un debate sobre las bondades o problemas de un lenguaje, realicelo en MP.
Totalmente de acuerdo. Esto es absurdo y no va a ninguna parte.

Intentare que no se repita.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #14 (permalink)  
Antiguo 14/09/2015, 13:44
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 10 meses
Puntos: 5
Respuesta: ¿Que estudiar ahora?

Yo puse el hilo como solucionado....

Jamás había visto tanto desprecio a un lenguaje de programación, probaré .NET solo para comprobar la diferencia.

Es broma seguiré con Java una temporada más.


Etiquetas: estudiar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:05.