El índice Tiobe, que mide la popularidad de los lenguajes de programación entre los desarrolladores, muestra como C ha logrado alzarse con el primer puesto que ocupaba Java. En castellano
www.theinquirer.es/2012/04/09/el-lenguaje-c-desbanca-a-java-del-primer
-¿Quien es?
(20 segundos más tarde)
-Java
Hoy en día haces un tutorial de J2EE y ves que absolutamente todo se puede hacer de forma relativamente sencilla y legible.
#9 Oracle se equivocará en la gestión de muchas cosas, pero con respecto a Java casi todo lo que ha hecho es bueno. Salvo quizás negarle a Apache Harmony la posibilidad de ser una implementación oficial de Java SE (lo cual no tiene porque ser malo porque lo cierto es que veo innecesario que haya varias implementaciones, más cuando la oficial es libre). Desde que llegó Oracle Java pasa a tener en su desarrollo no sólo a Oracle sino también a IBM y Apple, con lo cual conseguirán por primera vez unificar el desarrollo para todas las plataformas. Java 8 sale este año y va a salir con todo lo que estaba previsto. Java FX ha pasado a tener una API al más puro estilo Java. OpenJDK se ha convertido en la implementación de referencia de Java. Es decir, no veo nada malo y en cuanto algo se ponga malo ten por seguro que IBM o cualquier otra interesada del sector en Java le pondrá los puntos sobre las íes a Oracle.
1. Javascript (20%)
2. Ruby (15%)
3. Python (9%)
4. Shell (8%)
5. Java (8%)
6. PHP (7%)
7. C (7%)
8. Perl (5%)
9. C++ (4%)
10. Objective-C (2%)
Resto: 15%
github.com/languages
Para empezar, la noticia es más bien poco relevante, ya que da a entender que C ha quitado mercado a Java, cuando no es así. Ambos lenguajes tienen mercados totalmente diferentes, la fortaleza y el dominio de Java está en el lado del servidor en aplicaciones web (cuántas usaréis a diario sin tener ni idea de que están hechas en Java...), donde C no pinta nada, y algo parecido pasa a la inversa con Java en el escritorio, donde salvo contadas excepciones no hay muchos casos de éxito. Si a Java le han quitado cuota de mercado, que lo dudo muy mucho, sería en favor de C#, PHP, Ruby... no C. Si vas a participar en una carrera de coches, cogerás un deportivo, si tienes que arar el campo, un tractor, porque hacerlo al revés sería estúpido, lo mismo que intentar compararlos.
Y después están las críticas y chistes "de barra de bar", claro, ésas no fallan en el antiJavismo de Menéame.
Java admite críticas legítimas, como, qué sé yo, ausencia de funciones lambda y de primer orden, carencias en la implementación de tipos genéricos, por ejemplo. Pero curiosamente cuando preguntas al 90% de los críticos de Java no van más allá de "es que es lento y consume memoria", porque han oído campanas y no saben dónde. Java fue "lento" en las primeras versiones, de algo que hace ya mucho más de una década. Como cualquier lenguaje que corre sobre una máquina virtual, cuando se ejecuta una aplicación Java hay que iniciar la máquina virtual, algo que consumirá su tiempo y memoria. Pero, ¿sabéis cúal es la trascendencia de consumir unos segundos y unos pocos MB de memoria al inicio en una aplicación empresarial que idealmente estará funcionando ininterrumpidamente durante semanas o meses, con gigas y gigas de memoria a su disposición? Ninguna. Por no hablar de que en las máquinas virtuales modernas (y no tan modernas), existe algo que se llama compilación just-in-time, que de forma dinámica compila a código NATIVO, y a veces con mayor eficiencia que muchos compiladores de C.
Pero nada, supongo que las críticas vienen de estudiantes que han dado un par de asignaturas de programación y C (aunque repito que no son comparables) les parece más de "pros" (por cierto, el manejo manual de memoria debe de ser la mayor causa de bugs de la historia, o buscad "segmentation fault" o "buffer ocerflow") y las empresas que invierten cada año millones y millones de euros en proyectos con Java son gilipollas.
Como digo, Java admite críticas legítimas, pero debo de tener mala suerte porque las que me topo siempre no lo son. Y ante todo soy pragmático y "defiendo" a Java no porque sea ningún devoto, sino porque es lo que hago para ganarme la vida desde hace cerca de 10 años, y me la gano bastante bien, sobre todo desde que salí de España.
Los lenguajes dinámicos son una gran avance, y la velocidad no es lo fundamental, la mayoría de las tareas no exigen mucha "velocidad", y ya suelen estar implementadas en lenguajes compilados, como manipular los dibujos en la pantalla, tratar estructuras de datos complejas (como hashes y listas), etc.
Por otro lado, el C++ es uno de los peores lenguajes inventados, comenzó bien, pero hoy en día es un horror (peor que el Java). A menos que desarrolles sistemas operativos, o librarías de manipulación de datos o cálculo, no tiene demasiado sentido desarrollar en un lenguaje compilado. El beneficio no justifica el coste.
Aunque para lenguaje lento Phyton, lo estoy aprendiendo ahora y es muy sencillo y cómodo, pero lento es como él solo.
#10 "Que sí, que todo eso es a costa de ser más lento, pero me parece una contrapartida aceptable."
¿Contrapartida aceptable para quien? Para el programador quizás, para el usuario en general no, sobre todo si el hardware es un teléfono de cama baja. Especialmente en Symbian, lo que cuesta encontrar algo que funcione bien y no de mucho por culo entre toda la morralla que hay (casi toda en java)...
El mejor lenguaje es el que yo conozca y use y los demás son peores 'per se'.
Luego están los que directamente no tienen ni puñetera idea de programar, y cuelgan el muerto al lenguaje:
File f = new File("c:\temp.txt") // Esto no funciona en Linux, y eso que dicen que Java es multiplataforma, menuda mierda.
Hace muchos anos que no programo, pero lo de Java es demencial. La moto que vendieron con que era independiente de la plataforma y eso sería la panacea.
Si al final hay que meter el maquina de Java, de panacea nada, por no hablar de que incrementa los tiempos de ejecución.
En mi opinion un buen programadador de C es alguien que entiende como funciona un ordenador, procesador, memoria, etc. Un buen programador de Java es alguien que sabe utilizar clases y objetos.
Por mi C, forever, si el desarrollo de procesadores y recursos no hubiera sido el actual, Java no se hubiera comido un colin, pero como se ha incrementado brutalmente el procesamiento ylos recursos, esta compitiendo como el que mas.
Y es mi opinion de no experto, que nadie se moleste, solo es una opinion.
No es para nada objetivo para determinar si un lenguaje es más popular que otro, simplemente que en ESTE índice está más arriba.
"C ya no se usa, C es muy viejo, C ha sido desbancado por C++ y Java"
Pues mira.
keithlea.com/javabench/
Fortran no, pero COBOL hay un huevo.
www.amazon.com/Steve-Jobs-Walter-Isaacson/dp/1451648537
La biografía de Dennis Ritchie
www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628
Todo lo demás, cuentos de la lechera.
Así que sí, Fortran hay un huevo, por lo menos en sectores científicos.
Cada lenguaje tiene su mercado. Ni el de Java es el de programar a bajo nivel, ni el de C a alto nivel. Cada cosa para lo que es, no me seáis fanboys por favor.
<include blabla.h>
void main(int argc, const char* argv[]) // perdon si me cuelo en algo, hace mucho que no ceceo
{
while(1)
{
printf("%s wins!",dameLenguajeFavorito());
sleep(500); //esta me imagino que será de c++ y no de c, pero me dejáis usarla, no??
}
}
Lo que muchos denominan un lenguaje lento y malo, ha servido de base para Android (aunque con Dalvik en vez de la típica JVM), se han creado lenguajes basados en él como Groovy o Scala, que a su vez han servido de base para frameworks como Grails o Play! que mueven sitios con millones de visitas como sky.com.
La mayoría de los que tanto se quejan sin argumentos de Java tiene cero o menos experiencia programando en él.
Porcentualmente será poco, pero anda que no hay sistemas funcionando y en buena forma gracias a shell scripts
Es un buen lenguaje que ha evolucionado bastante y tiene muchas posibilidades que hacen todo mucho más sencillo.
C también es un muy buen lenguaje aunque da muchos más quebraderos de cabeza a la hora de programar y portar código.
De todas formas eso de medir un lenguaje según las referencias tampoco lo veo muy infalible. Probablemente cuando salga Java 8 habrá un boom en este indicador que no se corresponderá con su incremento real de uso.
Salu2!!
Otro tema es la máquina virtual de Java. Siempre hablo de hoy en día. Aquellos que se quejan del Java de hace 10 años, pues hablan sin ningún tipo de conocimiento. Como todo, la Máquina virtual tiene sus pros y sus contras. El contra, hoy en día no tanto la velocidad (ver benchmarks), sino que necesitas arrancar toda la máquina virtual para ejecutar un "holamundo". Pero están trabajando ya en eso (por fin).
Si necesitas un programa para unas necesiadades muy específicas con poquísimo consumo de memoria y afinar al 100% en rendimiento en un sistema empotrado, C es tu amigo, java no es una opción. Pero como véis, son necesidades muy concretas. Para un proceso de servidor, Java es perfectamente viable (cassandra, kproxy). Para una aplicación de escritorio, Java es perfectamente viable (eclipse).
Los que dicen que es lento o que gasta cantidades ingentes de memoria habría que decirles lo siguiente: No es tanto problema de la máquina virtual, sino de los inútiles que programan esos programas (estarán incluidos aquellos que se tanto se quejan?). Me parto la caja con el amigo que se quejaba de SAP. Java al ser mucho más sencillo que C invita a cualquiera a hacer programas, eso es bueno porque al ser sencillo mejora la productividad del buen profesional, pero también atrae a chapuzas, inútiles y ameteurs que hacen mierda y luego achacan al lenguaje (al lenguaje! nótese la estupidez) que es lento, que tiene mal rendimiento, etc.
Que Java está perdiendo protagonismo? Lógico, están pegando fuerte otros lenguajes que se comen el nicho de java, aunque no el de C. Y algún día vendrá un lenguaje mejor que desbancará a Java y C se quedará para sus cositas, como Cobol, fortran, y el mismo Java, para mantener y mejorar software antiguo.
CONFORME A
POSIX.1
FALLOS
sleep() puede estar implementada con SIGALRM; mezclar llamadas a alarm() y a sleep() es una mala idea.
Utilizar longjmp() desde un manejador de señales o modificar el manejo de SIGALRM mientras se está dur‐
miento, producirá resultados no definidos.
VÉASE TAMBIÉN
signal(2), alarm(2)
los comandoslas funciones propias del lenguaje suelen llevar llamadas al sistema por debajo. En Unix, fopen se implementa mediante open, printf mediante write, scanf mediante read, etc...El fallo es que sleep históricamente se implementaba por encima de alarm, y la idea de que las esperas se utilizasen si no se están usando temporizadores parecía razonable (no). Y lo pone en los estándares: "Interactions between alarm() and any of setitimer(), ualarm(), or usleep() are unspecified".
En Linux, por ejemplo, no hay problema ya que sleep se implementa sobre nanosleep y esa no hace el idiota con los temporizadores. Pero vaya, es un "no debes", como "no debes usar gets" o algunas funciones no portables.
Por otra parte, un buen programador en C puede ser un mal programador en Java y viceversa. Si es cierto que C te exige conocer el funcionamiento a más bajo nivel, lo cual está bien para fines didácticos, pero para un proyecto grande de verdad, con capacidad de procesamiento muy grande, crees que hacer una gestión manual de la memoria es bueno? Trabaja con un proyecto mínimamente grande en C y verás las risas de memory leaks.
#49 Yo conocí a alguien una vez que decía "C es como follar, hay que saber".
De hecho siempre he pensado que el mayor problema de Symbian fue Java, y que si bien Android tiene Java mejor implementado que Symbian también le terminará pasando factura, sobre todo cuando la gente deje de cambiar de teléfono cada año y vea que los androides no aguantan el tipo (por que no van a aguantar).
Saludos.
Aunque ya me lo imagino yo: ninguna.
En mi opinión una de las mayores virtudes de Java como lenguaje, aparte de derivar de C, es que es fácil de enseñar, de aprender y de paso elimina las restricciones y convenciones que en otros lenguajes como C fuerzan a realizar un código casi eficientemente impecable (pero no por ello más robustos); todas las cuales, sumadas, son las que provocan que Java vaya 'lento' (hablo por ejemplo de uso y abuso de cualquier tipo de Collections, concatenaciones de Strings, etc.).
Esto no significa que Java sea lento, sólo que usarlo con menos experiencia y conocimientos que los más expertos hace que escribamos código que se ejecute más lento (pero no menos robusto). Con el tiempo, al igual que cuando uno practica un deporte, adquieres experiencia, y realizas buenas prácticas sin despeinarte que hacen que la JVM vuele, pudiendo tirar ese código que dicen muchos que en benchmarks es igual o casi de veloz que C.
Por otro lado el indice TIOBE a grosso modo cuenta los resultados de buscar '<lenguaje> programming' en los 9 buscadores más utilizados, lógicamente ésto no se puede usar como infalible índice de penetración en el mundo de la programación.
El lenguaje C es ampliamente utilizado en enseñanza, lleva aquí muchísimos más años y existen enormes cantidades de recursos escritos sobre él, por eso es muy dificil que acabe eclipsado por muchos lenguages, más si es un lenguage todavía vivo con enorme fuerza en las tareas donde la ejecución en tiempo real es requisito obligatorio (sin tener que recurrir a ensamblador). De ahí que esté tan arriba pese a que sea dificil juntar un grupo heterogéneo de programadores de los que gran parte de ellos digan que usan C normalmente. Y por eso que los lenguages de más moderna adopción como PHP o C# parezca que no tienen apenas cuota cuando una busqueda sobre los empleos ofertados en el mundillo arrojaría un 40% del total entre ambos perfectamente.
En fin , pienso que ojalá siempre tengamos estos problemas y que gracias a esto nunca tengamos que dejar de aprender.
#43 Aquí te cuentan algo ( en.wikipedia.org/wiki/Cassandra_(database) ), pero es que cambian más de arquitectura que de bragas.
Ok, C apesta, y Java también. Lo que mola es IA32.
Mmm... ¿Facebook?, ¿Twitter?, ¿Foursquare?
Nunca será una pérdida de tiempo aprender a programar en este lenguaje y la mayoría de programas que hagáis con este lenguaje, sobre todo los sencillos, luego los podreis aprovechar para otros lenguajes.
Por mi parte, debo ser un bicho raro, soy arquitecto de software, 16 años de experiencia en programación, he sido profesor de Java, he programado en C, en C++, en Ruby, en C#, en Delphi... y lo que he sacado en claro en todo este tiempo es que el lenguaje de programación ayuda en parte, pero es el programador, y más en concreto el equipo de desarrollo, el que tiene que funcionar. Por poner un ejemplo, se le puede dar el lienzo más caro con los mejores óleos a una persona con arte mediocre, y conseguirás un resultado mediocre. En cambio, Goya era capaz de hacer arte con un carboncillo.
Java es un gran lenguaje, como también lo es C# (después de todo, son bastante parecidos), como también lo es C. Tienen primas feas, como Cobol o Visual Basic, que aun así hay gente que las saca a bailar. No me gustaría estar en su pellejo, pero les entiendo, a un lenguaje también se le puede coger cariño, y seguramente sean capaces de hacer maravillas. Lo mismo para los IDE, hay gente que le encanta eclipse, otros como yo que prefieren el Visual Studio, pero que uno te parezca mejor que el otro no implica que el otro sea malo.
Y sigo diciendo, el desarrollo de software es un arte, exige creatividad, exige compenetración en el equipo, unos engranajes bien engrasados, y entonces se hará algo grandioso, sea en lo que sea. Lo malo es que esto es complicado de conseguir, en especial en España, dónde las empresas no saben entender cómo funciona realmente un equipo de software, ni les entra en la cabeza que un técnico experto puede tranquilamente ganar más dinero que un gestor, sencillamente pertenecen a ramas diferentes del trabajo.
Y a los que hablaron de Hibernate, Spring o Struts para expresas lo bueno que puede llegar a ser java, les recuerdo que ese trío de ases también existe en .NET, no hay que cerrarse en banda a nada nuevo y hay que evaluar todo lo que existe sin descartar absolutamente nada simplemente por ser un fanboy.
Es así de sencillo el lenguaje debe ser decidido según tu objetivo.
Y los bancos, administracion y Telefónica, en COBOL ....
Te remito a mi mensaje en #86.
PHP viene de "Personal Home Page", y mira por dónde, el ¿70%, 80%? de las aplicaciones que usas a diario en la web están hechas en un lenguaje para hacer una página personal o para controlar lavadoras (y otro porcentaje grande, en C#, que fue un clon de Java). Qué cosas, ¿eh?
Nunca te fíes de un sistema ideado para lavadoras.
Calibre (Python + Qt)
Eclipse (Java + GTK)
Todos los programas de Android (Java)
Javascript en todos los sitios web.
PHP, Python, Java, Ruby, Perl, Scala... en servidores web (incluido Google).
C# en los programas modernos de Microsoft.
> mejor hacerlo directamente con un lenguaje compilado y pensando en la escabilidad desde el minuto 0
Ya, porque tú lo dices, y ni idea del sobrecoste humano que eso significa (como si fuese lento, o los ordenadores costasen menos que los programadores), y técnicamente el problema de los fork() en programar en código nátivo.
Es fácil hablar, y asegurar que todo el mundo está equivocado. Vaya con el nivel informático, sois unos gurús. Todos los demás están equivocados, desde Zuckerberg hasta Guido van Rossum.
A cada cual lo suyo, y Java en cuanto a robustez, seguimiento de estándares, sencillez y uso profesional, no tiene a nadie de cerca.
¿Que es más lento? Vale.
Pero ¿qué es más caro, un procesador un poco más rápido o unos cuantos programadores haciendo las cosas mal, por libre y un TCO desorbitado?
Cuando las grandes compañías apuestan por Java, no creo que sea por una moda.
Oracle sucks y todo eso, pero es un ad-hominem como la manga un abrigo decir que Java pierde popularidad.
A los usuarios no les interesa nada del lenguaje de progración, y que se use lenguajes dinámicos tiene poca relación con la velocidad final de las aplicaciones, que dependen de muchas otras cosas.
Eso no significa que no se programen mierdas en lenguajes dinámicos o Java, peor es absolutamente ridículo que en una discusión sobre la "herramienta" que usan los "expertos" se afirme que "no se piensa en el usuario". Es saber muy poco, desde para qué se inventan y desarrollan los lenguajes de alto nivel (¡para los programadores!) hasta qué influencia tienen en las aplicaciones, la velocididad, o la experiencia de usuario.
Por cierto, también muy poco conocimiento de la realidad, como que todo en Android es Java, o que programas como Calibre están hechos completamente en Python (y por eso es multiplataforma), o que el gigante Eclipse está hecho enteramente en Java (y va muy rápido para todo lo que hace), o que incluso hasta Google está programado en lenguajes de alto nivel (antes mucho de Perl, ahora en Python).
Insisto: al usuario se la trae al pairo el lenguaje, y se hacen mierdas de programas en C++ o en Java.
Bajo mi punto de vista el problema del consumo de memoria no es tanto de Java como de la programación de alto nivel. Facilita la vida al programador y hace mucho más entendible el código pero el (ab)uso de estructuras que guardan información redundante y de capas y capas de abstracción hace que el consumo de memoria y procesador se incremente mucho.
No suelo votar pero tu frase:
"sólo parece importar que la aplicación funcione en un PC recién comprado"
Se merece un positivo por que es mas cierta que haber Dios jaja!!
Y ahora, dos ejemplos reales (nada de benchmarks). Ejemplo número 1: aplicación científica para un sistema de control en tiempo real, donde no sólo hay un límite estricto de tiempo, sino que además cuanto más rápido sea el sistema más numéricamente estable es el algoritmo: cierto lenguaje dinámico tardaba 6 horas en ejecutar N iteraciones del algoritmo. Portado a C++, usando las mismas N iteraciones, el resultado se redujo a un minuto. 360 veces más rápido. Ejemplo número 2 (más de andar por casa): aplicación pequeña de consumo propio y de uso diario, que tarda 6 segundos simplemente en cargar la interfaz, más otros tantos si quiero abrir un cuadro de diálogo de abrir archivo. Cuando me harté y la porté a C++, se abría en un segundo, y todo en general era mucho más rápido. Después de añadirle unas 4 veces más funcionalidades, seguía igual de rápido.
Aunque en los dos casos hable de C++, no quiero decir que éste sea la panacea (C probablemente es más rápido, por ejemplo), pero a la eficiencia (velocidad, al fin y al cabo) se le da mucha menos importancia que la que tiene, y esto es porque pensamos más como programadores que como usuarios. Por cierto, la portabilidad tampoco es siempre prioritaria: pensad en todo el software "de consumo interno" (que es la gran mayoría, hasta donde sé. Y sí, también cuenta la rapidez, lo sé de primera mano). Por no hablar de que C también permite portabilidad con un pelín de maña.
#47 Lo de no pensar en el ordenador como un todo es casi un dogma en muchos libros de programación. Lo típico de la ocultación, no pensar en "detalles de implementación", etc. Desde el momento en que se considera que la "abstraction penalty" es razonable (cuestión de gustos), es lo normal, pero yo tampoco estoy de acuerdo.
P.D.: ni Eclipse ni Netbeans me gustan un pelo, prefiero el Visual Studio. En cuanto a editores sí que diría que es pura cuestión de gustos y cada programador hace lo mejor para él.
(Perdón por el tochaco)
No estoy nada de acuerdo con que C++ sea malo. Estuve unos cuantos años buscando un lenguaje que se ajustara a mi modo de pensar y hasta que no conocí C++ a fondo no me di por satisfecho. Cuestión de gustos.
Otra cosa es que en el mundo de la empresa ya entre en juego el tiempo de desarrollo, pero ésa es otra cuestión. Yo hablo del resultado final del código, y sigo manteniendo que la velocidad es un factor, en tanto que el usuario puede notar la diferencia.
www.youtube.com/watch?v=1S1fISh-pag
1. A la mayoría de la gente lo primero que le importa no es "la velocidad" sino "la pasta". Lo que ganas con el programa menos lo que gastas en desarrollarlo, evolucionarlo y mantenerlo.
2. El caso ese de 360x de optimización, es muy probable que no fuera una reescritura línea a línea sino una mejora de la implantación del algoritmo, hay varios benchmarks por ahí de C/C++ vs Java y no he visto nunca esas diferencias de rendimiento. Además, en el peor de los casos (algún módulo que necesita una optización enorme a bajo nivel) siempre podrías desarrollar el 99% de la aplicación con Java (+barato de desarrollar y mantener), escribir los algoritmos críticos en C y usarlos de forma nativa mediante JNI (la interfaz nativa de Java). Yo mismo lo he hecho varias veces.
3. A mí la eficiencia de un programa, su fluidez de uso, etc., me importan sólo de forma relativa. Soy un programador y para mí es un orgullo hacer una aplicación rápida, estable, usable, mantenible y legible, pero estos aspectos no son todos igual de importantes desde un punto de vista profesional. El aspecto más importante en una aplicación empresarial es su rentabilidad. Nadie quiere usar una aplicación muy lenta, por lo tanto no será rentable. Nadie quiere usar una aplicación difícil de manejar -> poco rentable. Pero mejorar décimas de segundo en ciertas operaciones a veces no compensa con el coste de desarrollo y mantenimiento.
Me encanta programar, me gusta C, me gusta Java, y me gustan muchas cosas, pero hay que ponerse siempre en contexto y tener una visión más amplia que el "bajo nivel" y "rapidez" de un lenguaje.
"evita problemas de punteros"
Si, soy raro. Me gustan los punteros de C. Me dan más control sobre lo que hago, y eso me gusta. ¿Es más complicado? Si, pero eso no es malo.
"evita problemas de no borrar zonas de memoria"
Con el Garbage Collector, que resta enormemente la eficiencia de cualquier programa. De nuevo, ¿es más difícil hacerlo "a mano"? Mucho, y eso puede ser bueno. Si es fácil, no es potente. Si es potente, no es fácil.
"funciona en todos lados sin cambiar una línea de código"
Gracias a ser un lenguaje interpretado, más lento que uno compilado. De nuevo, va en contra de la eficiencia.
"Súmale dos grandes IDEs como Eclipse y Netbeans."
Eclipse, personalmente, no me gusta demasiado. Netbeans si, es el que uso... para programar en C++
"Quien no lo quiera ver allá él."
Lo mismo digo. Quien no quiera ver que no se puede poner un lenguaje como si fuese "el mejor", puesto que te puede interesar uno u otro depende de lo que hagas... lo siento, pero no, Java no es mejor. PUEDE ser mejor, dependiendo de lo que quieras hacer. No encuentro sentido a estas "guerras".
"Que sí, que todo eso es a costa de ser más lento, pero me parece una contrapartida aceptable."
A mi no.
#191 No, ojo, que te ponía de ejemplo puesto que ponías algunos datos en lugar de hacer como la mayoría y decir "lo que no uso yo es una mierda!" y podía decir la contrapartida. Y, repito, que tengan una contrapartida no quiere decir que sea malo o peor, es solo que tienes que saber lo que quierens en cada momento, pero es algo que lanzo "en general" (y no es una critica a tu comentario, que es de los pocos razonados) porque, como ves, aquí hay muchos comentarios que, sin argumentos (porque no existen) aseguran que un lenguaje es mejor que otro. Cualquier programador con dos dedos de frente, sabe que un lenguaje tiene pros y contras y tiene que saber decidir.
ftp://ftp.nag.co.uk/sc22wg5/N1701-N1750/N1729.pdf
Existen compiladores GCC, de Intel, de NAG, etc. Y ya se está trabajando en el Fortran 2013.
Cada lenguaje tiene sus cosas, sin mas. Si piensas que es una mierda, quizá no estes usando el lenguaje adecuado para lo que estás desarrollando.
Si la aplicacion que utilizas la van a usar 500 personas, durante 4 anos, que importa que tu como programador pierdas tu tiempo compilando una release final por poner un ejemplo si se cambia de plataforma, y así la adaptas a la nueva, si asi cada usuario gana 5 segundo pongamos por día, en tiempo es bastante.
La percepcion del usuario se la suda a la gente que programa y asi de bien nos va, tenemos la fama que tenemos.
Quien diga que la velocidad no es fundamental es que es muy joven y no ha vivido otros tiempos. Como los procesadores dejen de incrementer sus prestaciones por limitaciones del material, veremos si es o no fundamental. De hecho la velocidad, la limpieza, calidad y experiencia de usuario, es lo que diferencia un buen programa de uno malo.
#166 ssssshhhh calla que lo cabreas!! insensato!!
Dices: "Quien diga que la velocidad no es fundamental es que es muy joven y no ha vivido otros tiempos."
y justo enlazas un comentario de galli que dice
"Los lenguajes dinámicos son una gran avance, y la velocidad no es lo fundamental,..."
Pero bueno, tampoco voy a malmeter con esto, al fin y al cabo yo pienso aquello de
"Existen dos tipos de lenguajes de programación:
Por un lado, aquellos de los que la gente se queja todo el rato; por otro, los que nadie utiliza."
Bjarne Stroustrup
Edito: se usa para los cálculos numéricos porque, al parecer, es muy eficiente: elementos finitos, elementos de contorno y esas cosas.
wiki.python.org/moin/PythonGames
www.youtube.com/watch?v=c7RRaEvWqJc&html5=True Hecho en Python (Blender)
¿Java mas robusto que otras soluciones? Lo dudo.
¿Java sigue mas estandares que otras soluciones? Lo dudo.
¿Java mas sencillo que otras soluciones? Lo dudo.
Dudo que ni tomando todas a la vez o una por una no haya (en una gran cantidad de proyectos) otras soluciones que superen Java.
"Cuando las grandes compañías apuestan por Java, no creo que sea por una moda." Que buen argumento....espera que lo pruebo : como algunos de los grandes portales de internet estan hechos (en la parte del servidor) con PHP debe ser que PHP es la mejor de las soluciones para cualquier proyecto web ¿te parece coherente este argumento?, pues aplícalo a lo que has escrito ....