Tuntutan yang Anda masukkan sebenarnya menempatkan Fortran di bagian atas daftar, untuk masalah seperti ini:
a) angka berderak
b) dapat ditangguhkan
c) itu dan masih merupakan bahasa de facto diajarkan di luar studi cs (untuk insinyur yang bukan programmer profesional).
d) memiliki dukungan industri yang luar biasa (!), jumlah penyusun tingkat industri, dengan tidak ada vendor yang menunjukkan tanda-tanda paling sedikit meninggalkan cabang itu. Salah satu perwakilan Intel belum lama ini mengungkapkan bahwa penjualan produk Fortran mereka lebih tinggi daripada yang lain dalam alat pengembangan mereka.
Ini juga merupakan bahasa yang sangat mudah diambil. Saya tidak setuju bahwa perlu waktu untuk mempercepat asisten peneliti. Buku teks pertamaku di dalamnya tidak lebih dari, oh, aku tidak tahu, 30 (?) Halaman teks yang jarang dicetak. Ini adalah bahasa di mana setelah mempelajari 10 kata kunci, seseorang dapat menulis program ukuran sedang. Saya berani mengatakan bahwa 30 halaman yang ditulis dalam teks Word standar akan membuat "manual Fortran" yang lebih komprehensif untuk sebagian besar pengguna.
Jika Anda tertarik pada CUDA, Anda mungkin ingin memeriksa kompiler Portland Group , yang mendukungnya . Saya tidak terbiasa dengan detail yang lebih halus, tetapi orang umumnya membicarakannya dengan pujian.
Selain itu, untuk program paralel, Anda memiliki OpenMP, MPI, dan sekarang co-array yang akan datang (dan sudah lama ditunggu-tunggu), yang baru-baru ini diterapkan oleh kompiler Intel . Untuk tidak membuang-buang kata, Fortran memiliki gamma "perpustakaan" yang sangat bagus untuk memparalelkan program.
Perpustakaan numerik standar industri dikembangkan untuk itu terutama, bahasa lain mengikuti kurang lebih dalam portofolio fungsi / rutinitas.
Semua yang dikatakan, saya akan (tergantung pada saat awalnya ditulis) merekomendasikan jika itu katakanlah, kode F77 atau lebih tua, menulis ulang sebagian melalui waktu ke dialek yang lebih baru - setidaknya F90, jika mungkin dengan fitur F2003. Sebuah makalah / tesis tentang topik itu baru-baru ini diterbitkan (file PDF ukuran sedang di depan). Tidak hanya itu, jika dilakukan dengan benar, memastikan portabilitas di beberapa platform, tetapi juga akan membuatnya lebih mudah untuk pemeliharaan di masa depan.
PS Sejauh "pemeliharaan masa depan" berjalan, hanya sebuah anegdote yang kadang-kadang saya suka sebutkan. Saat menulis tesis saya, saya menggunakan kembali beberapa kode dari mentor saya, yang ditulis 35 tahun yang lalu sejak saat penulisan. Ini dikompilasi dengan hanya satu kesalahan; pernyataan hilang di bagian akhir, karena kesalahan penyalinan :)
@DaveMateer (balas komentar) - Saya akan memberikan komentar di bawah ini yang mungkin agak tidak sopan, tapi tolong jangan salah paham, karena itu adalah niat yang adil.
Sepertinya saya Anda menangani "masalah" ini dengan cara yang salah. Apa yang saya maksudkan dalam beberapa poin singkat (karena sudah sangat terlambat di sini, dan kemampuan saya untuk membuat kalimat yang dapat dibaca (apalagi dimengerti) membuat saya setelah pukul 10 malam)
a) Anda menyebutkan Anda mencoba meminimalkan waktu pengkodean tambahan, namun Anda sedang mempertimbangkan penulisan ulang dari bahasa yang dikhususkan untuk komputasi numerik menjadi satu dari pilihan bahasa yang penuh warna , jika Anda akan memaafkan ekspresi saya
- beberapa di antaranya tidak memiliki dukungan untuk array multidimensi, antara lain
- kebanyakan dari mereka tidak cocok untuk pekerjaan numerik berat (kemampuan pemrosesan paralel Haskell dan Hadoop saya akui, saya tidak tahu apa-apa tentang ... tetapi belum pernah mendengar mereka bahkan disebutkan di kalangan itu)
- mungkin telah dicoba, tetapi saya belum pernah mendengar penulisan ulang dari Fortran, bahasa untuk masalah yang didiskritisasi, ke bahasa fungsional
- telah ada diskusi baru-baru ini di comp.lang.fortran (coba cari melalui grup google) pada aspek komputasi ilmiah "di awan"
(tidak ingin memotivasi Anda, tetapi untuk bersikap adil, tidak ada yang benar-benar yakin apa istilah itu bahkan mewakili, kurang sendiri memiliki contoh aplikasi yang sukses. Sebagian besar orang setuju bahwa ada potensi tetapi sejauh ini mereka senang cara kerjanya sekarang.). Banyak masalah yang tidak cocok untuk paralisis semacam itu juga.
b) berapa biaya penulisan ulang seperti itu? orang / jam.
c) - versi yang benar dari perpustakaan untuk dikompilasi ...- adalah masalah dalam bahasa apa pun, yang tidak dapat dihindari, namun Anda melihatnya.
d) Saya pernah mendengar tentang Python (bahasa yang sangat bagus) yang digunakan dalam aplikasi paralel pada beberapa kesempatan, tetapi penetrasi pasar itu tampaknya tidak meningkat, dan sifatnya yang terus berubah menjadikannya pilihan yang sangat buruk untuk proyek jangka panjang (pikirkan kompatibilitas ke belakang). Beberapa orang sangat menyukainya sebagai bahasa "perekat".
Ugh, jika saya memikirkan hal lain, akan menambahkannya besok. Harus tidur ...