Saya sepenuhnya baru dengan gagasan ilmu komputasi, dan saya sedang mencari titik awal yang baik.
Saya mengerti bahwa tidak ada bahasa terbaik yang objektif, tetapi saya ingin belajar bahasa yang memiliki kehadiran yang kuat dan menonjol dalam hal ilmu komputasi - yang dianggap memiliki kemampuan dan efisiensi yang luar biasa.
Untuk memulai, saya condong ke arah pemodelan yang berkaitan dengan ikatan atom dan interaksi, dengan persyaratan untuk representasi / simulasi grafis.
Apakah beberapa bahasa cenderung lebih baik untuk beberapa bidang daripada yang lain (yaitu fisika vs matematika murni)? Atau apakah memilih bahasa berdasarkan faktor lain?
Saya sudah sering mendengar nama Fortran.
Saran?
Jawaban:
Sebagian besar turun ke perpustakaan numerik yang tersedia untuk Anda yang akan membantu menyelesaikan tugas Anda. C / C ++ memiliki sejumlah besar perpustakaan numerik yang diimplementasikan untuk mereka, tetapi menjadi bahasa tingkat rendah bukan yang terbaik untuk membuat prototipe sesuatu dengan cepat.
Saya pikir untuk segera menuju solusi, saya akan merekomendasikan menggunakan sesuatu seperti Matlab atau Mathematica. Mereka memiliki toolset yang besar dan levelnya sangat tinggi. Kemungkinan besar, implementasi Anda di sana tidak akan menjadi skala untuk penggunaan produksi, tetapi bisa menjadi taman bermain yang bagus untuk mencoba berbagai metode. Setelah Anda tahu jalan yang harus diambil, Anda selalu dapat mengimplementasikan sesuatu dalam C / C ++ secara lebih efisien.
sumber
Python!
Mengutip apa yang saya pikirkan adalah cara terbaik untuk mendekati masalah dalam komputasi ilmiah. Mulailah dengan membantu masalah dengan bermain-main dengan contoh mainan dalam skrip kecil. Menjadi lebih sistematis dan mengatur seperangkat kode. Kemudian buat kode Anda bekerja !!! Akhirnya, jika perlu, lakukan optimasi kode. Jangan menemukan kembali roda dan jangan melakukan optimasi prematur.
(Tambahan tambahan: Python datang gratis - tidak ada masalah lisensi, komunitas besar misalnya pada stackoverflow, modul untuk pemrograman yang baik sebagai pengujian unit atau pencatatan ...)
sumber
Coba Python seperti yang dijelaskan misalnya dalam buku Python Scripting for Computational Science .
sumber
Python bisa menjadi titik awal yang bagus. Mengikuti sumber daya adalah titik awal yang bagus.
http://www.openbookproject.net/thinkcs/python/english2e/
sumber
Fortran: Seperti Matlab, mudah dipelajari dan digunakan dan cepat menjadi produktif tetapi hanya bagus untuk komputasi numerik
C ++: Sulit untuk dikuasai (akan membawa Anda bertahun-tahun) tetapi banyak digunakan di luar komputasi numerik (keamanan pekerjaan)
Python: Banyak direkomendasikan akhir-akhir ini tetapi terlalu lambat untuk pekerjaan yang tidak sepele. Anda harus menulis semua kernel komputasi mahal yang mendasarinya di C dan kemudian memanggilnya dari Python yang berarti Anda harus belajar (setidaknya) dua bahasa
sumber
Jawaban singkat
Pelajari tentang dasar-dasar kode berorientasi objek melalui python, dan pelajari tentang dasar-dasar ilmu komputer melalui C. Saat Anda setidaknya cukup oke dengan kedua bahasa lainnya pelajari C ++, karena Anda dapat melakukan hampir semua hal dalam C ++ dan membuatnya berjalan cepat (meskipun butuh waktu lama untuk menulis).
Jawaban yang lebih panjang
Jadi, inilah masalahnya: untuk proyek pertama Anda, Anda akan berada di lab seseorang mengerjakan kode orang lain. Dalam hal ini mereka akan menjadi orang yang memilih bahasa pemrograman. Yang menurut saya pribadi agak hebat!
Maksud saya, sebagai pemula, Anda tidak benar-benar akan tahu apa yang Anda lakukan selama ini, dan, terutama ketika Anda tidak tahu apa yang Anda lakukan, belajar program bisa jadi hal yang sulit. Dengan demikian, ada baiknya memiliki struktur dan batasan yang berasal dari mengerjakan kode orang lain, dan ada baiknya memiliki motivasi dan kegembiraan yang hanya bisa datang dari bekerja pada proyek nyata.
Namun, terlepas dari bahasa apa pun yang digunakan lab Anda (terutama jika itu Matlab), Anda mungkin harus belajar python, C, dan C ++. Khususnya, jika Anda tidak berasal dari latar belakang ilmu komputer, Anda HARUS membaca Kernighan dan Ritchie "The C Programming Language". Umurnya 35 tahun dan memberi kesan berbeda bahwa penulisnya memprogram kartu punch, tetapi burung itu paling langka: buku ilmu komputer yang tak lekang oleh waktu. Ini akan membuat banyak hal menjadi lebih jelas.
sumber