Seite 2 von 2

Verfasst: Samstag 10. Januar 2009, 00:28
von dynasty-warriors
ahhhhhhhhhhhh!

Verfasst: Samstag 10. Januar 2009, 01:10
von str1442
... bis er dann vor 8 Jahren BrainF.k entdeckt hat :|

Verfasst: Samstag 10. Januar 2009, 01:31
von BlackJack
@jonas: Das hat wohl eher etwas mit der typischen Reaktion auf Herrn (Kotz-)Koch zu tun. Manchmal ist sie mir ja auch sympatisch: http://www.youtube.com/watch?v=wcICoz14euA :-D

Verfasst: Samstag 10. Januar 2009, 02:23
von abgdf

Verfasst: Samstag 10. Januar 2009, 06:10
von gkuhl
veers hat geschrieben:FORTRAN, freiwillig? Wirklich? :o
Naja, meteorologische Modelle sind schon zum größten Teil in Fortran geschrieben. Also so halbfreiwillig. :wink: Ich hab bis jetzt auch nur kurze Einführungsvorlesungen in C und Fortran gehört und da gefiel mir Fortran irgendwie besser. Welche Sprachen gibt's denn sonst, die sich für solche Zwecke auf Hochleistungsrechner einsetzen lassen?

Für unsere Klimakanzerlin schäme ich mich auch.

Verfasst: Samstag 10. Januar 2009, 10:16
von Darii
gkuhl hat geschrieben:Welche Sprachen gibt's denn sonst, die sich für solche Zwecke auf Hochleistungsrechner einsetzen lassen?
C++ zum Beispiel. Die am CERN setzen dazu ein eigens entwickeltes C++-Framework names ROOT ein um ihre Messdaten zu simulieren/auszuwerten. Hab da mal kurz überflogen sieht recht nett aus(auch bei C++ ist Reflektion möglich, man glaubt es kaum ^^).

Aber Fortran ist in der Meterologie wirklich recht weit verbreitet was ich so gehört habe...

Verfasst: Samstag 10. Januar 2009, 11:13
von HerrHagen
Was habt ihr eigentlich gegen FORTRAN? Die erfüllt doch genau den Zweck, für den sie gemacht wurde - mathematische Berechnungen. Und die werden für gewöhnlich auch noch schneller als in C ausgeführt. Gut, für alle anderen Zwecke wäre ist FORTRAN Quatsch. Versuch mal sowas besser in C auszudrücken (http://homepages.inf.ed.ac.uk/rbf/HIPR2/dilate.htm).

Code: Alles auswählen

subroutine dilation(x,y,n,m)
  implicit none
  integer :: i,j,n,m
  integer x(n,m)  ! echtes zweidimensionales Feld erstellen
  integer y(n,m)

  y=0
  do j=2,m-1
    do i=2,n-1
      y(i,j)=maxval(x(i-1:i+1,j-1:j+1))  ! Maximum eines Feldes ist Standardfunktion
    end do
  end do
end subroutine dilation
Zudem gibt es ein fantastisches Modul für Python namen f2py (http://cens.ioc.ee/projects/f2py2e/) welches mittlerweile bei numpy mit dabei ist. Damit ist das wrappen von FORTRAN-Code schätzungsweise tausendmal einfacher als jede Methode mit der man C-Code wrappen kann.
C++ ist wohl kaum eine Alternative. Die Sprache ist mehr eine Krankheit als alles andere. *im_Raum_stehen_lass*

MFG HerrHagen

Verfasst: Samstag 10. Januar 2009, 11:47
von Leonidas
Für rechnen mit großen Zahlenmengen könnte man auch OCaml hernehmen (OCaml for Scientists) oder eines der stark numerisch optimierenden Schemes wie Gambit oder Bigloo (das kommt wie OCaml vom INRIA).

Siehe dazu auch diese Diskussion auf comp.lang.scheme wo jemand OCaml und Scheme für numerisches rechnen hernimmt.

Allerdings muss ich zugeben, dass ich es beim besten willen nicht geschafft habe, die OCaml-Integration in Python zum laufen zu bekommen.