Saya bertanya-tanya apa cara terbaik untuk belajar bagaimana memprogram di Fortran?
Saya telah mencari buku-buku, contoh-contoh yang tampak oke bagi saya adalah "Fortran 95/2003 Dijelaskan" dan "Fortran Untuk Ilmuwan Dan Insinyur" .
Saya tidak tahu apa yang kalian pikirkan tentang ini?
Hal lain yang saya ingin tahu adalah kompiler mana yang harus saya gunakan? Saya bekerja pada mesin Windows 7 (64-bit).
Saya harap kalian dapat membantu saya dalam hal ini!
Jadi untuk pengalaman saya dengan pemrograman:
- Matlab dan maple adalah jenis perkenalan pertama saya ke dunia pemrograman. Matlab adalah sebuah program di mana saya sebenarnya cukup bagus, saya memahami bekerja dengan loop dan bagaimana menggabungkan ini untuk membuat program yang lebih efisien. Maple lebih pada fase dasar (saya tahu bagaimana mencari solusi untuk integral sederhana dll).
- Setahun setelah itu kami mendapat pengantar C ++ dalam visual basic. Profesor benar-benar pergi cepat untuk yang satu ini, setelah 2 bulan kami sudah membahas petunjuk dan warisan. Saya dapat menulis program sederhana dalam bahasa ini, hanya bekerja dengan kelas adalah sesuatu yang tetap menjadi kesulitan, tetapi saya percaya itu hanya masalah praktik.
- Dan setahun kemudian saya perlu belajar Mathematica 8 yang saya juga sangat bagus saat ini.
Jadi saya punya sedikit pemrograman-expierince, tapi saya tidak akan mengatakan itu jumlah yang luar biasa!
Alasan saya ingin belajar Fortran adalah terutama karena Anda tidak dapat melakukan fisika teoretis sendiri, Anda perlu menguji teori Anda dan untuk itu Anda harus dapat menulis program yang mungkin dapat menguji teori-teori itu secara numerik. Saya mendengar bahwa Fortran adalah kindoff bahasa untuk digunakan ketika datang ke matematika numerik, jadi saya pikir akan berguna untuk mengetahui bahasa ini.
ps: apa perbedaan antara Fortran95 dan Fortran 2003?
Jawaban:
Saya akan merekomendasikan stali kedua buku Chapman. Saya belajar dari buku Chapman Fortran 90, dan itu sangat membantu. Ini akan mengajarkan Anda bahasa Fortran. Itu tidak akan mengajarkan Anda tentang alur kerja yang baik untuk pemrograman, dan untuk itu, Anda harus mencari di tempat lain setelah Anda mempelajari beberapa Fortran dan diprogram untuk sedikit.
Sebagian besar sumber daya online untuk membantu Anda dengan pemrograman Fortran akan berbasis Linux. Demikian pula, dalam ilmu komputasi, sebagian besar materi tertulis akan diarahkan untuk pengguna Linux. Untuk alasan itu, saya sangat menyarankan Anda menginstal VirtualBox (atau semacam perangkat lunak yang memungkinkan Anda untuk menjalankan sistem operasi virtual) dan kemudian menginstal beberapa distribusi Linux di sana. Jika Anda belum pernah menggunakan Linux sebelumnya, distribusi yang ramah pengguna seperti Ubuntu, Mint, atau Fedora mungkin akan menjadi taruhan terbaik Anda. Distribusi ini memerlukan jumlah konfigurasi minimum jika dijalankan dalam lingkungan virtual, dan memiliki GUI yang baik untuk membantu Anda menavigasi sistem operasi. Setiap distribusi ini memiliki manajer paket yang dapat Anda gunakan untuk menginstal beberapa perangkat lunak tambahan. Menggunakan manajer paket, Anda dapat menginstal gfortran.
Anda akan ingin mengembangkan perangkat lunak dalam editor teks (atau IDE), jadi mungkin perlu mempelajari dasar-dasar baris perintah. Software Carpentry memiliki sumber daya yang baik untuk tugas ini. (Penafian: Saya telah mengajarkan bagian dari sebuah lokakarya untuk Software Carpentry.) Maka Anda harus dapat bergerak maju dengan belajar menulis program sederhana dan mengompilasinya di baris perintah, dan kemudian belajar cara menggunakan Makefile.
Masalah dengan melakukan apa pun berbasis Windows adalah bahwa sebagian besar materi online yang akan Anda lihat ketika melakukan ilmu komputasi akan menganggap Anda menggunakan Linux, dan sarannya (jika ada gunanya untuk memulai) akan hancur turun, dan menghabiskan waktu Anda. Cygwin adalah lapisan API yang menambahkan lebih banyak fungsi mirip Linux, tetapi korespondensi dengan Linux tidak sempurna, dan perangkat lunak yang dikompilasi untuk Linux tidak akan berfungsi pada mesin Anda; Anda masih perlu mendapatkan versi Windows asli atau mengkompilasi ulang perangkat lunak untuk Windows. Kompiler Fortran Windows asli seperti Visual Fortran akan membutuhkan biaya, dan Anda masih akan mengalami masalah yang sebagian besar pengguna Fortran dan ilmuwan komputasi menggunakan Linux untuk pengembangan perangkat lunak mereka, yang berarti Anda harus terus maju pada Anda sendiri. Namun, jika Anda benar-benar perlumendistribusikan perangkat lunak berbasis Windows untuk beberapa alasan, maka masuk akal untuk melalui semua upaya untuk mencari tahu bagaimana menggunakan sesuatu seperti Visual Fortran.
sumber
Saya pikir buku Metcalfe adalah panduan beranotasi yang bagus untuk fitur-fitur modern dari Fortran, sangat berguna jika Anda sudah tahu versi bahasa sebelumnya tetapi bukan pengantar pemrograman yang baik dalam bahasa tersebut.
Untuk uang saya buku Chiver dan Sleightholme dan buku Brainerd keduanya cukup baik, meskipun saya tidak berpikir baik adalah sebagai baik sebagai buku oleh Ellis et al yang, sayangnya, belum diperbarui untuk Fortran 2003 atau nanti.
Saya sangat tidak menyukai buku Chapman. Saya tidak ingat mengapa saya sangat tidak menyukai edisi 90/95 sehingga tidak bisa membenarkan keengganan ini lagi, Anda dapat mendiskonnya sebagai prasangka.
Tetapi satu buku yang saya rekomendasikan tanpa ragu-ragu adalah buku Arjen Markus . Ini mungkin bukan pengantar yang ideal untuk seseorang yang masih mencoba mencari fitur dasar dari bahasa tersebut, tetapi begitu Anda sudah menguasainya, ada baiknya menggunakan beberapa substansi berharga.
Adapun kompiler yang akan digunakan, saya menggunakan kompiler Intel dan saya senang dengan itu. Ini terintegrasi dengan Visual Studio, yang mungkin penting bagi Anda. Kompiler NAG memiliki pesan kesalahan dan peringatan yang lebih baik tetapi menghasilkan executable yang lebih lambat (umumnya dan pengalaman Anda mungkin berbeda). Kompiler gfortran gratis dan mendapat ulasan yang cukup baik tetapi bukan yang saya gunakan. Jika Anda ingin tahu lebih banyak, Polyhedron akan memberi tahu Anda.
sumber
Untuk buku, saya merekomendasikan "Modern Fortran Dijelaskan" oleh Metcalf / Reid / Cohen. Ini lebih merupakan referensi daripada buku teks, tetapi itu akan melayani Anda dengan baik jika Anda sudah memiliki beberapa paparan pemrograman secara umum (dengan mengatakan C).
Selain buku itu, saya sangat merekomendasikan situs web Ondřej Čertík http://fortran90.org/ . Ini tidak akan mengajarkan Anda Fortran pada awalnya, tetapi itu akan memberi Anda serangkaian praktik terbaik. Fortran memungkinkan berbagai cara untuk pemrograman - bagaimanapun juga itu kompatibel ke bawah. Praktik terbaik yang diberikan di sana akan membantu Anda mengembangkan gaya Fortran yang konsisten dan modern. Juga, FAQ yang ditemukan akan menarik bagi Anda.
sumber
Buku Chapmans menurut saya lebih ramah pemula dan referensi yang bagus. Penulis yang kedua semuanya ahli tapi saya pikir buku ini akan menjadi tambahan yang baik untuk perpustakaan Anda di tahap selanjutnya.
Sebagai permulaan, saya sarankan Anda tetap menggunakan Fortran 95 dan kemudian (jika perlu) pindah ke Fortran 2003. Fortran 95 mudah dipelajari (hampir seperti Matlab) dan Anda akan cepat produktif.
Di Linux Anda memiliki sejumlah kompiler Fortran gratis (GNU, Solaris Studio, Open64 dll.) Selain seperangkat alat yang lebih kaya misalnya, valgrind, gdb, gnuplot, (untuk viz cepat), svn / hg dll. Selain itu instalasi dari paket yang sudah dikompilasi termasuk lib numerik (blas / lapack / netcdf / fftw dll.) adalah perintah pergi (setidaknya pada Debian dengan apt-get).
Pada Windows Anda mungkin lebih baik menggunakan cygwin karena memberi Anda akses mudah dan cepat ke beberapa alat / lib di atas selain kompiler GNU Fortran. Jadi ya pergi ke cygwin.com dan instal paket inti bersama dengan gfortran dan editor pilihan (vim baik). Itu harus menjadi awal yang baik. Nanti kalau ada yang lain maka saya sarankan menggunakan paket apt-cyg untuk menginstal barang.
sumber