Autore |
Discussione |
|
pino licusi
Nuovo Arrivato
7 Messaggi |
Inserito il - 14 gennaio 2008 : 15:11:36
|
Lavoro nel campo della proteomica. Uso R per l'analisi dei dati, ma vorrei imparare a programmare e, dato che ci sono, vorrei apprendere le basi di un linguaggio che viene usato nel mio campo. Si parla tanto di Python e di Perl. Voi cosa mi consigliate?
|
|
|
chick80
Moderatore
Città: Edinburgh
11491 Messaggi |
Inserito il - 14 gennaio 2008 : 20:39:53
|
Personalmente se vuoi imparare a programmare ti consiglierei C++. Una volta che conosci quello la maggior parte degli altri linguaggi di programmazione "verranno da sè"! :P |
Sei un nuovo arrivato? Leggi il regolamento del forum e presentati qui
My photo portfolio (now on G+!) |
|
|
kORdA
Utente Attivo
Prov.: Milano
Città: Monza
1303 Messaggi |
Inserito il - 17 gennaio 2008 : 18:01:47
|
C++ è IL linguaggio per definizione, ritengo. Ma ritengo anche che non sempre è accessibilissimo ai profani (a meno che non ti accontenti di vedere "hello world" sul terminale e sei soddisfatto così).
Perl non ho mai avuto il piacere di incontrarlo per ora.
A questo punto rimane Python. Te lo consiglio caldamente per vari motivi:
Almeno su Ubuntu/Gnome ho notato che parecchi tool di sistema sono implementati in Python/GTK.
L'ultima versione di Modeller è stata completamente riconvertita in Python
PyMol, come dice il nome stesso, è implementato in Python
....
Forse sono un po' di parte???? |
http://www.linkedin.com/in/dariocorrada |
|
|
chick80
Moderatore
Città: Edinburgh
11491 Messaggi |
Inserito il - 17 gennaio 2008 : 22:17:58
|
Citazione: C++ è IL linguaggio per definizione, ritengo. Ma ritengo anche che non sempre è accessibilissimo ai profani (a meno che non ti accontenti di vedere "hello world" sul terminale e sei soddisfatto così).
Beh, un po' di programmini tipo "Hello world" li devi fare sempre e comunque se vuoi imparare a programmare. Poi se vuoi avere risultati belli e veloci potresti provare cose come gtkmm che ti permette di scrivere applicazioni Gnome in C++. Python sicuramente è più veloce da imparare ma dipende sempre da quello che ci vuoi fare. Non esiste "il linguaggio migliore", esiste "il linguaggio migliore per una certa situazione". |
Sei un nuovo arrivato? Leggi il regolamento del forum e presentati qui
My photo portfolio (now on G+!) |
|
|
eheh
Nuovo Arrivato
8 Messaggi |
Inserito il - 17 gennaio 2008 : 23:29:05
|
Citazione: vorrei imparare a programmare
Se devi solo imparare le basi della programmazione ti basta il C, per iniziare.
Se invece prevedi di dover espandere i tool che vai a sviluppare, di doverli condividere con altri, altri che magari devono solo essere in grado di usarli velocemente (e con facilita'), senza dubbio il C++ e' piu' adatto. (Come ti dice il nome e' una estensione del C ma si scrive in modo leggermente diverso). Inoltre una volta che hai sviluppato le tue librerie (insieme di programmini e funzioni), sviluppare nuovo codice diventa abbastanza veloce e "pulito". Si integra bene con tutto cio' che e' programmazione grafica (le finestre sono oggetti e sono scritte in C++)...
Se prevedi di sviluppare programmi di simulazione da zero o quasi considera che per quanto antiquato ancora oggi esistono librerie di funzioni perfettamente funzionanti e altamente ottimizzate in FORTRAN e tutta una classe di vecchi professori ha imparato a programmare in questo datato linguaggio. Non te lo consiglierei...
Cito da Wikipedia
Python ha qualche similarità con Perl, ma i suoi progettisti hanno scelto la via di una sintassi più essenziale e uniforme, con l'obiettivo di aumentare la leggibilità del codice. Come il Perl spesso è classificato linguaggio di scripting, ma pur essendo utile per scrivere script di sistema (in alternativa ad esempio a bash), la grande quantità di librerie disponibili e la facilità con cui questo linguaggio permette di scrivere software modulare favoriscono anche lo sviluppo di applicazioni molto complesse.
Python e Perl vanno bene per trattare i dati. C e C++ sono piu' veloci in esecuzione.
Tutti basano la loro potenza sulla immensa quantita' di librerie gia' sviluppate e disponibili (perche' riscrivere un codice che e' gia' stato scritto e funziona correttamente?).
Citazione: Messaggio inserito da chick80
Personalmente se vuoi imparare a programmare ti consiglierei C++. Una volta che conosci quello la maggior parte degli altri linguaggi di programmazione "verranno da sè"! :P
Parole sante... anche se comunque potresti iniziare dalla parte senza oggetti del C++.
Se lavori sotto linux, qualsiasi linguaggio tu scelga prova a dare una occhiata a kdevelop. Sembra solo un editor per i programmi che scrivi, ma e' un vero e proprio ambiente di progettazione e sviluppo. Molto potente. (Meglio sotto KDE che sotto Gnome).
In bocca al lupo...
|
|
|
chick80
Moderatore
Città: Edinburgh
11491 Messaggi |
|
kORdA
Utente Attivo
Prov.: Milano
Città: Monza
1303 Messaggi |
Inserito il - 18 gennaio 2008 : 10:52:45
|
Citazione: Messaggio inserito da chick80
Citazione: FORTRAN
brrrrr.... un brivido freddo mi percorre la schiena.... brrrrrrr....
Gia'...
eppure ho scoperto una cosa durante seguendo alcuni corsi di formazione che erano inclusi nella mia borsa.
Ho incotrato parecchia gente del politecnico. A parte Ingegneria Informatica la gente che afferisce ad altre facolta' (tipo ingegneria meccanica, biomedica e altro) pare che conosca e sviluppi solo in Fortran (come alternativa al TurboPascal, neanche al Delphi) |
http://www.linkedin.com/in/dariocorrada |
|
|
chick80
Moderatore
Città: Edinburgh
11491 Messaggi |
|
eheh
Nuovo Arrivato
8 Messaggi |
Inserito il - 18 gennaio 2008 : 14:55:06
|
Citazione: Messaggio inserito da chick80
Lo so, e lo usano nelle banche e tutto quanto.... ma veramente non capisco perchè
Ti do due/tre motivazioni che mi son state presentate e che non riesco del tutto a demolire...
1. Esistono moltissime librerie a lungo testate e verificate (decine di anni e decine di processori diversi), pronte all'uso e integrate.
2. Ancora oggi ci sono alcune ottimizzazioni spinte del codice che funzionano meglio col compilatore in versione FORTRAN che in versione C. (In alcuni ambienti e' lo stesso compilatore ma con procedure sviluppate ed ereditate da diversi team... non tutti gli utenti si mettono a spulciare tutte le liste di opzioni del compilatore per ottimizzare volta per volta il codice).
3. Quando lavori su cluster puoi non poter utilizzare alcune ottimizzazioni spinte con C e ancor di piu' col C++, mentre col FORTRAN hai meno problemi: il rischio e' che ti vada in crash il processo quando migra su macchine diverse e sotto condizioni non controllabili dall'utente e quindi nemmeno prevedibili o riproducibili...
..per il resto condivido ogni singolo brivido pensando al FORTRAN...
PS> se devi lavorare con gente che usa solo un linguaggio ti tocca impararlo comunque...
|
|
|
chick80
Moderatore
Città: Edinburgh
11491 Messaggi |
Inserito il - 19 gennaio 2008 : 05:08:30
|
Non sono abbastanza esperto per commentare i punti 2 e 3, ma per quanto riguarda il punto 1 non mi sembra che le librerie manchino per il C++... :)
Citazione: PS> se devi lavorare con gente che usa solo un linguaggio ti tocca impararlo comunque...
O li puoi convertire! |
Sei un nuovo arrivato? Leggi il regolamento del forum e presentati qui
My photo portfolio (now on G+!) |
|
|
eheh
Nuovo Arrivato
8 Messaggi |
Inserito il - 19 gennaio 2008 : 14:07:36
|
Citazione: Messaggio inserito da chick80
Non sono abbastanza esperto per commentare i punti 2 e 3, ma per quanto riguarda il punto 1 non mi sembra che le librerie manchino per il C++... :)
Citazione: PS> se devi lavorare con gente che usa solo un linguaggio ti tocca impararlo comunque...
O li puoi convertire!
Vero, il C++ eredita quasi tutte le librerie del C e ne aggiunge di sue. Purtroppo alcuni package (insiemi di librerie) esistono solo in FORTRAN; i sorgenti, lunghi diverse decine di migliaia di righe, sono stati testati da almeno 30 anni... Puoi provare ad usare dei programmi per convertirli (f2c ...), ma se ti introducono un bug di quanta pazienza hai bisogno per trovarlo? Di solito poi il codice prodotto e' scarsamente leggibile.
Tanto vale compilarli con il loro compilatore originario e linkarli con le dovute cautele al tuo codice. Lo si fa comunemente anche con il visual basic o con il visual c++ quando si importano funzioni dalle dll di sistema...
Ci sono libri simulazione (Allen , Frenkel) che mettono a disposizione codice in FORTRAN ... magari non ottimizzato ma pur sempre disponibile...
In generale resta sempre valido porsi la domanda "perche' riscrivere un codice che e' gia' stato scritto e funziona correttamente?"
|
|
|
eheh
Nuovo Arrivato
8 Messaggi |
Inserito il - 19 gennaio 2008 : 14:20:11
|
ops... stiamo un po' prendendo il largo...
per pino: 1. Se devi scrivere tu codice per produrre simulazioni il C++, magari tralasciando in un primo momento la parte relativa agli oggetti... (in pratica il C ma con l'ortografica del C++). 2. Se ti devi appoggiare a codice gia' scritto in C ... il C! 3. Se devi trattare dati il Python... (o anche il Perl...), ma se prevedi che i dati saranno veramente tanti il Python 4. se sei veramente costretto il FORTRAN
senti tutti, dai una occhiata al codice, come e' scritto, come ti ci trovi... e poi buttati!
|
|
|
|
Discussione |
|