Forum

Nome Utente:
Password:
Riconoscimi automaticamente
 Tutti i Forum
 MolecularLab
 Bioinformatica
 Quali linguaggi di programmazione
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
I seguenti utenti stanno leggendo questo Forum Qui c'è:

Aggiungi Tag Aggiungi i tag

Quanto è utile/interessante questa discussione:

Autore Discussione  

pino licusi
Nuovo Arrivato



7 Messaggi

Inserito il - 14 gennaio 2008 : 15:11:36  Mostra Profilo  Visita l'Homepage di pino licusi Invia a pino licusi un Messaggio Privato  Rispondi Quotando
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

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 14 gennaio 2008 : 20:39:53  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
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+!)
Torna all'inizio della Pagina

kORdA
Utente Attivo

newkORdA

Prov.: Milano
Città: Monza


1303 Messaggi

Inserito il - 17 gennaio 2008 : 18:01:47  Mostra Profilo  Visita l'Homepage di kORdA  Clicca per vedere l'indirizzo MSN di kORdA Invia a kORdA un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 17 gennaio 2008 : 22:17:58  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
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+!)
Torna all'inizio della Pagina

eheh
Nuovo Arrivato




8 Messaggi

Inserito il - 17 gennaio 2008 : 23:29:05  Mostra Profilo  Visita l'Homepage di eheh Invia a eheh un Messaggio Privato  Rispondi Quotando
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...



Torna all'inizio della Pagina

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 18 gennaio 2008 : 01:00:36  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
Citazione:
FORTRAN


brrrrr.... un brivido freddo mi percorre la schiena.... brrrrrrr....

Sei un nuovo arrivato?
Leggi il regolamento del forum e presentati qui

My photo portfolio (now on G+!)
Torna all'inizio della Pagina

kORdA
Utente Attivo

newkORdA

Prov.: Milano
Città: Monza


1303 Messaggi

Inserito il - 18 gennaio 2008 : 10:52:45  Mostra Profilo  Visita l'Homepage di kORdA  Clicca per vedere l'indirizzo MSN di kORdA Invia a kORdA un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 18 gennaio 2008 : 11:39:54  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
Lo so, e lo usano nelle banche e tutto quanto.... ma veramente non capisco perchè

Sei un nuovo arrivato?
Leggi il regolamento del forum e presentati qui

My photo portfolio (now on G+!)
Torna all'inizio della Pagina

eheh
Nuovo Arrivato




8 Messaggi

Inserito il - 18 gennaio 2008 : 14:55:06  Mostra Profilo  Visita l'Homepage di eheh Invia a eheh un Messaggio Privato  Rispondi Quotando
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...
Torna all'inizio della Pagina

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 19 gennaio 2008 : 05:08:30  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
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+!)
Torna all'inizio della Pagina

eheh
Nuovo Arrivato




8 Messaggi

Inserito il - 19 gennaio 2008 : 14:07:36  Mostra Profilo  Visita l'Homepage di eheh Invia a eheh un Messaggio Privato  Rispondi Quotando
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?"

Torna all'inizio della Pagina

eheh
Nuovo Arrivato




8 Messaggi

Inserito il - 19 gennaio 2008 : 14:20:11  Mostra Profilo  Visita l'Homepage di eheh Invia a eheh un Messaggio Privato  Rispondi Quotando
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!

Torna all'inizio della Pagina
  Discussione  

Quanto è utile/interessante questa discussione:

 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
Vai a:
MolecularLab.it © 2003-18 MolecularLab.it Torna all'inizio della Pagina