Newsgroup: it.discussioni.ingegneria
Titolo: Tesi e linguaggio di programmazione

Salve a tutti.
Mi scuso se effettuando il crosspost ho infranto la netiquette, 
ma credo di essere in tema in entrambi i NG.
Inizio a vedere la fine ed ho iniziato a lavorare alla tesi, ma
ho un piccolo problema, la scelta del linguaggio da usare.
Devo svolgere una tesi di Ing. Meccanica V.O., che richiede lo sviluppo ed
implemetazione di diversi algoritmi che fanno pesante uso di calcolo tra
dati raccolti in matrici e vettori, e proprio per la natura altamente
iterativa dei calcoli ho scartato a priori soluzioni poco performanti come
octave, scilab, Matlab, e tutto il resto dei linguaggi interpretrati e
pcode  (visual basic compreso).
Gli unici due candidati rimasti sono Fortran95 e C.
Ho scitto gia' qualche riga di codice ed ho avuto queste impressioni
usando i due linguaggi:
Fortran95 : 
	    PRO
	    Il codice risulta essere di facile lettura, presenta tutta una
	    serie di operatori che mi permettono di evitare l'implemtazione di
	    di funzioni elementari (ricerca max, posizione del massimo valore ecc.)
	    Usando una sorta di emulazione di puntatore a puntare del C riesco ad
	    ottenere performace negli ordimamenti di grossi vettori, praticamente
	    uguale a quelle che ottengo in C.
            I tempi di sviluppo e debug sono pittosto contenuti. In
            generale sono soddisfatto di questa soluzione.
 
	    CONTRO
	    Avere supporto in rete ma anche all'universita per migliorare il
	    codice o ricercare errori subdoli e' praticamente impossibile, data
	    la scarsa diffusione del linguaggio (assolutamente diverso dal
	    classico Fortran).
	    Il miliardo e passa di librerie presenti in rete non mi servono, al
	    limite come gia' ho fatto posso usare qualche algoritmo di ordinameto
	    prendendolo dalle rete e modificandolo opportunamete, ma trovo molto
	    codice anche per il linguaggio C.
	    Se voglio approfondire qualche aspetto del linguaggio in libreria non
	    si trova nulla, tranne il manuale di base.
Linguaggio C
		PRO
		Versatile, estramante adatto per risolvere alcuni problemi con
		stutture dati particolari (dovro' usare anche degli alberi), il
		supporto in rete e' facile da trovare.
		Molto piu' noto e diffuso rispetto al Fortran95.
		Anche per tale linguaggio esistono molte librerie pronte e
		valanghe di esempi scritti in C.
		In libreria si trovano molti libri che esaminano vari aspetti del C,
		cosa piu' diffice da trovare per il Fortran95
 
		CONTRO
		La sua estrema flessibilita' lo rende molto "BUG PRONE", i tempi che
		impiego per sviluppare il codice e farne il debug sono superiori, ma in
		compenso si trovano ambienti di sviluppo e debugger ben fatti. Usando
		alcune sue caratteristiche posso ottenere algoritmi molto veloci
		(realizzare algoritmi veloci e' fondamentale). Nessun supporto
		all'universita' nel caso usi tale linguaggio.
In dipartimento mi risuta che si sviluppi solo in Matalb,fortran77,VisualBasic, tutti linguaggi che ho velocemente
scartato :)
Nulla vieta di sviluppare alcuni algoritmi di C ed altri in Fortran95, ma
sinceramente vorrei concentrare le mie energie in un solo linguaggio per
padroneggiarlo al meglio.
Il fortran sarebbe piu' indicato in quanto specialistico per i problemi di
calcolo numerico, ma il C con un po' di pratica in piu' da gli stessi
risultati ed in oltre credo che le conoscenza del C possa darmi qualche
competenza in piu' per il mio (si spera :) ) futuro lavoro.
Vi pregerei di consigliarmi sulla base della vostra tesi e del vostro
lavoro, evitanto la nascita di stupide guerre di religione sui linguaggi.
Grazie a tutti

usare un programma fatto in matlab? per i tuoi scopi pnso sia il più
appropriato insieme al fortran. puoi trovare qualche risorsa su
www.ingegneriameccanica.org
ciao

 Gli unici due candidati rimasti sono Fortran95 e C.
Scelta difficile.
Epperchè no Fortran 77 ?

 Gli unici due candidati rimasti sono Fortran95 e C.
Bhe, c'è anche il C++...
Ti consiglio il C, ma anzi meglio il C++. Si trova molto materiale in rete
ed è estremamente efficiente.
The Wizard

 lavoro, evitanto la nascita di stupide guerre di religione sui linguaggi.
Io uso Java ma l'ambito è diverso  ;-)
Ciao!

 Epperchè no Fortran 77 ?
Potresti motivare meglio il tuo consiglio?
I motivi per cui l'ho scartato sono semplici
1. Incapace di gestire memoria dinamica
2. Il codice che si scrive per le caratteristiche del f77 e' per forza di
   cose mal strutturato
3. Impossibile realizzare stutture dinamiche quali le liste, a meno di
   particolari artifici sugli array
4. Non permette (a meno di fare ricorso a diversi array di tipi
   diversi)la definizione tipi personali a cui accedere in modo semplice.
5. Tutto il software f77 e' utilizzabile con compilatori f95
Credo che siano dei buoni motivi :)

 rete ed è estremamente efficiente.
Ho stuacchiato un pizzico di C++, troppo complesso per i miei scopi,
meglio il C ;)



Matlab putroppo e' da escludere per i motivi che ho dato in un altro post.
Grazie

 semplificare il più possibile a livello logico il tuo lavoro.
Da questo punto di vista con Fortran95 ho una semplicita' simile a Matlab
e performance come un compilato C.
Grazie
Ciao


..curiosità...
Sei un ing. meccanico?
 Dai tuoi post mi sembra che te la cavi molto bene con la programmazione, è
solo passione o anche corsi universitari ?
ciao,
in bocca al lupo

 e performance come un compilato C.
... quindi ... Fortran95
Ciao!

 Credo che siano dei buoni motivi :)
sě , come non detto.


si anhe JAVA

Gli unici due candidati rimasti sono Fortran95 e C.
Con il FOrtran 95 puoi usare le librerie NAG che hanno notevoli
funzioni di operazione su vettori e matrici, che ti risulteranno
sicuramente utili e ti snelliranno il lavoro.
Saluti, Aniello
-- 
Aniello Annunziata
Content Director Manager
www.cadlandia.com
aniello.a...@cadlandia.com
Per rispondermi in privato, togli NOGARBAGE dall'indirizzo

 sicuramente utili e ti snelliranno il lavoro.
Ho cercato tali librerie, ma sul loro  sito trovo solo documentazione
dove si possono scaricare?
grazie per la risposta

 in bocca al lupo
Crepi il lupo :)

Io punterei sul C che è molto flessibile e portabile (hai compilatori C per
qualsiasi cosa possa fare calcoli!) e ha delle regole di programmazione
molto rigide che all'inizio sembrano ostiche ma che poi si apprezzano perché
ti impediscono di fare delle zozzerie che poi in debug ti fanno gettare il
sangue
Personalmente ho usato solo il fortran77 e l'ho odiato a morte per i salti e
per il modo barbaro di trattare i costrutti più semplici come i for mentre
il C (sopratutto se si indenta bene il codice) con le sue belle {}mi fa
scrivere codice più leggibile
Per la velocità penso che siamo più omeno lì anche se il C permette di
smanettare più con i puntatori e avere routines un pelo più veloce se
scritte bene (anche se le matrici con i puntatori non sono il massimo della
comodità, conviene stenderle in un vettore)
Per le routines matematiche già belle e fatte anche in C ce ne sono a
bizzeffe, basta rovare quelle che servono e poi non si nota differenza tra C
e Fortran
-- 
_________________________________________________
Edmondo Di Tucci 
www.powernetsi.it/edmondo
 icq: 228646758
La vera felicità è quando sposi una ragazza per amore
e poi scopri che è anche ricca.