Cual es tu lenguaje de programacion favorito?

Iniciado por EOFEXEC, 30 Enero 2015, 12:25 PM

0 Miembros y 1 Visitante están viendo este tema.

3n31ch

#20
Esto extiende el tema que se intenta tratar acá pero... sobre las malas practicas de java?.. pues no, nada. De hecho el tema de convenciones y buenas practicas en java es algo muy documentado por parte de sun microsystems y oracle.

De hecho cree un tema respecto a las convenciones de java y Gus hizo otro respecto a los patrones que por cierto son necesarios si te quieres certificar en java, así que oracle no se anda con tonterías, le interesa que sus programadores certificados sepan lo que hacen.

El tema esta generalizado porque hace años atrás (y hablo de añotes ya) Java era realmente un caracol. xD!

PD: Durante un tiempo también decía que java era lento, hasta que empece a hacer pruebas, por otro lado yo creía que era muy lento por culpa de los Applets, así que seguramente por ahí este el tema también. (aunque últimamente nunca he tenido mayor problema con eso de las applets)

Eleкtro

#21
Cita de: daryo en 31 Enero 2015, 18:28 PMsiendo asi ¿por que esta tan generalizado ese problema?
El motivo siempre viene siendo el mismo en todos los casos: La Ignorancia, ya que la gente suele llevarse por la opinión de terceras personas y le dan creedibilidad a sus palabras, y eso no siempre es lo correcto.

Cita de: http://en.wikipedia.org/wiki/Java_%28programming_language%29Performance
Java performance

Programs written in Java have a reputation for being slower and requiring more memory than those written in C++. However, Java programs' execution speed improved significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1,[32] the addition of language features supporting better code analysis (such as inner classes, the StringBuilder class, optional assertions, etc.), and optimizations in the Java virtual machine, such as HotSpot becoming the default for Sun's JVM in 2000.

Debo decir que yo no manejo Java, así que no puedo hablar en profundidad como el compañero @Nac-ho u otros que si sean expertos, pero a mi a pesar de todas las supuestas optimizaciones que han ido implementando con los años, java siempre me ha parecido y me sigue pareciendo un lenguaje que consume demasiados recursos de memoria de forma excesiva, cualquier software desarrollado en Java me lo va a demostrar si le hago un profilling de memoria (que por supuesto lo he hecho en varias ocasiones), el G.C. de Java no me parece estar tan bien optimizado en camparación con otros lenguajes, así que digan lo que digan, en mi opinión, parte de razón tienen al criticar a Java en ese sentido.

Pero de todas formas Java no es el único ni será el último lenguaje con mitos y leyendas, por ejemplo VB.Net es mi lenguaje favorito (contestando a la pregunta del post :P) y también sigue siendo bastante criticado de forma ridícula a día de hoy y con una no muy buena reputación por gente inexperta (por no decir ignorante, en el sentido de no haberlo experimentado/analizado nunca para poder criticarlo si quieren).

Saludos!








~ Yoya ~

Cita de: daryo en 31 Enero 2015, 18:28 PM
siendo asi ¿por que esta tan generalizado ese problema? entonces el problema es que como dije el ¿lenguaje enseña malas practicas de programacion?

solo pregunto por curiosidad no es mi intencion atacar ni nada xD.


Cita de: wikipediaJava memory usage is much heavier than C++'s memory usage because:


  • There is an 8-byte overhead for each object and 12-byte for each array in Java. If the size of an object is not a multiple of 8 bytes, it is rounded up to next multiple of 8. This means an object containing a single byte field occupies 16 bytes and requires a 4-byte reference. Note that C++ also allocates a pointer (usually 4 or 8 bytes) for every object that declares virtual functions.
  • Parts of the Java Library must be loaded prior to the program execution (at least the classes that are used "under the hood" by the program). This leads to a significant memory overhead for small applications.
  • Both the Java binary and native recompilations will typically be in memory.
  • The virtual machine itself consumes a significant amount of memory.
  • In Java, a composite object (class A which uses instances of B and C) is created using references to allocated instances of B and C. In C++ the memory and performance cost of these types of references can be avoided when the instance of B and/or C exists within A.
  • Lack of address arithmetic makes creating memory-efficient containers, such as tightly spaced structures and XOR linked lists, impossible.

In most cases a C++ application will consume less memory than the equivalent Java application due to the large overhead of Java's virtual machine, class loading and automatic memory resizing. For applications in which memory is a critical factor for choosing between languages and runtime environments, a cost/benefit analysis is required.

El compilador java compila código fuente a un código llamado Java ByteCode y este código puede ser leído por la maquina virtual de java. Luego este código se compila a un código nativo, de la misma manera que cuando compilas un código en C++. Pero también hay algo mas, la transición del Java bytecode a código nativo se puede tunear de forma que desde que se ejecute cada porción de código este se compile pero también se puede tunear para en vez de compilar todo el código a código nativo, la JVM examine la aplicación durante su ejecución (el código java se interpreta, durante este tipo de ejecución se ejecutara mas lento) de esta forma analiza que partes de la app se suelen ejecutar mas, optimizarlo y luego compilar a código nativo pero esta vez compilaría un código mucho mas optimizado.

Igual Java es muy verbose, y esperemos que en el futuro mejoren este aspecto.

Y mi favorito es Java, fue el mejor error en mi vida y de lo único que me arrepiento es de no conocerlo mucho antes.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

BlackZeroX

The Dark Shadow is my passion.