Autor Tema: Lenguaje de programación adecuado.

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

08 Mayo, 2009, 03:31 am
Respuesta #10

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,428
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
Está muy bien eso de la programación multicore, que antes se dejaba a grandes centros de computación y ahora resulta que las pcs vienen con esa teconología que hay que saber aprovechar.
A repensar todos los algoritmos que creíamos conocer!!

De Java me incomoda el manejo de strings, que copia continuamente, y no me deja cambiar uno o dos bytes de la cadena, como es tan fácil y rápido en C++.
En Java cada cadena nueva ocupa nueva memoria, y después va quedando basura que la maquina virtual va administrando.
Pero si uno quiere trabajar asiduamente con cadenas, como por ejemplo expresiones lógicas o cálculo simbólico, o cosas por el estilo, el resultado será deficiente en tiempo de ejecución.
Pero también es cierto que apenas si sé los rudimentos de Java y no sé si hay paquetes u opciones que mejoren esto.

Python me han dicho que es más lento que Java, y que los strings los maneja con igual criterio.

Yo no pido que me permitan escribir directamente en memoria como en C++, pero por lo menos que el manejo de strings sea eficiente. Si voy a cambiar un solo byte de una cadena larga, no tiene sentido copiarla toda, después de todo el interprete Java puede hacer de las suyas sin que el programador intervenga, salvo tan  solo enviandole un ''mensaje'' al objeto string para hacerlo mutar, como todo objeto que se precie.N
No entiendo por qué esto debe ser ineficiente.

Así no voy a poder resolver el P=NP y llevarme el millón de claymath.


08 Mayo, 2009, 06:13 am
Respuesta #11

topo23

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 937
  • Karma: +0/-0
Me han recomendado python como herramienta para resolver problemas rápidamente, sin tanto tiempo de programación, pero a la hora de ejecutarse demora.
Está bueno que Python trabaje con enteros de precisión arbitraria, es justo lo que ando buscando.
Pero sospecho que al usar ese tipo de lenguaje de tan alto nivel la cosa puede volverse lenta a la  hora de hacer cálculos intensivos.
Habría que buscar la manera de conjugar varios lenguajes para resolver distintas partes de un problema, y acomodarse a las necesidades de cada problema.

Python tiene esa facilidad incorporada, por ejemplo la libreria numpy tiene su nucleo en c++/assembler. Y es posible mezclar python con c++, desde c++ ejecutar codigo python y desde python ejecutar codigo en c++.

De Java me incomoda el manejo de strings, que copia continuamente, y no me deja cambiar uno o dos bytes de la cadena, como es tan fácil y rápido en C++.

Hasta donde conozco esta propiedad permite hacer codigo multicore mas facilmente, se llama immutable objects y es la caracteristica fundamental de los lenguajes funcionales como Haskell, que son mas facilmente paralelizable.

Los lenguajes funcionales son interesantes porque obligan a diseñar algoritmos que son mas facilmente paralelizables. Recientemente C# y Java han han incorporado algunas de estas caracteristicas.
.

08 Mayo, 2009, 07:10 am
Respuesta #12

leonardo09

  • Leonardo Andrés Jofré Flor
  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 786
  • Karma: +0/-0
  • Sexo: Masculino
  • Leonardo Jofré
    • Leonardo Andrés Jofré Flor
Como yo trabajo con problemas estadísticos sugiero trabajar con R, es un lenguaje interpretado orientado a objetos que tiene amplias funciones para desarrollar problemas estadísticos, un profesor me dijo que el proyecto genoma humano se escribió en ese lenguaje.
nunca seré buen matemático

09 Mayo, 2009, 04:57 am
Respuesta #13

mathtruco

  • Moderador Global
  • Mensajes: 5,498
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
ei..  por el nivel de vuestras respuestas se nota que las matemáticas y la programación+computadoras (o los matemáticos con los programadores) están muy ligadas..


argentinator:  buen trabajo con texlado hombre..  vi la imagen de tu teclado y se ve que con eso debes hacer mucho más cómodo el laburo. Mientras no exista versión para mi SO dispondré de él, aunque me parece reinteresante y me dieron ganas de hacer mi versión para linux. Si lo hago te cuento.

ha aclarado mis dudas acerca del tema, pero dejo abierto el tema para los que quieran aportar de su experiencia en el tema.


un saludo,
Mathtruco.

09 Mayo, 2009, 05:55 am
Respuesta #14

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,428
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
mathtruco, te puedo pasar el script sin compilar.
No sé si el lenguaje autohotkey compila para linux.
Porque si hubiera, te paso el codigo fuente y solo tendrias que compilarlo.
Te digo porque es muy extenso...

12 Mayo, 2009, 12:50 am
Respuesta #15

mathtruco

  • Moderador Global
  • Mensajes: 5,498
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
hola argentinator,

 no existe forma de pasar códigos de autohotkey para que funcione en linux (*). Habría que hacer el script desde 0. Yo creo que en cuanto tenga tiempo (terminando los certámenes del semestre) haré por lo menos una version menos completa usando tu idea.