Zastanawiałem się, jaki jest najlepszy sposób na naukę programowania w Fortran?
Szukałem książek, przykłady, które wydawały mi się w porządku, to „Wyjaśnienie Fortran 95/2003” i „Fortran dla naukowców i inżynierów” .
Nie wiem, co o tym myślicie?
Zastanawiam się też, jakiego kompilatora powinienem użyć? Pracuję na komputerze z systemem Windows 7 (64-bitowym).
Mam nadzieję, że pomożecie mi w tym!
Tak więc według mojego doświadczenia z programowaniem:
- Matlab i klon były miłe z moich pierwszych przedstawień w świecie programowania. Matlab to program, w którym właściwie jestem całkiem niezły, mam dość pracy z pętlami i jak je łączyć, aby tworzyć bardziej wydajne programy. Klon jest bardziej w fazie podstawowej (wiem, jak szukać rozwiązania prostych całek itp.).
- Rok później otrzymaliśmy wprowadzenie do C ++ w Visual Basic. Profesor tak naprawdę zajął się tym, po 2 miesiącach rozmawialiśmy już o wskazówkach i dziedzictwie. Potrafię pisać proste programy w tym języku, tylko praca z klasami pozostaje problemem, ale uważam, że to tylko kwestia praktyki.
- A rok później musiałem nauczyć się Mathematica 8, w której też naprawdę dobrze sobie radzę.
Mam więc trochę doświadczenia programistycznego, ale nie powiem, że to niesamowita ilość!
Powodem, dla którego chcę się uczyć Fortran, jest głównie to, że nie jesteś w stanie samodzielnie zajmować się fizyką teoretyczną, musisz przetestować swoje teorie, a do tego musisz umieć pisać programy, które mogą być w stanie przetestować te teorie numerycznie. Słyszałem, że Fortran jest uprzejmym językiem, jeśli chodzi o matematykę numeryczną, więc myślę, że przydałoby się znać ten język.
ps: jaka jest różnica między Fortran95 a Fortran 2003?
Odpowiedzi:
Idę do rekomendacji drugiej stali książki Chapmana. Nauczyłem się z książki Chapmana Fortran 90 i było to bardzo pomocne. Nauczy Cię języka Fortran. Nie nauczy Cię o dobrej organizacji pracy do programowania, a do tego należy szukać gdzie indziej po nauczyłem niektóre Fortran i zaprogramowany na trochę.
Większość zasobów online, które pomogą ci w programowaniu Fortran, będzie oparta na systemie Linux. Podobnie w informatyce większość materiałów pisanych będzie skierowana do użytkowników Linuksa. Z tego powodu zdecydowanie zalecam zainstalowanie VirtualBox (lub innego oprogramowania, które umożliwia uruchamianie wirtualnych systemów operacyjnych), a następnie zainstalowanie tam dystrybucji Linuksa. Jeśli nigdy wcześniej nie korzystałeś z Linuksa, prawdopodobnie najlepszym rozwiązaniem będzie przyjazna dla użytkownika dystrybucja, taka jak Ubuntu, Mint lub Fedora. Te dystrybucje wymagają minimalnej ilości konfiguracji, jeśli są uruchamiane w środowisku wirtualnym i mają dobry interfejs GUI, który pomaga nawigować po systemie operacyjnym. Każda z tych dystrybucji ma menedżera pakietów, którego można użyć do zainstalowania dodatkowego oprogramowania. Za pomocą menedżera pakietów możesz zainstalować gfortran.
Będziesz chciał opracować oprogramowanie w edytorze tekstu (lub IDE), więc prawdopodobnie warto poznać podstawy wiersza poleceń. Oprogramowanie Stolarstwo ma dobre zasoby do tego zadania. (Zastrzeżenie: Prowadziłem część warsztatów dla oprogramowania Stolarstwo). Następnie powinieneś być w stanie posunąć się naprzód, ucząc się pisać proste programy i kompilować je w wierszu poleceń, a następnie nauczyć się korzystać z Makefile.
Problem z robieniem czegokolwiek opartego na systemie Windows polega na tym, że większość materiałów online, które zobaczysz podczas wykonywania obliczeń, zakłada, że używasz Linuksa, a rada (jeśli na początek warto), się załamie w dół i kosztuje cię czas. Cygwin to warstwa API, która dodaje więcej funkcjonalności podobnych do Linuksa, ale korespondencja z Linuksem nie jest idealna, a oprogramowanie skompilowane dla Linuksa nie będzie działać na twoim komputerze; nadal musisz pobrać wersje natywne dla systemu Windows lub ponownie skompilować oprogramowanie dla systemu Windows. Pochodzący z Windows kompilator Fortran, taki jak Visual Fortran, będzie kosztował, a nadal będziesz mieć problem, że większość użytkowników Fortran i naukowcy zajmujący się obliczeniami używają Linuksa do tworzenia oprogramowania, co oznacza, że będziesz musiał iść naprzód posiadać. Jednak jeśli naprawdę musiszz jakiegoś powodu dystrybuuj oprogramowanie oparte na systemie Windows, wtedy warto przejść wszystkie wysiłki, aby dowiedzieć się, jak używać czegoś takiego jak Visual Fortran.
źródło
Myślę, że książka Metcalfe jest dobrym przewodnikiem po nowoczesnych funkcjach Fortrana, bardzo przydatnym, jeśli znasz już wcześniejszą wersję języka, ale nie jest to dobre wprowadzenie do programowania w tym języku.
Dla mojego pieniędzy książka Chiver i Sleightholme a książka Brainerd są zarówno wystarczająco dobre, chociaż nie sądzę, albo jest tak dobry jak książka Ellis et al , które, niestety, nie został zaktualizowany do Fortran 2003 roku lub później.
Mam silną niechęć do książki Chapmana. Nie pamiętam, dlaczego tak bardzo nie lubiłem wersji 90/95, więc nie mogę już dłużej uzasadniać tej niechęci, można ją zlekceważyć.
Ale jedyną książką, którą polecam bez wahania, jest książka Arjena Markusa . Prawdopodobnie nie jest to idealne wprowadzenie dla kogoś, kto wciąż próbuje zrozumieć podstawowe cechy języka, ale gdy już je opanujesz, warto ważyć jakąś cenną substancję.
Jeśli chodzi o to, którego kompilatora użyć, używam kompilatora Intela i ogólnie jestem z niego zadowolony. Integruje się z Visual Studio, co może być dla Ciebie ważne. Kompilator NAG ma lepsze komunikaty o błędach i ostrzeżeniach, ale generuje wolniejsze (generalnie i inne wrażenia) pliki wykonywalne. Kompilator gfortran jest bezpłatny i dostaje wystarczająco dobre recenzje, ale nie używam go. Jeśli chcesz wiedzieć więcej , powie Ci Wielościan .
źródło
W przypadku książek polecam „Modern Fortran Explained” autorstwa Metcalf / Reid / Cohen. Jest to raczej odniesienie niż podręcznik, ale będzie ci dobrze służyć, jeśli już wcześniej miałeś trochę kontaktu z programowaniem (powiedzmy C).
Oprócz tej książki gorąco polecam stronę internetową Ondřej Čertík http://fortran90.org/ . Nie nauczy Cię przede wszystkim Fortranu, ale zapewni Ci zestaw najlepszych praktyk. Fortran pozwala na różne sposoby programowania - jest w końcu kompatybilny w dół. Podane tam najlepsze praktyki pomogą ci wypracować spójny, nowoczesny styl Fortran. Często zadawane pytania mogą Cię zainteresować.
źródło
Myślę, że książka Chapmansa jest bardziej przyjazna dla początkujących i stanowi dobre odniesienie. Autorzy drugiego z nich są ekspertami, ale myślę, że książka będzie dobrym dodatkiem do twojej biblioteki na późniejszym etapie.
Na początek sugeruję trzymać się Fortran 95, a następnie (w razie potrzeby) przejść do Fortran 2003. Fortran 95 jest łatwy do nauczenia się (prawie jak Matlab), a będziesz bardzo produktywny.
W systemie Linux masz wiele darmowych kompilatorów Fortran (GNU, Solaris Studio, Open64 itp.) Oprócz bogatszego zestawu narzędzi, np. Valgrind, gdb, gnuplot, (dla szybkiego viz), svn / hg itp. Dodatkowo instalacja wstępnie skompilowane pakiety, w tym biblioteki numeryczne (blas / lapack / netcdf / fftw itp.), są poleceniami dostępnymi (przynajmniej na Debianie z apt-get).
W systemie Windows lepiej być może z cygwinem, ponieważ zapewnia on łatwy i szybki dostęp do niektórych z powyższych narzędzi / bibliotek oprócz kompilatora GNU Fortran. Więc tak, przejdź do cygwin.com i zainstaluj pakiet podstawowy wraz z gfortranem i wybranym edytorem (vim jest dobry). To powinien być dobry początek. Później, jeśli coś jeszcze, to sugeruję użycie pakietu apt-cyg do instalowania rzeczy.
źródło