|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
Javascript e linguaggio R
Esiste un modo efficiente per eseguire da Javascript uno script R come si può fare in PHP o Python?
Grazie in anticipo |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Messaggi: 413
|
__________________
--In Siberia non sono tutte gnocche... ma tante si... |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
grazie,
avevo già visto questa discussione Sembra però sia meno "rapido" rispetto ad altri linguaggi |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
ad esempio Node.js è una buona idea?
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
non ci sono molte altre possibilita'
non esiste un interfaccia FFI da R a Javascript o viceversa, per cui l'unico metodo sensato e' usare i socket per farli comunicare inoltre considera che R e' un linguaggio creato specificamente per l'analisi dei dati, in questo e' un sostituto di Matlab, Mathematica, Octave non e' sicuramente un generale usato alla stregua di C, C++, C#, Java, Rust, Javascript, ecc... ha un minimo di binding per alcuni widget toolkit, per cui e' difficile creare ad esempio interfacce grafiche con R e R stesso non viene usato in questo modo, cioe' per creare programmi per l'utente, ma e' l'utente stesso ad usare R ( ovviamente gli utenti in questo caso sono scienziati, ingegneri e altre gente del mondo tecnico ) quindi non pensare di poter usare R al posto di un Java o C++, ti creeresti solo un mucchio di problemi |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
certamente,
però a livello statistico non è così pessimo,no? in Python ci sono librerie per tale scopo. in PHP e Javascript sembra un pò meno Ultima modifica di gabmac2 : 11-09-2017 alle 14:40. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
su questo senza dubbio, certo
ad esempio su Python ci sono librerie tipo Numpy In PHP e Javascript non è che si trovi tantissimo (per certi versi è anche normale, il loro scopo non è quello) |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Ma quello che fai in Python e Numpy con 10 righe di codice, lo fai con R in 1 riga. E' questo il punto. I linguaggi nascono per rendere semplice la vita al programmatore. Per questo ce ne sono tanti, altrimenti ne basterebbe uno soltanto.
Per cui non esiste il linguaggio unico che puo' sostituirli tutti. Bene o male, un programmatore dovra' imparare n linguaggi nel corso della sua carriera. Tanto per dire, pochi mesi fa ho dovuto avviare un progetto in C#/WPF, nonostante non nutra nessuna simpatia per MS e in passato non abbia mai nemmeno contemplato di buttarmi su .NET. Eppure e' successo... Ogni linguaggo ha la sua ragion d'essere. Alcuni linguaggi finiscono nel cestino perche' sostituiti da altri migliori. Il punto e' che non si parte dal linguaggio e poi si va a cercare un progetto da implementare. Si parte dal progetto e si scelgono i linguaggi migliori per implementarlo. Se sviluppi software di trading per Goldman Sachs, difficilmente non considererai per primo Haskell. Se invece sviluppi sistemi per l'avionica, considereresti Ada. Purtroppo molti ( quelli americani in particolari ) sono C e C++ con qualche spruzzata di Java. E infatti il F-35 quasi non riesce ad alzarsi da terra ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
il perno era R perchè va bene per data mining e apprendimento automatico (tra le altre cose)
Poter richiamare uno script R da Python e PHP è una buona cosa Con Javascript l' unica via sembra Node.js. E' una buona strada? Ultima modifica di gabmac2 : 11-09-2017 alle 17:48. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
sfruttare R utilizzandolo in altri linguaggi non mi sembra un "mischione"
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
usare un pò di modestia non farebbe male.....
non era quello che intendevo, comunque fa niente |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5517
|
di usare 100000 linguaggi in un progetto ok,
però se c' è uno script di oltre 1000 righe già implementato, che verrà ulteriormente "ampliato e migliorato" durante i test Tale script deve essere utilizzato da situazioni diverse, Python e Javascript, non mi sembra così sbagliato "richiamarlo" dalle due fonti Re-implementare tutto è parecchio gravoso, poi sicuramente dal lato prestazione sarà meglio sfruttando i vari linguaggi, però..... |
![]() |
![]() |
![]() |
#13 | |||
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Sul secondo punto sono dubbioso. Per apprendimento automatico intendi deep learning, reti neurali e compagnia? In quel caso piu' che R sono proprio gli algoritmi a fare la differenza. Ci sono vagonate di reti neurali implementate in Python, molte di piu' di quante ne siano state implementate in R. Quote:
Quote:
Nodejs e' semplicemente V8 ( il motore javascript di Google Chrome ) non castrato, cioe' capace di accedere ai file sul disco, usare socket, pipe, processi, interagire liberamente col sistema operativo. Che c'entra con R? Semplicemente siccome R non ha un supporto significativo ai widget toolkit, cioe' non puoi crearci facilmente GUI serie, si usa Electron per la GUI ( cioe' Nodejs + Chromium + Javascript ) e tramite socket si inviano/ricevono dati e comandi ai programmi R. Ma e' una cosa che puoi benissimo fare senza Nodejs. Crei una GUI in Python e usi le socket per fare le stesse cose. Ultima modifica di pabloski : 12-09-2017 alle 09:55. |
|||
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Ma il punto e' sempre lo stesso, si parte dal progetto da implementare e si sceglie come implementarlo, mai viceversa. Se sei all'inizio, allora e' bene scegliere un settore d'interesse, una specifica tecnologia di quel settore e studiarsela. E ci sono linguaggi che pochi programmatori studiano che invece andrebbero studiati per gli orizzonti che aprono. Tipo Haskell e Lisp. Il primo perche' e' funzionale puro, il secondo perche' implementa paradigmi che ancora oggi molti linguaggi non posseggono. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:37.