Che ambiente usate per R?

Jul 1st, 2008 | By | Category: Altri Software, R

Ciao a tutti,

scrivo questo post per cercare di comprendere io per primo e per chiedere consigli a voi su quale sia il migliore ambiente di sviluppo per R. Essendo io un eterno novizio di R (dato che lo prendo in mano e poi lo lascio ciclicamente), mi sono deciso di provare a fare qualcosa di concreto. Appena il codice ha cominciato a crescere (stavo giusto copiando quanto scritto su altri manuali), mi sono reso conto che l’editor di R è assolutamente scomodo e privo di funzionalità minime. Abituato ad altri linguaggi di programmazione più complessi e meno specifici, mi è sembrato di essere tornato a scrivere con l’editor di testo di windows, dato che

- la sintassi non è colorata

- l’indentazione automatica comunque non funziona granchè

- so se la sintassi è corretta solo quando eseguo il programma

- mi tocca scrivere ogni comando in maniera completa (malissimo per chi è pigro)

- è scomodo, perchè è davvero un mero editor di testo con un’interfaccia essenziale

- non permette di avere una storia del codice scritto, recuperare errori

Insomma, va benissimo per codici brevi e per test, ma credo sicuramente esistano soluzioni migliori. Ho quindi fatto una breve ricerca su Internet per capire se era possibile scrivere il codice R usando alcuni ambienti di sviluppo noti, in modo che si potessero usare le loro potenzialità per facilitare il lavoro di scrittura, test, debug etc.

Io ultimamente sto lavorando molto in Eclipse, per cui ho cercato subito se vi fosse un’estensione per questo ambiente di sviluppo. Intanto, cosa è Eclipse?

Eclipse è un ambiente di sviluppo (IDE) open-source, il cui sviluppo è affidato alla fondazione omonima (tra i membri figurano società come IBM, SUN, Red-Hat etc.). Viene utilizzato soprattutto per lo sviluppo di Java, ma grazie ad un sistema di estensioni differenti la si può utilizzare per un sacco di linguaggi, dal PHP al Python (è il mio caso… l’estensione si chiama Pydev, è sicuramente molto ben fatta). CI smanetto anche un po’ per Java (anche se sono un cane), e sicuramente si vede che l’ambiente nasce per quello, anzi. Lo stesso Pydev non ha le funzionalità e la possibilità che ha Eclipse Java, anche se con il tempo sicuramente migliorerà.

Quali sono le funzionalità di Eclipse? Innumerevoli. Un po’ ne elenco:

- sintassi colorata ( e personalizzabile)

-possibilità di gestire progetti, anche complessi (vi sfido a farlo con un editor, quando vi trovate a lottare tra decine di file e non ricordate dove si trova una certa classe o funzione)

-gestione dei task: una sorta di agenda (ossia, non ho voglia ora di scrivere ora una certa funzione, allora metto un appunto ed il programma mi ricorda che ho x task aperti)

- controllo della sintassi in tempo reale (se vi dimenticate una parentesi o un punto e virgola, ve lo dice… utile per chi come me è distratto)

- presenza di uno scratchbook su cui testare piccole parti di codice (siete troppo pigri per leggere l’help, e troppo smemorati per conoscere tutte le funzioni a memoria? Ecco, questa funzioanlità torna utile)

- in Java, ha un sacco di funzionalità per razionalizzare e semplificare il codice (ad esempio, permette la creazione automatica di funzioni)

- ha un ambiente di debug molto logico

- ha la funzione di autocompletamento… utile non solo per risparmiare tempo, ma anche per risparmiare errori

-utilizzo delle JUnit… praticamente, voi dite al programma cosa deve fare, gli date delle regole, e lui vi organizza il codice di conseguenza. Spiegazione da cani, andate qui e potrete capire meglio

-architettura modulare: praticamente, Eclipse supporta tramite questa architettuta, in modo indipendente, una miriade di linguaggi differenti.

-molto altro ancora…e tante cose devo ancora scoprirle.

Mi sono detto che questo è proprio ciò che mancava sull’IDE di R, e quindi sono andato a cercare se esistesse un’estensione per R. La risposta, come mi aspettavo, era si, e si chiama StatEt.

Premetto che, avendo poco tempo di giocare con R, ci ho potuto giocare poco; esiste una guida d’installazione, che ho trovato davvero utile. Ammetto, tuttavia, che ho trovato alcune difficoltà: alla fine tutto mi funziona, ma credo che sia anche merito del caso che mi ha assistito non poco. In particolare, ho avuto problemi nell’eseguire il codice di R entro Eclipse.. ora funziona, ma devo capire bene perchè.

Le funzioni nominate sopra ci sono tutte (tranne le JUnit, ma sono una particolarità di java ed altri linguaggi di programmazione meno specifici, che in R forse neanche avrebbero senso), quindi sintassi colorata, controllo della sintassi, debug (con annessi breakpoint), una sorta di scratchbook, autocompletamento del codice, etc. etc.

Il prezzo fa pagare è:

- una certa pesantezza dell’applicazione (ma con i computer recenti ora ce ne facciamo un baffo)

- una difficoltà nell’installazione (comune, peraltro, anche ad altri linguaggi, come mi è stato riferito da altri… ma dipende anche da quanto volete personalizzare l’ambiente)

- un periodo iniziale speso nell’apprendimento se volete davvero usare il programma (se le funzionalità a disposizione le si ignora, allora tanto vale rimanere con l’ambiente integrato in R)

Io per ora sono nella parte discendente del ciclo del mio apprendimento continuo di R (leggi, non ho tempo di studiare), e quindi ultimamente ho lasciato perdere anche StatEt. Tuttavia, continuo ad usare Eclipse con Python e Java, e le soddisfazioni sono enormi (e poi, avere un unico ambiente per tutto è una comodità enorme).

Saluti

Fr.

Tags: , , , ,

2 comments
Leave a comment »

  1. ciao franz.
    io sto usando notepad++, lo consci? ho scritto qualcosa in merito su questo post:
    Ambienti di editing per R: Notepad++

  2. [...] post in risposta a quello di Franz. concordo con te, per chi ancora è legato a windowz come me l’editor offerto da R è davvero [...]

Leave Comment