PDA

Ver la Versión Completa : Merece la pena java


cesarsoftware
07-05-2013, 17:42:00
Hola compis.

Lleva unos pocos días dándole vueltas al tema de programar en java, nooooo, de momento no voy a dejar delphi, solo que no se por que o que se yo, quizás es que últimamente lo veo por todas partes, el tema me ha interesado un poco, ! 3 mil millones de dispositivos usan java ! ¡ Leches, esto es el futuro !

Y entonces comienzo a investigar un poco .... visito la web de oracle/java, bajo el SDK, el NetBeans, me empiezo a enfadar, esto no funciona, se ve que no tengo ni idea, sigo, sigo, google, youtube, clubdelphi ... vaya, sección de java, leo, leo...

Y ... como quien esta en la taberna y me siento generoso, saco una ronda para todos||-||||-||||-||

Pregunta al aire, esto del java vale para algo o es una cosa como el net.framework, a mi modesto entender, algo infumable e inprogramable, o al menos, los que nos hemos acostumbrado a programar casi cualquier cosa en delphi o c o basic o asm, que funciona "en cualquier pc a la primera con un único ejecutable", o esto solo vale para la web (pero dicen que vale para todo).

No se, paso del tema o le dedico un montón de horas y comienzo "la migración":D

Saludos (Y si, estoy esperando respuestas, criticas, broncas ... Gracias :))

PD: Si, he visitados foros de java y ya veo que este tampoco tienen mucho movimiento, pero he leído algo en este y algunos si sabéis java, que os he leido.

Al González
07-05-2013, 18:02:46
[...] o esto solo vale para la web (pero dicen que vale para todo).
Sí, es un lenguaje terriblemente versátil (http://pabernosmatao.com/blog/el-burro-de-michael-schumacher/). ;)

cesarsoftware
07-05-2013, 18:26:27
Ja, ja, ja, el burro se llama java:D

En serio, ¿crees que es una mi**er**da esto del java?, a mi para empezar, que sea interpretado por un interpretador que yo no he instalado ya me da un poco de mal rollo, tampoco me gusta eso de las versiones cambiantes del jdk (me suena a net.framework y no me gusta, ya he hecho un proyecto entero en .net y no lo volvería a repetir), te tienes que llevar medio sistema con tu aplicación y luego todavía puede haber problemas de versiones.

¿Solo es puro marketing de oracle?

¿Hay alguna aplicación "seria" de escritorio escrita completamente en java?

Veo que muchos programas comerciales de escritorio llevan embebido alguna versión de java y algunos solo funcionan con una versión de java concreta (según oracle "obsoleta").

Con lo gustoso que es llevar un ejecutable en un pen-driver, copiarlo a otro equipo y que funcione....querido delphi.

¿Es java el futuro?

||-||||-||

MAXIUM
07-05-2013, 20:14:39
Respecto a algún programa respetable escrito en JAVA te puedo nombrar a Jdownload.

Futuro... Android es JAVA por lo que tienes mucho de futuro.

Por otra parte, efectivamente .NET es la versión burda de JAVA pero con la diferencia que este último realmente es multiplataforma.

Nada es más rápido que una aplicación programada nativamente y fuera de cualquier framework.

Aprender JAVA te ayudara a entender lenguajes de programación de objetos.

cesarsoftware
07-05-2013, 20:30:26
Gracias Maxium.

¿Java permite algo de bajo nivel, como controlar los dispositivos, tipo puerto serie, sockets tcp/ip, etc? Ya he visto que tiene plugins Fx y 3D, así que de gráficos parece que controla algo.

¿Alguno de vosotros "cambiaria" delphi por java para una aplicación, digamos .... un programa de contabilidad o facturación con acceso a firebird?

¿Y en la industria? ¿Es verdad que casi cualquier cosa (un navegador tipo tom-tom, o una televisión, por ejemplo) están implementados en java, en vez de en C, por ejemplo?

Cuantas dudas:confused: ¿ Tenéis tiempo o la mujer os llama para cenar:D?

||-||||-||

Ñuño Martínez
07-05-2013, 20:44:42
En serio, ¿crees que es una mi**er**da esto del java?, a mi para empezar, que sea interpretado por un interpretador que yo no he instalado ya me da un poco de mal rollo, tampoco me gusta eso de las versiones cambiantes del jdk (me suena a net.framework y no me gusta, ya he hecho un proyecto entero en .net y no lo volvería a repetir), te tienes que llevar medio sistema con tu aplicación y luego todavía puede haber problemas de versiones.
Que sea interpretado o no, para mi no es un problema. Además, existen varios intérpretes distintos de Java. Yo conozco al menos tres. El Sun/Oracle, el IBM y el GNU (Free Software Foundation - FSF). Por otra parte, existen compiladores que generan ejecutables nativos a partir de fuentes Java, como uno incluido en el paquete de compiladores GCC de la FSF.

Respecto a lo de la JDK, es normal que te suene a .Net. No olvides que C# no es más que un burdo intento de Microsoft de robarle a Sun la cuota de mercado de Java.

¿Solo es puro marketing de oracle? Sí en un 70% o más. Pero no de Oracle, sino de Sun. Oracle se deja llevar por la inercia, y muy mal, por cierto.

¿Hay alguna aplicación "seria" de escritorio escrita completamente en java? Si no recuerdo mal, OpenOffice.org/Libre Office estaba en buena parte escrito en Java. Sin embargo, casi todo lo que he visto son programas a medida del cliente, demos técnicas, aplicaciones distribuidas, etc.

Bueno, casi olvido que hay una: Minecraft (http://minecraft.net/). :rolleyes:

¿Es java el futuro? No.

mamcx
07-05-2013, 21:13:32
Java, en general, es excelente. En especial desde la version 7. Es MUY rapido ahora - osea, como maquina virtual y en comparacion con otras maquinas de su rango, pero no para GUIs o apps intensivas numericas-.

"controlar los dispositivos, tipo puerto serie, sockets tcp/ip" es algo que se puede en casi todo. No para drivers de bajo nivel o que esten en el kernel.

Un problema de mucha gente, que no ha trabajado en diversos lenguajes/entornos es que tienen una vision limitada de que significa "rapido" "desempeño" y cosas por el estilo.

Una maquina virtual (VM) en muchas ocasiones hace codigo mas rapido y/o eficiente (rapido<>eficiente) que el que manualmente hace un programador promedio en un lenguaje como C/C++, porque tiene acceso a mas informacion sobre el entorno/tipos de datos/heuristica/patrones de acceso/etc y por ende, puede habilitar formas mas eficaces de operar.

Si buscan "python/ruby/php/haskell/java/lua" faster than C/C++ veran que encontraran muchos ejemplos. Haskell es uno que particularmente vence a muchos programas en C/C++:

http://paulspontifications.blogspot.com/2013/01/when-haskell-is-faster-than-c.html

(Noten, que es posible hacer el codigo C MAS rapido. Pero eso requiere un programador MAS experto, mientras que una engine como esta NO).

Un ejemplo radical es http://luajit.org/. El java VM es considerado *hoy* como una maquina muy eficiente. La de .NET no esta para nada mal, y honestamente, desde la version 4 .NET ha dejado de ser una "burda" imitacion a Java (y en algunos aspectos, mejor que Java 7).

Esto se entiende en el momento que uno piensa como hacer un lenguaje de programacion. Y cuando se aprende que hace o no rapido ciertas cosas:

https://speakerdeck.com/alex/why-python-ruby-and-javascript-are-slow

Hagan de cuenta que un VM/Runtime es como hacer un programa de facturacion: Automatiza procesos manuales que hace el usuario, en este caso, el usuario es el programador!

Asi que, es mas probable que el programador "promedio" realmente escriba codigo terrible. Es algo que se ve todo el tiempo.

Por ejemplo, una de las razones por las cuales los programas de contabilidad "se mantienen" en desempeño no es porque esten muy bien programado (cosa que muchos aqui atestiguamos) sino que el *engine de base de datos* "cubre" los problemas debido a que es un runtime/VM muy eficaz, que incluso en motores como sql server o postgres (y otros) hace analisis especializes que re-escriben las consultas en base a los planes de ejecucion.

Si aceptamos que un motor de BD es rapido, tenemos que aceptar lo mismo de otras VM. Porque una BD:

1- No tiene manejo manual de memoria
2- No permite hacer nada a bajo nivel
3- Y maneja un tipo de programacion (declarativa) que *facilita* las optimizaciones programaticas... este punto tiene ventaja contra los lenguajes procedurales donde es mas facil embarrarla

El grado de cada runtime/VM en cuanto a lo eficiente varia entre uno y otro, pero es una falsedad creer que porque tiene runtime, es lento. Recuerdo que en su epoca, Foxpro es lo mas rapido que habia. Rapido, si hablabamos de base de datos. Y en foxpro no se hacia nada a "bajo nivel" pero barria con todo. TODO, era increible.

El problema de Java/.NET no es su VM en si, sino la GUI. En esa area son fatales. Es donde se nota la "lentitud". Son un bodrio. Es su punto debil.

Tambien, y esa es la razon ppal porque la que, aunque reconozco las ventajas de java, no me gusta ni programaria en eso, es porque la cultura, idiosincracia, librerias, comunidad y forma de trabajar en si es muy "burocratica". Con .NET es igual. No me parecen que sean una eleccion buena para equipos de trabajo pequeños y/o individuos.

Para estos, lenguajes como python, ruby, php, foxpro, delphi tienen la ventaja. No es tanto porque sean "rapidos" (me consta lo lento de ciertas apps hechas en delphi para contabilidad) sino mas bien que tiene un diseño que es mas acorde a la forma de trabajar de los que no somos una empresa grande.

Osea, y esto es importante, la forma de "pensar" de un programador de Java conlleva a que terminen haciendo cosas "lentas". Mucha vuelta, mucho uso de XML y cosas que son lentisimas, mientras que uno aprende en otros lenguajes a hacer cosas mas simples y directas.

La forma de pensar y de hacer las librerias tiene un efecto inmenso en el desempeño total de un sistema.

Pero, por ejemplo, si uno coje .NET/Java y desecha la forma de trabajar burocratica y toma una ruta mas agil, con librerias acordes, la cosa cambia mucho.

Un ejemplo en java es lo que hacen con http://clojure.org/. La gente que coje clojure es del mismo tipo de los que usan python/ruby: Equipos agiles, pequeños, startups. Gente que NO elige "java el lenguaje con sus vainas enterprise" pero que no les importa usar "java, el runtime muy eficiente" pero con una comunidad que es agil y un lenguaje acorde.

Obviamente, hay cosas, como manejo de numeros y asuntos de bajo nivel donde C/Pascal tienen ventaja. Basicamente, no por su lenguaje, sino porque estan hechos para esas labores, y sus librerias trabajan en conjunto.

UN ejemplo de contraste, con python -que es lento numericamente- es cuando se junta con http://www.numpy.org/ y de pronto, resulta tan o mas rapido que si esos calculos estuvieran hechos en C.

Osea, el uso de estructuras de datos y algoritmos hace la gran diferencia, mas que los lenguajes.

(Aunque al final, las VM estan hechas en C o similar, asi que....)

nlsgarcia
08-05-2013, 00:05:06
mamcx,


...si uno coje .NET/Java y desecha la forma de trabajar burocratica y toma una ruta mas agil, con librerias acordes, la cosa cambia mucho...

...El problema de Java/.NET no es su VM en si, sino la GUI. En esa area son fatales. Es donde se nota la "lentitud"...

...desde la version 4 .NET ha dejado de ser una "burda" imitacion a Java (y en algunos aspectos, mejor que Java 7)...
Pregunto:

1- ¿Que quieres decir con "forma de trabajar burocratica y toma una ruta mas agil" en .NET?

2- He visto aplicaciones hechas en .NET para Desktop muy optimizadas nivel de GUI, ¿Podrías aclarar un poco lo relacionado a la GUI en .NET?

3- ¿Podrías darme tu opinión sobre Visual Basic 2010 y C# 2010 en Aplicaciones Desktop y Web y sus ventajas desventajas con respecto a Delphi?.

Gracias de antemano :)

Nelson.

mamcx
08-05-2013, 01:57:35
1- ¿Que quieres decir con "forma de trabajar burocratica y toma una ruta mas agil" en .NET?


Digamos que todo empieza como dice el dicho: Cuando todo lo que tienes es un martillo, todo parecera un clavo.

Cada lenguaje/entorno promueve una cierta forma de trabajar y resolver las cosas. Por ejemplo, si alguien usa delphi y necesita manejar datos, quizas lo piense inmediatamente en terminos de TDataSource y TDataSets. Pero apuesto que pocos piensan en terminos de HashTable. En contraste, en python, todo es Listas y Diccionarios -que son una de las causas de que pueda ser lento (https://speakerdeck.com/alex/why-python-ruby-and-javascript-are-slow)-.

En python, la idea de datasources y recordsets es practicamente inexistente.

Un lenguaje OO te hace pensar en clases y subclases. Pero uno funcional, en funciones anidadas. Osea, el lenguaje moldea la forma de pensar de la gente, a un nivel profundo. Esto se expresa muy bien en http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html

Ahora bien, esto tambien se da como cada cual aprende a hacer sus primeros programas. En java, es muy comun el uso de XML para configurar cosas. El crear clases que usan clases que se basan en clases con clases y mas clases, AD-INFINITUM

http://www.quora.com/Java-programming-language/What-are-the-most-ridiculous-Java-class-names-from-real-code

http://godsnotwheregodsnot.blogspot.com/2012/06/how-absurd-and-scary-more-java-coding.html

Y luego todo la forma de como se hacen los proyectos. Cuando se comparan las librerias entre iOS y Android, hechas por la misma gente para hacer los mismo, es notable lo "verbosed" que son las hechas en Java (y eso que obj-c es para nada conciso).

Luego esta el asunto de los IDEs y como operan, al igual que con .NET, uno no piensa: Voy a hacer un archivo unico para hacer esto simple. No, lo que se hace es un proyecto con un monton de cosas, referencias, configuraciones y archivos extras, osea, de entrada asumen proyectos complejos y grandes.

En contraste, uno en python, por ejemplo, hace un archivo .py, hace su tarea, y se acabo.

Hace poco rehice todo un proyecto hecho en .NET a python, y la cantidad de codigo y archivos que se redujo fue impresionante (al final, python fue como 20 archivos vs. casi 100 de .net). No toda esa reduccion es debido al lenguaje, sino a todo el "equipaje" de como se hacen las cosas en .NET.

Es algo que tambien se vive con obj-c, donde los proyectos son masivos. Uno mira un repositorio open-source de algo y aunque sea un solo archivo donde esta el codigo importante, siempre vienen con unos 10 archivos extras hechos por el IDE.

Luego, esta la forma de pensar. Es dificil de comunicarlo, pero te pongo un ejemplo. Imaginate que quieres hacer grafos, y hacer la siguiente tarea:

En base a una lista de tablas, determinar de forma automatica como se hacen las relaciones de la forma mas eficiente posible, sin que el usuario haga los join manualmente. Osea, si hay Cliente, Factura, Detalle, y el usuario arrasta esas tablas, el programa solito sabe como hacer los joins entre los 3.

Eso se hace con grafos. Asi que dale una buscada a como se hace eso en java (o .net). Luego mira el codigo, y como se hace todo ese cuento.

Cuando me toco hacer eso, arrastre varios hiper-complejas librerias de .net. Super-enruedadas en ese entonces. Luego pense "a que en python es mas facil" y encontre esto:

http://www.python.org/doc/essays/graphs/

Luego re-implemente eso en C#, puff!!! quedo como en 20-30 lineas de codigo. Ves? No fue el lenguaje, es la forma como se enfrentan las cosas.


2- He visto aplicaciones hechas en .NET para Desktop muy optimizadas nivel de GUI, ¿Podrías aclarar un poco lo relacionado a la GUI en .NET?


EL problema de fondo, era que Winforms no tenias soporte de hardware para la tarjeta grafica (todo el render es por software). Con lo nuevo si hay soporte de hardware, pero requiere direct-x, asi que los equipos viejos no pueden. Java es igual, al usar widgets no nativos no hay aceleracion y todo es lento. Si siquiera usara open-gl pero nada (luego por ahi se inventaron unos widgets que enlazan a lo nativo y sale mejor).


3- ¿Podrías darme tu opinión sobre Visual Basic 2010 y C# 2010 en Aplicaciones Desktop y Web y sus ventajas desventajas con respecto a Delphi?.


Ya de eso se ha hablado bastante ;). La cosa, es que en mi opinion, no hay nada que supere al estilo VCL de delphi, con excepcion de Coccoa (osx). Hacer una GUI en .NET es entre facil (winforms) y limitado y lento y frustrante y dificil (WPF) enruedado y frustrante.

nlsgarcia
08-05-2013, 02:25:52
mamcx,

Gracias por tu detallada respuesta ^\||/

Seria valiosa tu opinión sobre Visual Basic 2010 y C# 2010 en Aplicaciones Desktop y Web dada tu experiencia con la plataforma .NET :)

Nelson.

Casimiro Notevi
08-05-2013, 02:40:21
¿ Tenéis tiempo o la mujer os llama para cenar:D?Creo que el amigo mamcx come frio todos los días, ¡¡¡qué manera de escribir!!! :eek:

Casimiro Notevi
08-05-2013, 02:45:41
Lo poco que he usado java (echándole un vistazo para aprender) me resultó leeeeeeento, pesado, aburrido, recargado, incómodo, insoportable, agobiante...
Aunque seguramente es una buena elección para... no sé, para algo debe servir bien :confused:

ElKurgan
08-05-2013, 08:13:35
Totalmente de acuerdo con los compañeros.

Solo un apunte para el amigo CesarSoftware: Si quieres tutoriales no olvides pasarte por el foro de Java Hispano (http://www.javahispano.org/)

Un saludo

Julián
08-05-2013, 10:08:51
http://local.joelonsoftware.com/wiki/2005-Dec-29_Riesgos_de_las_Java-escuelas

cesarsoftware
08-05-2013, 10:51:23
Jodooooo......

Entre la lectura de mamcx y el articulo de julian, creo que me ha quedado claro que mi primera impresión era correcta.

Ahora voy a trabajar un poco (en delphi) y luego sigo.

Gracias a todos, este tipo de opiniones era lo que buscaba.

Casimiro Notevi
08-05-2013, 11:03:17
http://local.joelonsoftware.com/wiki/2005-Dec-29_Riesgos_de_las_Java-escuelas
¡Qué bueno!

Ñuño Martínez
08-05-2013, 12:47:58
Lo poco que he usado java (echándole un vistazo para aprender) me resultó leeeeeeento, pesado, aburrido, recargado, incómodo, insoportable, agobiante...
Aunque seguramente es una buena elección para... no sé, para algo debe servir bien :confused:
Al menos, el modelo de objetos es mejor que el de C++:

Todos los objetos se referencian por punteros (en C++ hay "objetos automáticos" ).
[Si no recuerdo mal] No tiene herencia múltiple.
Los constructores de conversión no hacen cosas raras cuando sobrecargas operadores, porque no puedes sobrecargar estos fuera de una clase. Es decir, que el compilador nunca se encuentra con la disyuntiva de adivinar qué operador usar (como a veces ocurre con C++), sino que le basta con ver cuál es la clase de la izquierda y cuál la de la derecha del operador para saber qué hacer (De hecho esta es la principal razón por la que decidí no volver a usar C++).

No es una lista muy larga, pero ahora no recuerdo más. Yo también he usado Java muy poquito, y sólo por ver cómo es, igual que tú.

cesarsoftware
08-05-2013, 19:39:23
Eso es justo lo que queria saber, si ya habeis "jugado" un poco vosotros, para que voy yo a ponerme a investigar , hechar un monton de horas, comprometerme con algo, total, para darme cuenta que es un .... lenguaje .... rarito.

¡3 mil millones de dispositivos usan java:eek:! ¿Eso no sera publicidad fraudulenta?

Quiero decir, que si casimiro, mamcx, ñuño, evidentemente julian y demas, yo en el futuro, no usamos ni vamos a usar java, ¿Quien puñetas usa java? ¿Solo los "atolondrados" (..al ;)..) de las universidades?

Por resumir, si vas a hacer algo en android puedes usar java, si no, no merece la pena.

PD: "elkurgan", si no te importa no voy a visitar el enlace, pero gracias por ponerlo:D, bueno, igual luego le hecho un vistazo.

Julián
08-05-2013, 20:46:14
En mi trabajo, hace un tiempo, había que hacer una aplicación web mas o menos seria, y "desde arriba" nos dijeron que debía hacerse con el lenguaje y framework y plataforma corporativa u oficial del organismo al que pertenecemos, o sea: java+hibernate sobre tomcat y/o JBoss y con otras cosas como Ant y no se que mas. Estuvimos casi un més instalando, configurando, evaluando y probando todas esas cosas, y despues de vomitar y de que se nos encaneciera la cabellera intentando configurar JBoss en debian, y como no queriamos tardar 2 ó 3 años en hacer el trabajo, lo hicimos con php, y mucho ajax y mucho jquery. Tardamos muy poquito, y el resultado es una aplicación que funciona muy bien, muy rápido, no es nada fea, y cuando hay que modificar algo es muy muy fácil.

No es que tenga mucha experiancia en java, el lenguaje del futuro desde hace 20 años, pero si alguna vez veís una aplicación hecha en java que no sea, o parezca, un cagarro, me avisais. :D

AzidRain
08-05-2013, 23:20:15
Yo alguna vez utilicé Java para un software de contabilidad pues debía ser multiplataforma. Si has leído a Grady Booch java cae como anillo al dedo pues todo son clases y clases y clases. El propio lenguaje te introduce en mundo donde todo lo que piensas son clases y objetos y como interactúan unos con otros. Al poco tiempo te acostumbras a crear una clase para cada necesidad específica.

El problema viene (al menos en mi caso) cuando quieres que el mundo de clases y objetos que ya tienes diseñado interactúe con el mundo real (o sea la GUI) simplemente es espantoso y tardado. Lo que con delphi haces en 10 minutos o menos, en java te llevará varias horas, al menos al hacerlo por primera vez. Además depende de versiones del framework por lo que lo que desarrollas con una versión a veces no funciona igual cuando la versión que tiene el usuario instalada es otra y eso ya no lo controla el desarrollador.

La bondad de Delphi es que puedes generar un ejecutable monolítico que funciona incluso desde un pendrive y sin necesidad de hacer nada mas que hacer doble click.

Al González
09-05-2013, 00:19:22
La bondad de Delphi es que puedes generar un ejecutable monolítico que funciona incluso desde un pendrive y sin necesidad de hacer nada mas que hacer doble click.
Así es. ^\||/

Además Delphi también está lleno de clases, por ser un lenguaje rico y moderno en POO, sólo que le simplifica las cosas al programador abstrayéndolo de la composición, organización y funcionamiento de muchas de las clases, cuando éste así lo prefiere y no quiere bucear en ellas. Pero siempre están las clases ahí para redefinir cualquier parte o ampliar funcionalidad. Mucha gente ignora esto sobre Delphi.

Saludos. :)

cesarsoftware
09-05-2013, 11:14:05
Estooo....

Es este foro no hay nadie que defienda a java, estamos en el foro de java.

¿Alguna bondad real de java?, algo tiene que tener, vamos digo yo.

Por ejemplo, la mayoria entiende que linux es "mejor" que windows, pero se usa mucho mas windows porque es el "estandard" nos guste o no, como paso con el beta y el vhs, que mejor no significa el mas usado.

Por eso digo, que si java es el "nuevo estandard" .... los programadores lo usaremos nos guste o no.

¿O estoy equivocado?

ElDioni
09-05-2013, 11:30:35
Por ejemplo, la mayoria entiende que linux es "mejor" que windows

Ejem... :rolleyes:

cesarsoftware
09-05-2013, 12:06:59
Ejem... :rolleyes:

¿No? ¿Cual es tu opinion?

ElDioni
09-05-2013, 12:42:03
Digamos que mis experiencias personales con linux no han sido agradables (puede que sea yo), dejemoslo ahí que si no vamos a desviar el tema del hilo con otro interminable debate de que sistema operativo es el mejor.

Saludos.

cesarsoftware
09-05-2013, 13:07:11
Digamos que mis experiencias personales con linux no han sido agradables (puede que sea yo), dejemoslo ahí que si no vamos a desviar el tema del hilo con otro interminable debate de que sistema operativo es el mejor.

Saludos.

No no hay ningún debate nuevo, de hecho he puesto "mejor" entre comillas, porque conozco casos como el tuyo y estoy seguro que tiene que haber gente que defienda a java, ¡ pero no contestan :eek:!

Al González
09-05-2013, 16:02:02
[...] estoy seguro que tiene que haber gente que defienda a java, ¡ pero no contestan :eek:!
Es lógico que el programador Java que en verdad conoce Delphi difícilmente vendrá a decirnos que Java es superior o una maravilla. Mientras que los fanáticos de Java difícilmente se pasarán por aquí (salvo en calidad de troles :D).

Java es una buena iniciativa, es un interesante "borrador" de lo que en el futuro podríamos estar usando, pero te aseguro que no será este Java. Es más, ni siquiera será un lenguaje de sintaxis derivada de C. v\||/

Sí, desafortunadamente hay miles de dispositivos usando este lenguaje. En el mundo actual, de competitividad estúpida, lo que dé mayores beneficios al propietario de una marca es lo "adecuado", sin importar qué tan bueno sea el producto por dentro. El hecho de que el lenguaje haya sido uno de los primeros con soporte multiplataforma compensa, económicamente, sus debilidades en otros aspectos. Ya muchas firmas sólo lo usan por inercia, para no quedar como bicho raros y perder con ello cuotas de mercado.

cesarsoftware
09-05-2013, 16:15:27
Es lógico que el programador Java que en verdad conoce Delphi difícilmente vendrá a decirnos que Java es superior o una maravilla. Mientras que los fanáticos de Java difícilmente se pasarán por aquí (salvo en calidad de troles :D).

Ya, pero esto es un foro de java dentro de clubdelphi.


Java es una buena iniciativa, es un interesante "borrador" de lo que en el futuro podríamos estar usando, pero te aseguro que no será este Java. Es más, ni siquiera será un lenguaje de sintaxis derivada de C. v\||/
Te refieres a ansi C o a c#, porque personalmente el anci C me gusta, quizas porque lo he usado bastante y estoy acostumbrado, es similar (en estructura) a pascal.


Sí, desafortunadamente hay miles de dispositivos usando este lenguaje. En el mundo actual, de competitividad estúpida, lo que dé mayores beneficios al propietario de una marca es lo "adecuado", sin importar qué tan bueno sea el producto por dentro. El hecho de que el lenguaje haya sido uno de los primeros con soporte multiplataforma compensa, económicamente, sus debilidades en otros aspectos. Ya muchas firmas sólo lo usan por inercia, para no quedar como bicho raros y perder con ello cuotas de mercado.

La industria basada en los beneficios, no es buena industriav\||/

mamcx
09-05-2013, 18:11:41
Ya, pero esto es un foro de java dentro de clubdelphi.


No que sea uno muy representativo ;)

Pero para hacer de abogado del diablo, reitero que Java a mejorado mucho en los ultimos años. En muchas areas es mejor que Delphi. Es importante entender que los lenguajes logran aceptacion masiva por:

1- Ser la opcion por defecto de una plataforma(s) populares (C, C++, Java, Obj-C, y desafortunadamente, JS)
2- Proveer un nivel de abstraccion/eficiencia superior a lo "normal" sin ser demasiado academico (OO = C#, Java, C++, Delphi), Prototipado (JS)
3- Proveer un caso de uso donde la superioridad y/o la facilidad es "aplastante" (RAD= Delphi; Engine juegos= Lua, Python; Multiplataforma= Java, Python, Ruby; AppsWeb = Ruby, Python, PHP, Paginas Web = PHP, HTML, CSS; Manipular datos= Sql; Aplicaciones de escalabilidad masiva y alto desempeño = Erlang, Java, GO; Poder raso de computo = C, C++, Assembler; Acceso bajo nivel= C, C++, Delphi)
4- Una caracteristica "espiritual" que resuena en un conjunto amplio de programadores (Metaprogramacion, Datos=Programa: LISP, Haskel, Ruby (maso); Claridad de syntaxis = Pascal, Delphi, Python; Util para sysadmins: Perl; Util pa' "hackear" y hacer experimentos: Perl; Apps Cientificas: R, Python, Matlab; OO pura: Smalltalk; Prog. Funcional, "Pureza" de funciones, Acercamiento matematico: Haskell; No me frieges, hago una pagina web/programa ya y nos vamos: PHP, Basic )
5- Facilidad de conseguir empleo, ganar $$
6- El estandar de una sub-industria que uno quiere entrar: Banca, Finanzas: Cobol, RPG, Java; Juegos: C++, C, Lua; Web: JS; ERPs=SAP; Mac/iOS=Obj-c
7- Estar a la vanguardia de lo que viene, experimentar con lo nuevo, y arriesgado. Practicamente todo otro lenguaje poco conocido que trae innovaciones o paradigmas interesantes
8- Es una META-PLATAFORMA:Hay meta-plataformas basadas en los runtimes (Java VM, .NET VM, LuaJIT VM, Erlang VM, LLVM, JS, Haskell) en donde hay *implementaciones* de otros lenguajes corriendo sobre esas plataformas (por eso es posible programar pascal en java, si hay la implementacion, o ruby sobre obj-c y entrar en ios)

Donde es duro Java? En escalabilidad masiva, procesamiento de datos, sectores de la industria especializados, y en forma particular, como meta-plataforma. Por ejemplo, si alguien tiene algo hecho en ruby y python y le va lento, pues lo pone a correr en http://jruby.org/ o http://www.jython.org/. La ironia: Java se uso ahora para *acelerar* otros lenguajes!

Y de hecho, si alguien quiere crear hoy su propio lenguaje, es mas bien idiota hacerlo a mano en C. Lo mejor al dia de hoy es usar Java, LLVM, Haskell, PyPy, Rubinius, JavaScript, Erlang o .NET (ppalmente) para basarlo en estos.


Te refieres a ansi C o a c#, porque personalmente el anci C me gusta, quizas porque lo he usado bastante y estoy acostumbrado, es similar (en estructura) a pascal.


No sabes cuanto me gustaria que los lenguajes en C dejaran de dominar! Cuando conoci a http://golang.org/ *casi* me enamore, pero la syntaxis me tiene alejado. Mi lenguaje ideal se basaria en las ideas de GO & python (http://www.clubdelphi.com/foros/showthread.php?t=80367)


La industria basada en los beneficios, no es buena industriav\||/

NO! Es una industria buena! Sin beneficios, nos quebramos! La industria basada en los beneficios, que esta dispuesta a plastar y pasar por encima de otros a las malas y de forma criminal, esa es la mala. Pero todo negocio necesita beneficios $$$ para seguir. Es de hecho, un ppio basico de un negocio: La generacion de riqueza (idealmente, sin nada malvado de por medio ;))

blackx5n
10-05-2013, 03:36:45
Bueno dare mi opinion acerca de este tema

Ventajas

1- Es multiplataforma
2- Un API muy bien documentada
3- Hay gran cantidad de codigo, librerias etc.


Desventajas

1- Curva de aprendizaje alta, utilizarlo como 3 lenguaje si no se ha tenido contacto con algun lenguaje de programacion, tener minimas nociones de orientación a objetos

2- Aplicaciones lentas, debido a que es interpretado por la maquina virtual
- El recolector de basura agrega una sobrecarga que puede afectar el rendimiento aunque se han hecho mejoras en este sentido

3- Otra desventaja que le encuentro a java es que le hace falta tener un IDE como el delphi o Visual Studio ( Se tiene los IDEs Eclipse y Netbeans que en mi opinion es el que facilita un poco mas el trabajo)

4- Tiempo de desarrollo mas alto, en comparacion con otros lenguajes de programacion.

Con java, a que tener cuidado ala hora de crear una aplicacion, cual va ser la funcion que va a cumplir esa aplicacion, hacer un analisis muy profundo, y si realmente es adecuado usar java para tal fin
porque si no despues te meteras en un callejon sin salida lleno de laberitos y desearas maldecir al inventor de este engendro llamado java.

Con java hay que documentarse muy bien, leer, leer y practicar, entender muy bien los conceptos del lenguaje.

anubis
10-05-2013, 10:07:40
Dentro de mi humilde opinion, java es multiplaraforma, aunque lazarus basado en pascal funciona tambien multiplataforma.
Lo que no he visto un sistema como delphi/lazarus para aplicaciones GUI que sean mas sencillas de hacer, con otros (contando visual basic) hay que tirar de widgets.

Nose con que se programan las aplicaciones que se usan, desde procesadores dextexto, basescdexdatos,... pero desde luego cada lenguaje tiene su cometido como habeis dicho.
Para mi aprender java como trampolin para android.

Y si veo e defendeis mucho a python, quiere decir que tambien sirve para todo y es mas facil programar con ventanas?, no digo como delphi, pero algo mas sencillo que java?.

Evidentemente este subforo es java pero esta dentro de de delphi, asi que el lenguaje a vender es delphi :D.

Disculpadme por cel desvario, pero creo quecla pregunta inicial de este foro era, si merecia la pena aprender java y, en lineas generales habeis respondido que no con otras alternativas, lease haskel, ruby, python...

cesarsoftware
10-05-2013, 11:46:56
Pues yo que no veo lo de multiplataforma:cool:

Quiero decir, que el código fuente (en delphi, por ejemplo), se podría compilar en el compilador correspondiente a cada sistema, en vez de tener una VM que lo interprete, en cada sistema, y ya esta.

En mi modesto entender, un lenguaje/compilador debe servir para todo, quiero decir, no me sirve un lenguaje que, por ejemplo, no disponga de acceso al sistema gráfico de forma nativa, ya, la culpa la tienen los sistemas, pero para eso están los compiladores o VM.

Y volviendo a los lenguajes, os acordáis de Basic, GW-Basic, etc, con (creo recordar) 70 palabras clave hacías de todo, en CPM en DOS, en OS/2, etc. No te hacia falta gigas de ram ni de disco y en aquella época también estaban pascal, c y cobol, y cada uno tenia su sentido, no hacían falta clases ni objetos ni herencias, eran claros y concisos, todo se hacia con funciones y procedimientos. ¿Que es un objeto? Un conjunto de funciones, con sus variables, visto de otra forma pero al fin y a la postre, funciones y variables.

No digo que tiempo pasados fueran mejores, pero recuerdo que cuando comprabas un lenguaje/compilador te daban el manual de usuario EN PAPEL con todas las funciones descritas y con ejemplos. Hoy en día, incluyendo a Delphi, encontrar que cosas sabe hacer tu nuevo compilador, es, cuando menos, tedioso.

Creo que se están/nos están complicando la vida, no digo que no haya que avanzar, sino, como podríamos controlar ahora, por ejemplo una cámara web o internet, lógicamente con funciones o APIs disponibles POR EL SISTEMA o DRIVER y problema resuelto.

Después de lo leido y escrito (buen intento mamcx), ¿porque un lenguaje te tiene que hacer cambiar la manera de pensar? Que pasa, que los que desarrollan java son mas listos que nosotros, seguramente no, pero su empresa (en la que trabajan) parece ser que si.

En mi experiencia de programador (y ya van para unos ... digamos 30 años) (se ve que tengo mas, jejeje:D) e desarrollado e implementado infinidad de programas, algunos siguen funcionando en clientes desde el año 1990 (si hace ya 23 años, en el siglo pasado) escritos en CA-Clipper o Basic y digo siguen porque por ejemplo tengo dos mesas de medidas por láser (para tablones de madera) escritas en basic y siguen en la fabrica de muebles trabajando todos los días o una facturación escrita en CA-Clipper que el usuario no quiere cambiar porque le va genial y varios ejemplos mas. ¡Y no, no era programación orientada a objetos ni nada parecido!

Entonces ¿Porque cambiar? ¿Porque aprender otro lenguaje? ¡Por que me gusta lo que hago y me considero un eterno aprendiz! De hay el intento de aprender java y este hilo.

No entiendo, no entiendo porque un lenguaje es, cada vez mas complicado o incluso menos útil. ¿A que esto no le pasa a un albañil o fontanero? Quiero decir que claro que todas las profesiones tienen que aprender "lo nuevo", pero "lo nuevo" no tiene que ser radicalmente distinto a "lo actual". Da la impresión que para aprender java, tienes que olvidar delphi, no se si me explico bien. Que la informática es un entorno "nuevo" y por tanto "cambiante", Si, de acuerdo, eso nos dicen, pero nuevo, nuevo, tampoco, porque es una industria que ya lleva mas de 50 años en el mercado, suficiente para estar bien consolidada, pero, me da la sensación, que la industria (la mala) se aprovecha de nosotros para sacarnos el dinero con cursos, etc, o al menos es la conclusión que saco yo.

Buff, que jart'a de escribir.:)

Casimiro Notevi
10-05-2013, 11:57:52
.. En mi experiencia de programador (y ya van para unos ... digamos 30 años) (se ve que tengo mas, jejeje:D) e desarrollado e implementado infinidad de programas, algunos siguen funcionando en clientes desde el año 1990 (si hace ya 23 años, en el siglo pasado) escritos en CA-Clipper o Basic y digo siguen porque por ejemplo tengo dos mesas de medidas por láser (para tablones de madera) escritas en basic y siguen en la fabrica de muebles trabajando todos los días o una facturación escrita en CA-Clipper que el usuario no quiere cambiar porque le va genial y varios ejemplos mas. ¡Y no, no era programación orientada a objetos ni nada parecido! ..
Creo que somos de la misma generación, unos chavales.
La semana pasada me encontré con uno de mis primeros clientes al que le hice la gestión de su negocio en un lenguaje del que nadie aquí habrá oido nunca nombrar (boriar), fue en 1987 y sigue funcionando todavía con ese programa, al igual que otros clientes de esa época, no quieren cambiar porque, simplemente, les funciona bien y hacen todo lo que necesitan. Jamás tienen ningún problema y no tengo que ir a arreglarles nada, ni tampoco a cobrarles :confused:

cesarsoftware
10-05-2013, 12:05:19
Creo que somos de la misma generación, unos chavales.
La semana pasada me encontré con uno de mis primeros clientes al que le hice la gestión de su negocio en un lenguaje del que nadie aquí habrá oido nunca nombrar (boriar), fue en 1987 y sigue funcionando todavía con ese programa, al igual que otros clientes de esa época, no quieren cambiar porque, simplemente, les funciona bien y hacen todo lo que necesitan. Jamás tienen ningún problema y no tengo que ir a arreglarles nada, ni tampoco a cobrarles :confused:

Ja, ya discutimos lo de cobrar en otro foro, ves, nosotros no somos "mala industria".

PD: born 1968, first learn 1982, first job 1985 ... today.

newtron
10-05-2013, 12:29:02
Hola.

Seguramente todos o casi todos (los mayores) tenemos clientes con programas muy antiguos sin ningún tipo de problema y que no quieren cambiar. Pero yo siempre digo lo mismo, no quieren cambiar porque seguramente no conocerán (o no querrán conocer) las ventajas de poder enviar correos electrónicos de los documentos y listados, de poder generar pdfs, usar bases de datos más robustas, y en definitiva aprovechar todas las posibilidades que nos ofrecen los nuevos lenguajes de programación.

Otra cosa es el ejemplo del programita que hace una función muy específica y no se requiere nada más pero no creo que sea el caso de un programa de facturación o contabilidad que es en lo que nos movemos la mayoría.

Ñuño Martínez
10-05-2013, 12:50:38
Me gusta tu último análisis (http://www.clubdelphi.com/foros/showpost.php?p=460134&postcount=29), Mamcx. En especial porque corrobora lo de que "cada lenguaje tiene sus ventajas y desventajas, y realmente no existe un lenguaje mejor que otro". Java también las tiene, aunque sólo sea porque su máquina virtual es una de las más extendidas por no existir casi ningún sistema operativo que no disponga, al menos, de una. Aunque es cierto que esto no garantiza que cualquier programa Java vaya a funcionar en cualquier plataforma que disponga de la JVM, pero sí muchos de los programas funcionarán en muchos sistemas, más que Lazarus (que se ha nombrado por aquí, y que defiendo) cuya biblioteca LCL (equivalente a las VCL y CLX) sólo está completamente disponible en un puñado de sistemas (Windows, Linux y MacOS) y parcialmente en otros pocos (Palm, y no sé si alguno más). En fin, que creo que en eso Java es una ventaja.

Y ya que se habla de programas añejos, sé de empresas que siguen usando viejos programas Java hoy en día, funcionando en computadoras mucho más modernas que las que había cuando se crearon.

cesarsoftware
10-05-2013, 12:56:55
Hola.

Seguramente todos o casi todos (los mayores) tenemos clientes con programas muy antiguos sin ningún tipo de problema y que no quieren cambiar. Pero yo siempre digo lo mismo, no quieren cambiar porque seguramente no conocerán (o no querrán conocer) las ventajas de poder enviar correos electrónicos de los documentos y listados, de poder generar pdfs, usar bases de datos más robustas, y en definitiva aprovechar todas las posibilidades que nos ofrecen los nuevos lenguajes de programación.

Ya, o que quizas no nos sabemos vender:o


Otra cosa es el ejemplo del programita que hace una función muy específica y no se requiere nada más pero no creo que sea el caso de un programa de facturación o contabilidad que es en lo que nos movemos la mayoría.

Ya, ¿Pero hace falta java para realizar un programa moderno, mas amigable o mas vistoso? En mi humilde opinición creo que no. Delphi a evolucionado con el tiempo (quiza demasiado) y es una buena herramienta para programar en el siglo XXI

cesarsoftware
10-05-2013, 13:31:04
Me gusta tu último análisis (http://www.clubdelphi.com/foros/showpost.php?p=460134&postcount=29), Mamcx. En especial porque corrobora lo de que "cada lenguaje tiene sus ventajas y desventajas, y realmente no existe un lenguaje mejor que otro". Java también las tiene, aunque sólo sea porque su máquina virtual es una de las más extendidas por no existir casi ningún sistema operativo que no disponga, al menos, de una. Aunque es cierto que esto no garantiza que cualquier programa Java vaya a funcionar en cualquier plataforma que disponga de la JVM, pero sí muchos de los programas funcionarán en muchos sistemas, más que Lazarus (que se ha nombrado por aquí, y que defiendo) cuya biblioteca LCL (equivalente a las VCL y CLX) sólo está completamente disponible en un puñado de sistemas (Windows, Linux y MacOS) y parcialmente en otros pocos (Palm, y no sé si alguno más). En fin, que creo que en eso Java es una ventaja.

Coincido plenamente en el planteamiento de los lenguajes, pero ¿Es la máquina virtual la única ventaja de java? ¿Tal ingente cantidad de esfuerzo de cientos de personas en horas, dineros y conocimiento invertido solo para eso?
Cuando alguien como mamcx piensa en un nuevo leguaje, tiene un sentido, creo recordar que la NASA invento lisp para "afinar" sus software dedicados a la misiones espaciales. O se inventa HTML para un nuevo proposito, la navegacion por internet.
Para que se invento java, para homogeneizar todos los dispositivos o, como windows, para que cada pc/dispositivo tuviera uno.
No me creo, o no me puedo creer, que una impresora, un lector de blue-ray, etc, con microprocesadores de, seguramente 8 o 16 bits como mucho, tipo PIC o Motorola 68000, usen java (con su VM incluido) en vez de C u otro lenguaje mas especifico y mas serio y apropiado para tal menester, ya solo falta que le metan windows CE a un ratón, jejeje:D. Vale en las tablets y smarphines (android/linux, simbian) es otra cosa y otro debate, o quizas no, programar, se programan y por programadores. Una vez hice un programita en C++ para simbian, je, que ilusión me hizo:)


Y ya que se habla de programas añejos, sé de empresas que siguen usando viejos programas Java hoy en día, funcionando en computadoras mucho más modernas que las que había cuando se crearon.

Si y el telescopio espacial Hubble lleva un pc 286 desde hace años.
El año pasado cambie una infraestructura de red optica en un almacén motorizado de 6 calles por una nueva infraestructura de red wifi http://www.youtube.com/watch?v=-fasuS5pUHA ( partir del minuto 2:45 se ve realmente donde estamos:D, el "viaje" dura 35 segundos y gratis, a los niños les encantaria, jejeje:D) pero simplemente porque no se podia usar el nuevo sistema de ERP con esa tecnologia tan vieja, pero funcionaba.

WiFi ha venido a sustituir en muchos casos, como este al cable, ¿A que ha venido java?

donald shimoda
10-05-2013, 14:08:25
Java es una buena iniciativa, es un interesante "borrador" de lo que en el futuro podríamos estar usando, pero te aseguro que no será este Java. Es más, ni siquiera será un lenguaje de sintaxis derivada de C. v\||/

Desde el punto de vista del programador Delphi, el futuro de java es Oxygene. ;)

donald shimoda
10-05-2013, 14:09:43
NO! Es una industria buena! Sin beneficios, nos quebramos! La industria basada en los beneficios, que esta dispuesta a plastar y pasar por encima de otros a las malas y de forma criminal, esa es la mala. Pero todo negocio necesita beneficios $$$ para seguir. Es de hecho, un ppio basico de un negocio: La generacion de riqueza (idealmente, sin nada malvado de por medio ;))

Capitalismo menos comunismo en una discusión sobre java. :rolleyes:

Ok enciendan los motores, ya saben de que lado estoy! :D

donald shimoda
10-05-2013, 14:12:49
Entonces ¿Porque cambiar? ¿Porque aprender otro lenguaje? ¡Por que me gusta lo que hago y me considero un eterno aprendiz! De hay el intento de aprender java y este hilo.


Exacto el que ama esta profesión ama aprender.


No entiendo, no entiendo porque un lenguaje es, cada vez mas complicado o incluso menos útil. ¿A que esto no le pasa a un albañil o fontanero? Quiero decir que claro que todas las profesiones tienen que aprender "lo nuevo", pero "lo nuevo" no tiene que ser radicalmente distinto a "lo actual". Da la impresión que para aprender java, tienes que olvidar delphi, no se si me explico bien. Que la informática es un entorno "nuevo" y por tanto "cambiante", Si, de acuerdo, eso nos dicen, pero nuevo, nuevo, tampoco, porque es una industria que ya lleva mas de 50 años en el mercado, suficiente para estar bien consolidada, pero, me da la sensación, que la industria (la mala) se aprovecha de nosotros para sacarnos el dinero con cursos, etc, o al menos es la conclusión que saco yo.


Y aca te echas pátras... me desorientas. :rolleyes:

cesarsoftware
10-05-2013, 14:19:46
Y ya que se habla de programas añejos, sé de empresas que siguen usando viejos programas Java hoy en día, funcionando en computadoras mucho más modernas que las que había cuando se crearon.

Releyendo te entiendo mejor, quieres decir que no solo es el mismo programa con la misma máquina de hace años sino el mismo programa instalado en máquinas nuevas de arquiteturas mas modernas y según nuestro mercado/sector incompatible en hardware y software con la antigua. Por ejemplo un programa hecho en java corriendo en una Digital con VMS, funcionaria ahora en un Portatil intel con windows 8.

Es un gran punto a favor, todos hemos tenido que rehacer programas escritos para, por ejemplo MS-DOS en Basic o Pascal, que ningun lenguaje/compilador moderno aceptaria. En cambio en java parece que si.

cesarsoftware
10-05-2013, 14:37:31
Y aca te echas pátras... me desorientas. :rolleyes:

No, no me hecho para atras, bueno si, ya he desintalado netbeans y el jdk, bueno, quiero decir.

Si, estoy confuso, queria aprender java y tengo excusa, te cuento:

Hace unos meses coincidi con un ingeniero portugues en una instalacion de una linea de montaje de amoriguadores, el se encargaba de 4 robots (colocar amoriguadores, sacarlos, soldarlos y prensarlos) y yo de obtener los datos de las celulas de carga, extension y compresion, graficarlos y decirle a uno de los robots que tenia que hacer con la pieza dependiendo de si era buena o mala y por que causa, bueno que me lio, el chico me hablaba de java, mucho, y me decia que los robots se podian/solian programar en java, y me enseño un juego hecho en java sobre robots "aprendices" y me dijo (ahi me toco la fibra), que eran un buen metodo para que mi hija de 7 años aprendiera a programar robots.

Nota: Sus robots no los programo en java, pero parte de su aplicacion (extensa) creo que si.

En esas circustancias, que quires, me puse como loco a querer aprender java, no me heche para atras, todo lo contrario, afronte que estaba dispuesto a dar un gran paso adelante...¡un viaje al futuro! ¡Usaria el nuevo estadard! ¡No me quedaria atras!

Y es entonces, cuando despues de mucho mirar por mi cuenta, y entender que, me supondria un esfuerzo mayor del esperado (todos hemos aprendido nuevo leguajes o sistema sobre la marcha, eso no nos asusta ¿verdar?), y ver que lo que yo veo de java no es lo mismo que veia mi colega y compañero en ese momento, decido consultar con vosotros, hubiera preferido hacerlo tomandonos unas ||-||, pero de momento, es en el ciberespacio;), por eso la claridad del titulo

Queridos colegas, ¿Merece la pena java?

donald shimoda
10-05-2013, 16:04:55
Queridos colegas, ¿Merece la pena java?

Pues.... tengo tu misma edad y a estas alturas mi amigo si no disfruto el viaje no vale la pena el destino, esa es mi filosofía.

Saludos!

Casimiro Notevi
10-05-2013, 16:34:06
Otra cosa es el ejemplo del programita que hace una función muy específica y no se requiere nada más pero no creo que sea el caso de un programa de facturación o contabilidad que es en lo que nos movemos la mayoría. Precisamente no son programas de facturación/contabilidad a los que me refería.

rretamar
10-05-2013, 20:10:26
Lo poco que he usado java (echándole un vistazo para aprender) me resultó leeeeeeento, pesado, aburrido, recargado, incómodo, insoportable, agobiante...
Aunque seguramente es una buena elección para... no sé, para algo debe servir bien :confused:

Cierren el thread. Casimiro dijo en pocas palabras lo que muchos pensamos (y vemos). ^\||/

:D

nlsgarcia
10-05-2013, 23:32:43
Club Delphi,


¿Por qué necesito Java?

Existe un gran número de aplicaciones y sitios Web que no funcionan a menos que Java esté instalado, y muchas más que se crean a diario. Java es rápido, seguro y fiable. De portátiles a centros de datos, de consolas de juegos a superequipos científicos, de teléfonos móviles a Internet, Java está en todas partes.

Tomado de: http://www.java.com/es/download/faq/whatis_java.xml
La importancia de Java se puede sintetizar en los siguientes puntos:

1- Conocimiento de un lenguaje de programación multiplataforma puramente orientado a objetos.

2- Interés económico motivado por fuentes de trabajo o oportunidades de negocio.

3- Su extensa utilización a nivel de aplicaciones Desktop, Web, Móviles y en diversos Dispositivos Electrónicos.

4- Amplia aceptación en el mundo académico y extensa bibliografía.

5- Actualización del lenguaje y mejoras periódicas a la Máquina Virtual (VM).

Todos los puntos anteriores son válidos, sin embargo esto no implica que el lenguaje sea fácil de aprender y/o implementar en comparación a otros lenguajes o que sea la mejor alternativa de programación actualmente, simplemente indica hechos puntuales que lo distinguen y que en su momento pueden ser factores de decisión en relación a su inclusión o no en determinados proyectos a nivel personal, académico o empresarial.

Otro punto importante es el indicador TIOBE (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html), que aunque solo mide la popularidad de un lenguaje este indica la amplia aceptación de Java a nivel mundial.

Espero sea útil :)

Nelson.

blackx5n
11-05-2013, 02:19:37
Club Delphi,

4- Amplia aceptación en el mundo académico y extensa bibliografía.



Yo tengo algunas dudas ojala me ayudan aclararlas

1- ¿Porque java es ampliamente aceptado en el mundo academico?

2- ¿Porque de aumento de las java escuelas?

3- ¿El mercado laboral exige profesionistas que sepan java si o si?

4- ¿Cuantas paginas web conocen ustedes que verdaderamente usen applets, son muchas, son pocas que opinan?

5- ¿Java es verdaderamente mas seguro para hacer aplicaciones que utilizar otros lenguajes de programacion?
Siempre he escuchado que java es muy seguro debido a que no usan punteros y asi evita errores de memoria y que la maquina virtual hace comprobaciones para determinar la procedencia de las clases y asi evitar posibles daños.
¿Que opinan?

6- ¿Hace poco en portales de noticias se hablo de que el plugin de java en el navegador era vulnerable se enteraron de la noticia?

7- ¿Creen que estos portales de noticias exageran, y le dan mala fama al lenguaje o esta justificado?

8- ¿En el caso de java con los applets, y estos errores de seguridad en el navegador, quien es el verdadero responsable, el lenguaje en si, la empresa que tiene el control del lenguaje, los programadores, los usuarios finales o todos somos responsables?

Al González
11-05-2013, 06:10:25
[...] o todos somos responsables?
¿Los responsables son los que pusieron ahí las escaleras o los que se paran sobre ellas? :rolleyes:

http://img89.imageshack.us/img89/8650/ignorancia11.jpg (http://imageshack.us/photo/my-images/89/ignorancia11.jpg/)

cesarsoftware
11-05-2013, 11:56:31
¡Y encima problemas de seguridad!

Los culpables, a mi entender son los propietarios de java, no los programadores, porque seguro que el fallo no esta en la aplicación sino en la VM.

Si leyeron la historia del ingeniero portugues, verán que hay gente que defiende a java, quizás porque es lo que han aprendido en la escuela.

A los que hemos aprendido lenguajes clásicos, parece claro que java se nos "atraganta", pero los que han salido aprendiendo java, delphi les parecerá un dinosaurio.

Eso si, mires por donde mires, parece que java esta presente o nos lo hacen creer (voto por la segunda opción)

Casimiro Notevi
11-05-2013, 12:04:16
Independientemente de que sea bueno o malo, y olvidándonos de cualquier valoración técnica, java es el visual basic de antes, el lenguaje que "todos" tienen que aprender, más gente que lo conoce equivale a más mano de obra y, por tanto, pagar menos porque hay muchos que lo conocen.

Casimiro Notevi
11-05-2013, 12:05:03
http://img89.imageshack.us/img89/8650/ignorancia11.jpg (http://imageshack.us/photo/my-images/89/ignorancia11.jpg/)

Buenísimo :)

cesarsoftware
11-05-2013, 12:24:41
Independientemente de que sea bueno o malo, y olvidándonos de cualquier valoración técnica, java es el visual basic de antes, el lenguaje que "todos" tienen que aprender, más gente que lo conoce equivale a más mano de obra y, por tanto, pagar menos porque hay muchos que lo conocen.

Creo que vas por buen camino^\||/

nlsgarcia
11-05-2013, 18:50:55
Casimiro Notevi,


...Java es el Visual Basic de antes...


Pregunto: ¿Java o PHP?.

Espero sea útil :)

Nelson.

Casimiro Notevi
11-05-2013, 18:57:08
Casimiro Notevi,
Pregunto: ¿Java o PHP?
Espero sea útil :)
Nelson.

Es que tú eres muy joven :)
Sí, también, php sería el "visual basic" para la web :)

MAXIUM
11-05-2013, 20:25:33
OK, ¿entonces enterramos JAVA?. Piensen la respuesta ya que están influyendo en toda una generación de programadores.

Subamos las apuestas
Ruby vs Phyton

cesarsoftware
11-05-2013, 21:15:14
OK, ¿entonces enterramos JAVA?. Piensen la respuesta ya que están influyendo en toda una generación de programadores.

Subamos las apuestas
Ruby vs Phyton

Esa es la cuestión.

¿Que hacemos? Por mi parte, de momento lo he enterrado, me fastidia, durante unos meses he intentado que formara parte de mi conocimiento, pero por alguna razón (no se si tendrá que ver este hilo) he terminado por desinstalarlo (netbeans y jdk) de mis sistemas. Hubiera preferido recibir ánimos de la comunidad, pero de momento son todo criticas.

En cuanto a Ruby vs Phyton, lo siento, no puedo apostar por algo que desconozco:o

Ñuño Martínez
13-05-2013, 19:11:28
Coincido plenamente en el planteamiento de los lenguajes, pero ¿Es la máquina virtual la única ventaja de java? ¿Tal ingente cantidad de esfuerzo de cientos de personas en horas, dineros y conocimiento invertido solo para eso?
Cuando alguien como mamcx piensa en un nuevo leguaje, tiene un sentido, creo recordar que la NASA invento lisp para "afinar" sus software dedicados a la misiones espaciales. O se inventa HTML para un nuevo proposito, la navegacion por internet.
Para que se invento java, para homogeneizar todos los dispositivos o, como windows, para que cada pc/dispositivo tuviera uno. Si Wikipedia no miente (me he quedado ahí porque mi Firefox navegador se atasca cuando miro las referencias :confused: ) Java se inventó para la televisión interactiva. Así que echa cuentas.

Releyendo te entiendo mejor, quieres decir que no solo es el mismo programa con la misma máquina de hace años sino el mismo programa instalado en máquinas nuevas de arquiteturas mas modernas y según nuestro mercado/sector incompatible en hardware y software con la antigua. Por ejemplo un programa hecho en java corriendo en una Digital con VMS, funcionaria ahora en un Portatil intel con windows 8.

Es un gran punto a favor, todos hemos tenido que rehacer programas escritos para, por ejemplo MS-DOS en Basic o Pascal, que ningun lenguaje/compilador moderno aceptaria. En cambio en java parece que si. Exactamente a esto me refiero. :)

Pregunto: ¿Java o PHP?. Esto me ha sonado a "¿Chuletillas de cerdo o borrajas con patatas?". Es que no son equivalentes. Java es para hacer aplicaciones, PHP para hacer páginas web.

nlsgarcia
13-05-2013, 20:35:27
Ñuño Martínez,


...Java es para hacer aplicaciones, PHP para hacer páginas web...


Creo que ese no es el punto del Msg #54 :)

Nelson.

MAXIUM
15-05-2013, 04:07:07
¿ Servirá de algo? PrimeFaces (http://www.genbetadev.com/frameworks/primefaces-framework-sobre-jsf-2-0-primeros-pasos): framework sobre JSF 2.0

MAXIUM
20-06-2013, 04:32:12
http://www.youtube.com/watch?v=E3418SeWZfQ

mamcx
20-06-2013, 05:16:59
Javatar!

Estamos salvados!

cesarsoftware
20-06-2013, 11:58:14
http://www.youtube.com/watch?v=E3418SeWZfQ

Entonces .... ¿sin java el mundo se acabara como en el año 2000:confused:?

Ñuño Martínez
01-07-2013, 18:06:41
http://www.youtube.com/watch?v=E3418SeWZfQ

He estado a punto de responder (en YouTube): "Why does Spain shuts down? We don't use Java: we use PHP." pero luego he pensado que quizá sólo yo iba a entender el chiste... :rolleyes:

sakuragi
06-07-2013, 10:36:48
bueno.. a ojo de buen cubero, creo que mas o menos el 90% de todas las aplicaciones hechas para android son en java....:cool:

anubis
26-07-2013, 06:45:40
Bueno, parece que, aunque sea un foro de java, no hay mucho defensor al uso ;).

Si me parece bueno aprender varios lenguajes, cada uno tiene su propósito aunque con todos se puede hacer de "todo", con algunos se tarda mas que con otros.
Delphi es rapido para hacer aplicaciones GUI con poco codigo, con java o C, hay que implementar mas cosas para poder usar formularios, por ende, se tarda mas.

Cada uno tendra un lenguaje favorito con sus pros y contras, enfocado a los juegos, contabilidad, bases de datos... habra gente que use C++ para hacer de todo inclusive con formularios porque despues de tanto tiempo se ha acostumbrado y los hace rapido, pero no hay realmente una verdad contundente para usar uno u otro.

Si, hava, python, ruby, si, son aburridos de aprender porque se empieza con lo basico y en modo consola (con delphi en seguida haces una ventana con un boton;)).
En linux no hay delphi (hubo un intento con el kylix pero no fraguo), pero hay buenas alternativas para hacer ventanitas y tambien mono, que es parecido al visualbasic.

En fin, es mi modesta opinion metiendome quiza en un tema que desconozco, pero de todo se aprende.

saludos y disculpad

Ñuño Martínez
30-07-2013, 22:16:44
Ahora que releo... Desde el punto de vista del programador Delphi, el futuro de java es Oxygene. ;)

¿Nadie aquí ha usado Oxygene? Yo tengo que echarle un vistazo, casi por obligación, así que ya os diré qué me parece.

donald shimoda
30-07-2013, 22:41:32
Ahora que releo...

¿Nadie aquí ha usado Oxygene? Yo tengo que echarle un vistazo, casi por obligación, así que ya os diré qué me parece.

Claro, lo he utilizado.

De hecho creo que comente en algún otro post sus virtudes y defectos,pero en resumen, las virtudes son que trabajas directamente con el API de destino, sin intermediarios, tienes acceso a todas las funciones de iOS o Android disponibles.

Lo malo para los que venimos de Delphi:

No tiene editor gráfico , solo externos, lo cual es muy incómodo.
Al no tener edición gráfica debes indicarle con un editor externo (Xcode o varios de Android) por ejemplo que evento de un botón se corresponde con que método.
El lenguaje es pascal, no es Delphi, y es sencillamente igual que si estuvieras trabajando con las herramientas nativas Android o iOS pero escribiendo Pascal, a lo que no le veo mucho sentido.

Y a todo esto, para terminar, soy TeamRO de RemObjects, pero sinceramente lo mejor de RemObjects son sus librerías RO SDK y DA, en cuanto a los compiladores no me agrada, ni me agrada que no vayan a dar soporte a Delphi Mobile en sus releases actuales o futuros.

Creo que se equivocan librando esta guerra santa con Embarcadero, siendo quien haya sido el que la haya comenzado, el que mas pierde es RemObjects en mi opinión (y los usuarios claro, que es lo mas importante).

Saludos.