Chi di C # e Java è più facile e veloce quando l'interfacciamento con statistiche / Simulazione Softwares?

StackOverflow https://stackoverflow.com/questions/2212260

Domanda

Per prima cosa, so quasi nulla l'interfacciamento di questo tipo e questa è la prima volta, sto cercando fuori. Sto cercando di utilizzare uno dei software di statistiche / Simulazione o acero o Mathematica o R per i calcoli e l'uso C # / Java per gestire altre aree come la persistenza e la raccolta dei dati e così via.

Mi puoi dire che una di queste piattaforme (.NET / Java) è più adatto per questo esercizio in termini di:

  • sforzo necessario per preparare i dati al formato utilizzabile dal software statistiche
  • Performance in termini di requisiti di memoria e il tempo necessario per la comunicazione tra due programmi.

Capisco che una singola piattaforma non può essere buono per tutti loro e si può essere molto buona per dire acero, ma troppo male per R. Quello che sto cercando è una buona combinazione.

E perché io non sono fissato su uno dei Maple / Mathematica / R? Beh, sono tutti disponibili a me e quello che sto cercando di calcolare è più o meno comune e disponibili anche in tutti loro.

Quindi è giunto fino a che uno è facile per l'interfacciamento.

Saluti

È stato utile?

Soluzione

  

sforzo necessario per preparare i dati per   il formato utilizzabile dalle statistiche   software

Questo davvero non delineare il problema. Se avete intenzione di fare qualche analisi complessa, la risposta può essere più in giro per le librerie disponibili. Senza sapere niente, direi Java. Se non sono richieste biblioteche speciali, sono probabilmente uguali.

  

Performance in termini di memoria   requisito e il tempo necessario per   la comunicazione tra i due programmi

Memoria tra i due è simile ed è in gran parte sarà un fattore di aspetti della vostra applicazione e le librerie che si usa. Per le prestazioni della CPU, tutti gli altri aspetti uguali, di solito scoprire che il CLR ha prestazioni migliori grezzo rispetto alla JVM. Tuttavia, fare attenzione con questa affermazione. A seconda di quale codice e le librerie che si sta utilizzando, si potrebbe ottenere risultati molto diversi.

Un'altra considerazione a seconda della natura del problema. Se si scopre di aver un po 'di trattamento intensivo che può essere scaricata in codice nativo, troverete che è molto più facile e più veloce, per accedere codice nativo dal CLR che dalla JVM.

Altri suggerimenti

qui per alcune buone intuizioni su quale lingua si potrebbe desidera utilizzare. Java è destinata probabilmente ad avere il miglior supporto (anche se io odio dire che)

Ci sono due questioni.

  • Preparazione dei dati. Qualsiasi linguaggio di solito fare, ma Perl è grande per massaggiare il testo.
  • interfacciamento. Questo è altamente programma dipendente così si va nella direzione opposta. Si può parlare solo usando IPC su Unix, beh, allora C # è fuori, se si può parlare solo utilizzando COM sotto Windows C # è probabilmente migliore.

Quindi, capire quale pacchetto si intende utilizzare, e che cosa può fare.

I termini del linguaggio, è molto improbabile vedere una reale differenza. Forse C # è più bello come il suo più recente. Tuttavia, Java era stato più a lungo e ha le librerie di gran lunga più open source. Questo significa che si hanno maggiori probabilità di trovare una libreria che fa X o Y che fa per voi in Java.

Ecco un solo alcune delle open source librerie Java disponibili. http://java-sources.org/ 1 Google può aiutarti a trovare molte altre librerie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top