Nur ganz "kurz" - gehört ja eigentlich auch nicht hier her.<p>WH hat recht, wenn er die Variante 77 (oder noch älter) meint. Hier mal ein Auszug aus solch einem Prog:
if(iret) 142,10,142 --> falls iret<0;=0;>0 dann springe zu marke ...
10 if(idr-3) 12,15,12
12 write(iout,*) f
15 if(istart) 30,18,18
18 iret=0
do 20 i=1,kk --> entspricht einer for...next schleife, wobei das next bei Sprungmarke 20 steht
do 20 j=1,kk
20 vl(i+(j-1)*kk)=0.0
do 24 i=1,kk
vl(i+(i-1)*kk)=1.0
vl(kq+i)=abs(swa)
if(swa) 22,24,24 ! 24,22,22
22 vl(kq+i)=abs(swa*x(i))
24 continue
30 iter=iter+1
* print*,lo(4,50),'Iterationsschritt : ',iter
do 32 i=1,kk
vl(kq2+i)=2.0
32 vl(kq1+i)=0.0
40 ii=1
50 abm=0.0
do 54 i=1,kk
aba=vl(kq+ii)*vl(i+(ii-1)*kk)
abr=abs(aba)/(abs(y(i))+1.e-20)
if(abr-abm) 54,54,52
52 abm=abr
54 y(i)=y(i)+aba
if(abm-epsmi) 130,130,56
56 call ziel(y,f1)<p>Wer diesen Code verstehen will, der braucht schon ne Weile dazu. Ein typischer Spaghetti-Code. Der Vorteil: Kurz und schnell.<p>Doch Fortran ist nicht stehengeblieben. Eine wichtige Entwicklung war Fortran 90 (das benutze ich) und dessen konsequente Weiterentwicklung Fortran 95. Wer C (nicht ++) versteht, der versteht auch nahezu jedes Fortran 90 Prog.<p>Fortran 90 unterscheidet sich von den Möglichkeiten her (in Hinsicht auf ingenieurmäßige Belange) in keiner Art von einer anderen modernen Prog-Sprache. Außer expliziten Vererbungsmechanismen (und die braucht man im Normalfall zum Rechnen nicht) und Überladungen stehen alle Möglichkeiten einer sauberen und übersichtlichen Programmierung zur Verfügung. Es stehen weiterhin eine Vielzahl von vordefinierten Routinen zur Verfügung (und damit auch sehr leistungsfähig). In welcher Sprache kann ich einfach:
fMax1=MAXVAL(fFeld1(:,1))
fMin1=MINVAL(fFeld1(:,1))
schreiben und habe sofort den Min/Max-Wert der Spalte 1 des Feldes fFeld1 da? Oder ich schreibe:
fMatrix=MATMUL(fMatrixA,fMatrixB)
und habe das Matrizenprodukt da. Wobei ich einfach vorher definieren kann:
fMatrix=0.0, d.h. ich muß keine Schleife über alle Elemente der Matrix machen. Oder, oder, oder<p>Fortran ist aus meiner Sicht eine fein Sprache um übersichtliche und für den Programmierer komfortable Programme zu schreiben.<p>Achso - die Mechanismen der Mehrprozessorenfähigkeit (die sind dann aber Compilerabhängig) habe ich noch nicht genannt [img]images/icons/wink.gif" border="0[/img] <p>Was persönliches:
Ich habe 1 Woche vor Abgabe einer Arbeit noch Rechenergebnisse benötigt und war gerade so mit Programmieren fertig. Also Prog gestartet und dann mit Entsetzen festgestellt, das ich ca. 6 Wochen benötigen werde, bis ich alles durch habe. Was nun? Programm hergenommen und auf 3 Workstations und 5 PC verteilt. Bei den PC hab ich die exe natuerlich gleich laufen lassen können. Bei den Großrechnern hab ich die Sache compiliert (gerade auf ner Alpha waren da zwar noch einige Änderungen zu machen, da die 64-bitig rechnen kann, aber im Normalfall eigentlich nicht) und ab gings. Nach 4 Tagen war ich fertig und konnte die Sachen noch auswerten. Und jetzt frage ich: Mit welcher Sprache außer C geht das noch. Mit JAVA vielleicht, mußt aber erst das jdk installieren und brauchst damit admin-Rechte...