2008-10-16 15 views
16

¿Por qué elegirías Java sobre otros? ¿Por qué eligió Java para programar su aplicación?¿Por qué elegirías el lenguaje de programación Java sobre otros?

Incluya para lo que utiliza Java (aplicación de escritorio/aplicación web/móvil).

+0

Lo siento jjng, Mark: todos tuvimos una edición en la publicación de este tipo pobre. –

+0

¡Yay! ¡La comunidad corrige y construye mejor de lo que era antes! Jeff nos elogiaba por esto en el podcast. Sigan con el buen trabajo! – jjnguy

Respuesta

5

Java proporciona una API muy rica desde el primer momento y manos a mano produce las aplicaciones más portátiles ya que hay una máquina virtual de Java para casi todas las plataformas.

BTW: No he usado Java desde que dejé la universidad porque trabajo para una tienda de Microsoft, pero no puedo pensar en lo único que puedo hacer en C# que no puedo hacer en Java, ya sea ser aplicaciones empresariales, aplicaciones web o aplicaciones de escritorio.

+0

La integración de Active Directory es obviamente un poco más ruidosa. – tvanfosson

+0

bloques de código inseguros para la manipulación del puntero –

+0

Las versiones más nuevas de C# han superado las características de Java (lambdas y demás). – Herms

33
  • Excelente utillaje: IDE, IC, etc.
  • Amplia variedad de bibliotecas 3 ª parte.
  • Gran cantidad de documentación disponible.
  • Gran grupo de desarrolladores disponibles.
  • Plataforma omnipresente.
  • Excelente rendimiento.
  • Excelente especificación.
  • Robusta recolección de basura.
  • Memoria administrada.
  • Hilos nativos.
  • Opción: implementada por varios proveedores.

He utilizado Java para compilar varios productos de middleware: Inventory mgmt; CMS; registro químico; etc.

+0

A esta respuesta también agregaría la facilidad de aprenderlo, y una vez aprendido, de usarlo. – nbro

1

Utilizándolo para aplicaciones de escritorio.

Excelentes IDEs disponibles, maravillosa API, la sintaxis de "estilo C" hace que sea fácil de recoger. Una vez que se inicia JVM, el rendimiento es excelente.

6

cosas que aún no se menciona:

  • Cruz-plataforma de aplicaciones de escritorio, incluso con interfaz gráfica de usuario sofisticada
  • montón de herramientas
  • tipos estáticos (ver GWT)
  • mensajes de error en tiempo de compilación
  • mensaje de error muy claro
+0

Tenga en cuenta que los programadores están bastante divididos sobre si la tipificación estática es buena. –

+0

La pregunta fue por qué elegirías Java, y esa es una de las respuestas (y es por eso que he vinculado GWT como ejemplo). Por supuesto, la tipificación estática puede ser una razón por la que * no * eliges Java también :-) – Davide

+0

Oh, lo sé. Sólo digo'. :-) –

2

Uso Java para nuestra plataforma BPM y utilicé Java en el pasado para aplicaciones web empresariales.

Depende de lo que quieras hacer. Teniendo en cuenta las características del lenguaje, las bibliotecas disponibles y la experiencia IDE, yo personalmente elegiría C# sobre Java. C# 3.0 tiene muchas características útiles que carece de Java, como LINQ, expresiones Lambda, etc. Algunas personas prefieren la enorme opción de biblioteca que está disponible para Java, pero creo que hay demasiadas formas de hacer las cosas. Los IDE de Java como Eclipse y NetBeans están mejorando, pero creo que es mucho más fácil trabajar con Visual Studio.

Por supuesto, si no está utilizando Windows, no tiene más remedio que elegir Java. Ruby y Python pueden ser buenas opciones para cosas como aplicaciones de utilidad y GUI, incluidas las aplicaciones web, pero para las aplicaciones empresariales que no usan Windows, Java es prácticamente la única opción.

+0

En lo que respecta al desarrollo empresarial no relacionado con Windows, Mono funciona muy bien para ejecutar aplicaciones .Net framework, por lo que decir que Java es la única opción para aplicaciones empresariales es muy incorrecto. – cdeszaq

+0

¿Cuál es su plataforma BPM Denis? – OscarRyz

4

La portabilidad es la clave para java. Sé que un programa que estoy codificando se ejecutará en cualquier sistema, no es necesario crear versiones diferentes para diferentes sistemas operativos. Java también ofrece seguridad integrada, facilitando la codificación de los programas seguros.
Java es rápido, con clean code Java es una evaluación comparativa en el mismo rango que C++.

C# es el lenguaje que se compara con java con más frecuencia. C# no es tan portátil como java, y tiene muy pocas características que java no tiene. Esto hace que Java sea mucho más atractivo a menos que el programa SOLAMENTE se ejecute en un único sistema operativo, en ese caso podría codificarlo en C++.

22

Una de las cosas buenas de Java es que todo el mundo lo sabe. Por supuesto, ahora que he dicho eso, obtendré 80 comentarios de personas que afirman que nunca aprendieron el idioma. Sea como sea ...

Nos guste o no, Java es lo más parecido a una lingua franca (el idioma significa "lenguaje común") que tenemos en la industria actual. Casi todos han utilizado Java en algún momento o (más comúnmente) lo están usando activamente ahora. Ese tipo de ubicuidad puede ser extremadamente atractivo para algunas compañías, particularmente aquellas que dependen de consultores. Si comienzas un proyecto en Java, es casi seguro que puedas encontrar talento para mantener la base de código por años en el futuro.

En una táctica diferente, Java es un lenguaje excelente para desarrollar aplicaciones de escritorio multiplataforma ... es solo que nadie lo sabe. La mayor parte del dominio de Java está en el lado del servidor, junto con un poco de amor de la multitud J2ME. Sin embargo, si considera de manera objetiva Swing en Java 6uN, es difícil encontrar una herramienta mejor para el trabajo. No me malinterpreten, veo que tiene sus defectos, pero muchos de ellos se han solucionado en versiones recientes. La mayor parte del problema ahora es MindShare: todo el mundo sabe que Java es lento y feo (ninguno de los cuales es estrictamente cierto). El otro problema es que Swing es en gran medida un conjunto de herramientas de interfaz de usuario multiplataforma. Esto significa que es mucho más difícil crear UI profesionales en Swing que en Cocoa o incluso WinForms.

Finalmente, una buena razón para elegir Java (en lugar de .NET o Objective-C) es el ecosistema. Otras respuestas han mencionado las bibliotecas, que realmente merecen una atención importante; pero estoy pensando específicamente en la creciente diversidad de idiomas. Si escribe una aplicación en Java hoy, puede realizar una transición sin problemas a Scala en cualquier momento. También tiene la opción de hacer secuencias de comandos en Groovy o JRuby, sin mencionar el aprovechamiento de las poderosas abstracciones de concurrencia en Clojure. Debido a su portabilidad y naturaleza de alto nivel, la JVM es cada vez más el objetivo preferido para compiladores de lenguaje e intérpretes (incluso más que el CLR). Java está realmente en el centro de ese nexo, ya que no se beneficia directamente de la vasta nube de idiomas que pululan a su alrededor, pero sin duda deriva el valor de toda la interoperabilidad, presente y futuro.

+1

Algunos buenos puntos sobre el swing. Uso el columpio todos los días y ni siquiera lo considero una ventaja. – WolfmanDragon

+0

No diría que Java es lo más parecido a una lingua franca.Hay varios competidores dignos para ese título como la familia C, JavaScript, Python, etc. Lo mismo ocurre con los lenguajes naturales. Mucha gente piensa que el inglés es la lengua franca del mundo. Sin embargo, hay más hablantes nativos de mandarín y español que hay de inglés. –

3

Cambié de años de C++ a Java porque estaba trabajando en cosas de nivel superior y necesitaba los beneficios de la gestión de memoria, la reflexión y la ejecución de espacio aislado que obtengo con Java.

He intentado COM a finales de los años noventa y no pude tocarlo.

.NET se ve prometedor y en muchos sentidos ahora es mucho mejor que Java. Desafortunadamente, estar centrado en la ventana es un gran obstáculo para mí.

3

Otro beneficio son las asombrosas herramientas de análisis estático disponibles, p. FindBugs. Estos realizan una gran cantidad de comprobación de su código por encima y más allá de los realizados por el compilador, y pueden ayudar a identificar errores y/o códigos de olor antes de que comience la prueba.

0

¿Por qué elegiría Java? Si me pasó a tener un equipo de replaceable code monkeys desarrolladores que sabían mejor que cualquier otra cosa de Java, que es probablemente lo que me gustaría ir con.

6

1) Muy buena y libre de documentación
2) Muy bueno promotor comercial y de herramientas gratuitas
3) buenos recursos de certificación y formación
4) buena ejecución y herramientas gratuitas
5) buena de perfiles y herramientas de supervisión
6) muy buenas opciones de soporte de varias compañías de
7) muy buena comunidad de código abierto con gran cantidad de bibliotecas

3

Muchos de los grandes motivos que ya se han mencionado . Me gustaría agregar la parte política. Confío en el lenguaje de los Suns mucho más que las alternativas de Microsoft. No es porque odie a Microsoft, es solo que Sun está yendo en una dirección con Java que realmente me gusta, y Microsoft está yendo en una dirección con .net etc. que realmente no me gusta.

Esto es muy subjetivo, lo sé. Pero a mí me parece que Sun realmente quiere crear un gran lenguaje e intentar ganar dinero de alguna manera. Mientras que Microsoft parece estar más interesado en ganar dinero por el lock-in de proveedores y sistemas que se ven geniales y se sienten bien, pero pueden no ser tan buenos como parecen a largo plazo.

Así que la forma en que Microsoft está manejando en este momento, ni siquiera se preocupan por lo bueno o malo que es, técnicamente. No me importa, no voy a usarlo.

Java tiene todo lo que quiero de este tipo de lenguaje de programación, incluyendo todas las cosas aburridas política mayoría de la gente acaba de saltar. No sé sobre ningún otro lenguaje actual que tenga todo eso.

1

¿Por qué elegiría Java? ¿Es el idioma más popular que hay ahora? Si no, tiene que estar muy cerca, así que si estoy creando un producto, podría elegir esto porque sería más fácil contratar desarrolladores.

¿Por qué elegí Java - porque es lo que mejor conozco.

7

Mis razones para preferir Java con respecto a otros lenguajes de programación en este momento son:

  • precio - está libre rendimiento
  • - muy rápido estos días gracias a que el compilador HotSpot JIT
  • eficacia - un montón de de potencia con características rigurosos como de tipo seguro, arena-caja, etc.
  • capacidad de programación orientada a objetos
  • muy bueno, bien pensado handliing excepción; ¡Las excepciones C++ son lo opuesto!
  • portabilidad - se ejecuta en casi todo
  • disponibilidad de las herramientas - IDEs como Eclipse impresionante & NetBeans están libres, como son los servidores web como Tomcat y servidores de aplicaciones (JBoss, Glassfish, Gerónimo, etc.)
  • flexibilidad - hace gráficos, GUIs de escritorio, interfaces de usuario web - todo tipo de cosas en todo tipo de entornos de tiempo de ejecución
  • aptitud - muchas aplicaciones empresariales de hoy tienen que soportar HTML, SQL y XML - Java tiene un buen soporte para todos ellos integrados y puede obtener bibliotecas de terceros de forma gratuita que hacen que esto sea aún más fácil/mejor
  • bien soportado - Sun sigue agregando mejoras y solucionando las cosas volviendo a una o dos versiones
  • compatibilidad con versiones anteriores - a diferencia de algo Al igual que VB, que sufre un cambio desgarrador en su sintaxis cada par de versiones más o menos, la sintaxis y la semántica de Java parecen compatibles con el 99.9% de la versión a la versión
  • .

He estado escribiendo programas en Java durante más de una década y estoy bastante satisfecho con ello. He usado otros idiomas durante casi dos décadas antes de eso. Así que no soy parcial al describir lo único que sé, es uno de los muchos idiomas que conozco íntimamente.

Cuando salen las actualizaciones del JDK/JRE, miro la documentación para ver qué ha cambiado. Sun es bueno sobre decir/explicar esto. Nunca he tenido un tiempo extremadamente difícil portando de un JDK a otro.

Cuando cambio de un sistema operativo a otro como mi sistema operativo principal en casa o en el trabajo, no ha causado un problema para las aplicaciones Java que escribo, o las herramientas que uso, en general. La única excepción es Borland JBuilder, que algunos ejecutivos de marketing o técnicos de Borland decidieron dejar de apoyar con frecuencia. Eclipse y Netbeans funcionan terriblemente en Mac y probablemente siempre lo harán. He utilizado Java en:

  • MS-Windows 95, 98, NT4, 2000, XP
  • Sun Solaris/SunOS Unix
  • IBM AIX
  • Mac OS X
  • Linux
  • teléfonos celulares Motorola (MIDP, CLDC)
  • PDA Palm Pilot

¡Las máquinas virtuales Java (máquinas virtuales) están en todas partes! Están en:

  • navegadores web
  • teléfonos celulares
  • PDA
  • ordenadores de sobremesa
  • servidores web
  • servidores de aplicaciones

He escrito programas en todos estos . Todo lo que tiene que hacer es obtener un IDE con los complementos adecuados, obtener la documentación de API para el entorno de destino que desee y comenzar a programar.

¡Los programas de la GUI que escribo realmente parecen & funcionan correctamente en diferentes plataformas! No puedo decirle cuánto tiempo otros proveedores prometieron hacer y con qué frecuencia/tiempo han fallado. Solo mira, algunos todavía existen.

Sun lo prometió en Java 1.0 y lo entregaron con AWT.Sin embargo, el juego de herramientas de ventanas abstracto usaba componentes de GUI nativos y las diferencias entre estos componentes (que no seguían ningún estándar unificador) eran demasiado grandes para obtener el mismo aspecto/comportamiento en todas las plataformas.

Sun entregado muy bien a esta promesa GUI portátil cuando la API Swing GUI fue entregado hace una década, en diciembre de 1998.

0

Por favor, no seguir ciegamente a todos los java-entousiasts. Java tiene sus propios defectos. Java es ideal para un desarrollo rápido, material orientado a la empresa y un proyecto de "alta productividad" (con toneladas de proyectos, comunidad, ...). Y si un chico me muestra un punto de referencia destacando cómo el código de Java puede ser tan óptimo como C, no significa que la solución completa de Java sea rápida y liviana.

Java nunca encontrará su camino en algunas aplicaciones de rendimiento crítico, como juegos, códecs, navegador web. No se desarrolla ningún software de juego importante en Java, y no porque el desarrollador no sea capaz de escribir una pieza de código Java que tenga la misma velocidad que C o C++, esto se debe a que las limitaciones del lenguaje implican que el rendimiento y el consumo de memoria nunca llegue a un buen código C/C++. Toma VisualStudio y Eclipse. Java es ideal para una cosa (material de productividad, middleware empresarial), pero si quieres escribir códecs, juegos, bibliotecas de rendimiento crítico, mejor prueba conocer C. Pero, por otro lado, escribirás la java código más rápido y más seguro, con C y C++ usted está tomando más riesgos (¡consejos!) y esto toma generalmente más tiempo.

Y no olvides la broma "Escribir una vez, depurar en todas partes", esto es cierto. Tienes que lidiar con diferentes pesadillas de implementación de JVM con Java.

Otro lenguaje de programación tiene su interés, scripts bash/python para scripts locales (acción repetitiva, interfaz de usuario rápida y rápida, ...). Php o ruby ​​para webapplication están muy bien implementados y documentados en la web.

2

La razón principal por la que utilizo Java para la mayoría de mis proyectos de aplicaciones de escritorio es para la compatibilidad multiplataforma. Es bastante fácil hacer que su aplicación se ejecute en OS X, Windows y Linux y se vea como nativa en todas las plataformas.

Cuestiones relacionadas