Resumen
The article presents information on the efficiency differences of JAVA and C/C++. Java is often considered very slow and memory-intensive. However, most benchmarks compare only a single implementation of a program in, say, C++, to one implementation in Java neglecting the possibility that alternative implementations might compare differently. The article presents a comparison of 40 different implementations of the same program, written by 38 different programmers. The data compares, for one particular programming task, the average relative performance between languages as well as the performance differences from one programmer to another within a group of programs written in the same language. Results are actually biased against the Java programs, on average, Java programmers had only half as much programming experience in Java as the C programmers had in C or the C++ programmers had in C++. On the other hand, no clear relationship between the programmer's level of experience and the runtime or memory efficiency of the resulting program could be found in the data. The work time required for writing the program is also quite similar for the Java group versus the C/C++ group, except for three Java outliers who took over 30 hours. The data clearly shows that the importance of an efficient technical infrastructure is often vastly overestimated compared to the importance of a good program design and an economical programming style. |