Programmare in fortran

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
danae20032001
Linux 1.x
Linux 1.x
Messaggi: 147
Iscritto il: dom 6 nov 2005, 23:28
Località: milano

Programmare in fortran

Messaggio da danae20032001 »

Salve ho installata la current e vorrei imparare a programmare in fortran per curiosita'. Sulla slack ho trovato installato solo il compilatore g77 per il fortran77.
So che esistono versioni piu' recenti del fortran (90 ad esempio)...da quale mi consigliate di partire? Inoltre per le versioni piu' recenti sono disponibili compilatori scaricabili gratuitamente? E dove li posso trovare? Grazie mille!

brancalessio
Linux 2.x
Linux 2.x
Messaggi: 316
Iscritto il: mer 22 giu 2005, 0:00

Messaggio da brancalessio »

Credo esiste il compilatore GNU per il Fortran90, ma è ancora molto in fase di sviluppo.

Altrimenti un ottimo compilatore (dal punto di vista della velocità degli eseguibili) è quello della Intel che puoi scaricare gratuitamente dal sito. Ho installato quello per il C/C++ su Slackware 10.0 e tutto funzionava al meglio. Forse però devi installarti anche la MathKernel Library. Ma il tuo processore è un Intel? Il compilatore della Intel per ora è ottimizzato solo per i processori della stessa marca...

bit123
Linux 2.x
Linux 2.x
Messaggi: 350
Iscritto il: dom 27 nov 2005, 16:26
Località: Catania
Contatta:

Messaggio da bit123 »

Il Fortran è un linguaggio ad alto livello ideato per applicazioni scientifiche e matamatiche. Da quando il Python ha acquisito il supporto per l'aritmetica decimale, l'interesse del mondo scientifico si è spostato verso questo linguaggio: sintassi semplice, potente, parco librerie che copre ogni campo di applicazione e soprattutto curva di apprendimento molto veloce per essere subito produttivi. In poche parole, se devi imparare un nuovo linguaggio impara il python. Saluti!

danae20032001
Linux 1.x
Linux 1.x
Messaggi: 147
Iscritto il: dom 6 nov 2005, 23:28
Località: milano

Messaggio da danae20032001 »

E per il C e C++? Mi consigliate di partire direttamente dal C++ o prima imparare il C? Altri linguaggi di programmazione utili per il mondo lavorativo quali potrebbero essere? Grazie.

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

danae20032001 ha scritto:E per il C e C++? Mi consigliate di partire direttamente dal C++ o prima imparare il C?
Ti consiglio di studiare le basi del C e poi passare al C++.
danae20032001 ha scritto:Altri linguaggi di programmazione utili per il mondo lavorativo quali potrebbero essere? Grazie.
Java.

Riguardo al Fortran:
il fortune di ieri ha scritto:A computer without COBOL and Fortran is like a piece of chocolate
cake without ketchup and mustard.

danae20032001
Linux 1.x
Linux 1.x
Messaggi: 147
Iscritto il: dom 6 nov 2005, 23:28
Località: milano

Messaggio da danae20032001 »

Spero che all' autore del' "aforisma" non piaccia la torta al cioccolato con mostarda e ketchup!.....Ultimo chiarimento.....e' utile imparare il C#? Grazie!

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Messaggio da lamarozzo »

Come ti è stato suggerito, per quanto riguarda il compilatore Fortran scarica la versione non commerciale della Intel. Ci sono delle versioni open source ma non sono all'altezza.

Il C++ comprende interamente il C. Ti consiglio di cominciare quindi con il C, così avrai chiara anche la sintassi del C++, anche se dovrai cambiare stile di programmazione.

Per quanto riguarda il Python non sono d'accordo sul fatto che sia un'alternativa al C o al Fortran per il mondo scientifico. Le funzioni scritte in Python sono almeno una decina di volte più lente, e quindi si finisce per scriverle in C o Fortran e poi renderle chiamabili dal Python. Il Python è un ottimo collante, per disegnare l'architettura dell'applicazione, e te la consiglio per imparare la programmazione ad oggetti, prima ancora di affrontare il C++ (che ha una sintassi molto più pesante)

Ciao

bit123
Linux 2.x
Linux 2.x
Messaggi: 350
Iscritto il: dom 27 nov 2005, 16:26
Località: Catania
Contatta:

Messaggio da bit123 »

Le librerie matematiche che usa il python sono già scritte in c, quindi il problema velocità è superato, è diventato un pregiudizio. Se non hai tempo da perdere, impara il python!

danae20032001
Linux 1.x
Linux 1.x
Messaggi: 147
Iscritto il: dom 6 nov 2005, 23:28
Località: milano

Messaggio da danae20032001 »

e su questo famigerato c# di cui non conosco nulla?

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

danae20032001 ha scritto:e su questo famigerato c# di cui non conosco nulla?
Lascialo perdere: è un'aberrazione M$.
Ciao,
nino

Avatar utente
lamarozzo
Linux 3.x
Linux 3.x
Messaggi: 732
Iscritto il: gio 14 lug 2005, 0:00
Desktop: xfce
Distribuzione: archlinux
Località: Roma

Messaggio da lamarozzo »

bit123 ha scritto:Le librerie matematiche che usa il python sono già scritte in c, quindi il problema velocità è superato, è diventato un pregiudizio. Se non hai tempo da perdere, impara il python!
si, ma io intendevo le funzioni che uno si scrive da solo, non le librerie

danae20032001
Linux 1.x
Linux 1.x
Messaggi: 147
Iscritto il: dom 6 nov 2005, 23:28
Località: milano

Messaggio da danae20032001 »

Linguaggio creato dalla Microsoft? Allora non lo prendo nemmeno in considerazione! Penso prima di partire col C, poi C++, Java e python! Grazie dei consigli!

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Ciao

La scelta del linguaggio dipende dall'uso che ne fai...
Il fortran si usa ancora in ambito scientifico, così come il cobol in ambito aziendale...
C e C++ sono flessibilissimi, ma per alcuni compiti richiedono molte più righe di codice di altri...
Concordo con lamarozzo di cominciare dal C per poi passare al C++ (io ho fatto il contrario, ma è assai peggio).
Il perl ti consente di fare degli script molto potenti e per gli usi più disparati...
Un po' di bash scripting ti può fare molto comodo per l'amministrazione della tua macchina: è più limitato del perl, ma è più facile da imparare ed è la shell di default sulla maggior parte dei sistemi Unix-like (csh, tcsh sono meno diffuse).
Se scrivi qualcosa per il web, considera anche php, oltre a java...
Python non lo conosco, però ho letto ottime recensioni e qualche breve introduzione e mi pare davvero ottimo...
Lo consiglia anche Eric Raymond:
http://www.catb.org/~esr/faqs/hacker-howto.html#skills1

Se hai tempo, leggi anche:
http://www.faqs.org/docs/artu/
è un'ottima introduzione alla programmazione.

L'assembly è un caso a parte, ti costringe a capire molto bene come funziona la tua macchina, ma non è facile da imparare e da padroneggiare e, se è ottimo per lavorare a basso livello, non è idoneo per un uso generale (c'è anche un eccellente tutorial di phobos3576 , membro di slacky, all'indirizzo http://xoomer.alice.it/ramsoft/ , che ho trovato molto istruttivo).

Imparare bene un linguaggio richiede un certo tempo e una certa pratica, ma una volta appresi alcuni algoritmi di base e alcuni concetti chiave imparare i successivi è più facile...

Riguardo soprattutto a C/C++:

Considera anche che conoscere un po' di librerie, soprattutto quelle che ti consentono di creare interfacce grafiche, è molto importante, così come lo è la conoscenza di come vengono gestiti processi e segnali in un sistema linux...

Anche conoscere make (& C.) e gdb è quasi fondamentale in ambito linux, se vuoi sviluppare software di una certa complessità...

Insomma, se ti va di imparare non hai che l'imbarazzo della scelta...

Io ho cominciato col basic del C64, ma non sono mai diventato un vero programmatore...
:roll:

Avatar utente
Sari
Linux 3.x
Linux 3.x
Messaggi: 584
Iscritto il: mer 16 feb 2005, 0:00
Slackware: 12.1
Kernel: 2.6.24
Desktop: Gnome
Località: Verona

Messaggio da Sari »

ninobi ha scritto:
danae20032001 ha scritto:e su questo famigerato c# di cui non conosco nulla?
Lascialo perdere: è un'aberrazione M$.
Ciao,
nino
Be il framework .net, volente o nolente, si sta diffondendo su larga scala. La dimostrazione di ciò è l'attenzione che l'OpenSource ha verso questo linguaggio. Mono ad esempio sta piano piano diventando un ottimo ambiente di sviluppo integrato per C# e che esista un binding di GTK, chiamato gtk#, per Mono è assai significativo.

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

Sari ha scritto:Be il framework .net, volente o nolente, si sta diffondendo su larga scala. La dimostrazione di ciò è l'attenzione che l'OpenSource ha verso questo linguaggio. Mono ad esempio sta piano piano diventando un ottimo ambiente di sviluppo integrato per C# e che esista un binding di GTK, chiamato gtk#, per Mono è assai significativo.
Premetto che io non posso definirmi un programmatore: si, me la cavo abbastanza col php (anche php-gtk) e ho fatto qualcosa col python e il pascal (e in passato col basic), ma non posso reggere il peso di una discussione sulla vera programmazione e quindi corro il rischio di dire delle fesserie...
Sul .net ho seguito un corso organizzato dalla mia amministrazione e insieme a me c'erano dei veri luminari (tra gli altri, il mio compagno di banco era l'autore del libro su cui avevo imparato l'html :shock: e dietro di me c'era il programmatore dell'opensignature, la firma digitale su linux...), per cui io ero capitato lì veramente per una strana combinazione.
In ogni caso, per quanto mi riguarda, di fronte al .net, ho provato un senso di repulsione: la stessa sensazione che provavo quando la mia prof. di matematica cercava di ficcarci a forza nella testa certe formule di analisi senza il minimo tentattivo di farci capire qualcosa. Per fare un altro paragone, mi sembrava di avere a che fare con una montagna di mattoncini lego da mettere insieme, correndo il rischio di costruire qualcosa di enorme con funzionalità, però, minime. Quello che preferisco io , invece, è cominciare con una pagina bianca e scrivere codice, cercando di renderlo più leggero possibile...
Questo per quanto riguarda me. I miei colleghi, invece, con cognizione di causa esponenzialmente superiore, hanno trovato tutti i difetti possibili ed immaginabili di quella piattaforma (e del c#): ora non sono in grado di riferirli, anche perché non li ricordo. Una cosa che mi ha colpito è che il c# non lo paragonavano tanto al c++ quanto al java, definendolo una assurdo tentativo di imitazione di quest'ultimo.
Ripeto, quindi, che le mie sono soprattutto impressioni mediate...
Ciao,
nino

Rispondi