Foros del Web » Programación para mayores de 30 ;) » Programación General »

[SOLUCIONADO] Lenguaje para un algoritmo y programación paralela

Estas en el tema de Lenguaje para un algoritmo y programación paralela en el foro de Programación General en Foros del Web. Hola, me gustaría que me prestaran un poco de ayuda. Voy a desarrollar una aplicación que incluirá un algoritmo tipo minimax (o alguno parecido) pero ...
  #1 (permalink)  
Antiguo 06/03/2013, 07:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Pregunta Lenguaje para un algoritmo y programación paralela

Hola, me gustaría que me prestaran un poco de ayuda. Voy a desarrollar una aplicación que incluirá un algoritmo tipo minimax (o alguno parecido) pero no se que lenguaje de programación usar. La idea es hacer el mayor número de cálculos en el menor tiempo posible. Estoy entre C, C++ y C#. Buscando info por la red todos están de acuerdo en que C y C++ son los más veloces, pero requieren un alto grado de optimización en el código. Tengo experiencia en C y C#, pero el primero creo que se quedará un poco corto en cuanto a opciones y el segundo no estoy seguro de su rendimiento.

Otra duda es sobre los hilos y la programación paralela. En C# es muy fácil usarlos y aprovechar todos los núcleos del procesador. En C y C++ no se si existe esa facilidad, y creo que en manos de un novato como yo no le sacaré el partido que le sacaría a C#.

Si, por ejemplo, C o C++ no son como mínimo cuatro veces más rapidos que C# no creo lo hiciera en estos lenguajes... ¿Qué opininan?

Un saludo y gracias.
  #2 (permalink)  
Antiguo 06/03/2013, 08:39
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Lenguaje para un algoritmo y programación paralela

Yo uso C# y programo muy amenudo aplicaciones/servicios que usan multithreading y la verdad es que es muy sencillo. Con C/C++ tienes la librería PThreads e incluso puedes usar la tarjeta gráfica para realizar calculos de forma paralela (busca información sobre CUDA).

Si es una aplicación que no es crítica pero necesita paralelismo, yo optaría por C#. Si es algo del estilo de aplicaciones científicas, rendering, etc. usaría C++ y CUDA o PThreads.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 06/03/2013, 08:53
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Lenguaje para un algoritmo y programación paralela

Mi pregunta es por que razón crees que C se quedará un poco corto, por no tener POO o es por algun otro motivo?

Con la alta optimización y la supercapacidad de cálculo de los ordenadores actuales yo de ti usaría el lenguaje con el que te sientas más cómodo, ya que lo podrás usar mejor y optimizarlo mejor.



Saludos
  #4 (permalink)  
Antiguo 06/03/2013, 11:04
 
Fecha de Ingreso: mayo-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Respuesta: Lenguaje para un algoritmo y programación paralela

Cita:
Iniciado por Malenko Ver Mensaje
Yo uso C# y programo muy amenudo aplicaciones/servicios que usan multithreading y la verdad es que es muy sencillo. Con C/C++ tienes la librería PThreads e incluso puedes usar la tarjeta gráfica para realizar calculos de forma paralela (busca información sobre CUDA).

Si es una aplicación que no es crítica pero necesita paralelismo, yo optaría por C#. Si es algo del estilo de aplicaciones científicas, rendering, etc. usaría C++ y CUDA o PThreads.
Es buena idea usar CUDA, lástima que yo este en el otro bando (ati), aún así he visto que hay alternativas como "accelerator" de Microsoft, veremos a ver si conseguimos que funcione...

Lo que realmente necesito en la aplicación es rendimiento. Necesito que el algoritmo en árbol baje el número máximo de niveles posible para alcanzar la mejor solución en un tiempo aceptable. De ahí mis dudas con el rendimiento de C#.

Cita:
Iniciado por L3m0n Ver Mensaje
Mi pregunta es por que razón crees que C se quedará un poco corto, por no tener POO o es por algun otro motivo?

Con la alta optimización y la supercapacidad de cálculo de los ordenadores actuales yo de ti usaría el lenguaje con el que te sientas más cómodo, ya que lo podrás usar mejor y optimizarlo mejor.



Saludos
Pues que no soporte POO es una razón, una vez que piensas con objetos cuestas volver a lo de antes xD

Realmente el problema es que el algoritmo va a necesitar de todos los recursos para llegar a una solución aceptable, por eso aunque me sienta menos cómodo con C/C++, si tengo una mejora de rendimiento aceptable tendría que cambiar aunque no me guste

Etiquetas: lenguaje, programa, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:13.