Saya akan memulai proyek simulasi / pemodelan. Saya sudah tahu bahwa OOP digunakan untuk proyek semacam ini. Namun, mempelajari Haskell membuat saya mempertimbangkan untuk menggunakan paradigma FP untuk pemodelan sistem komponen. Biarkan saya uraikan:
Katakanlah saya memiliki komponen tipe A, dicirikan oleh seperangkat data (parameter seperti suhu atau tekanan, PDE dan beberapa kondisi batas, dll.) Dan komponen tipe B, ditandai oleh serangkaian data yang berbeda (berbeda atau parameter yang sama, kondisi PDE dan batas yang berbeda). Mari kita juga berasumsi bahwa fungsi / metode yang akan diterapkan pada setiap komponen adalah sama (misalnya metode Galerkin). Keadaan objek yang dapat berubah akan digunakan untuk parameter yang tidak konstan.
Jika saya menggunakan pendekatan OOP, saya akan membuat dua objek yang akan merangkum data masing-masing jenis, metode untuk memecahkan PDE (warisan akan digunakan di sini untuk menggunakan kembali kode) dan solusi untuk PDE.
Di sisi lain, jika saya menggunakan pendekatan FP, masing-masing komponen akan dipecah menjadi bagian data dan fungsi yang akan bertindak atas data untuk mendapatkan solusi untuk PDE. Parameter non-konstan akan dilewatkan sebagai fungsi dari sesuatu yang lain (waktu misalnya) atau diekspresikan oleh semacam mutabilitas (emulasi dari mutabilitas, dll.) Pendekatan ini tampaknya lebih mudah bagi saya dengan asumsi bahwa operasi linear pada data akan sepele.
Untuk menyimpulkan, apakah menerapkan pendekatan FP sebenarnya lebih sederhana dan lebih mudah untuk dikelola (menambahkan jenis komponen yang berbeda atau metode baru untuk menyelesaikan pde) dibandingkan dengan yang OOP?
Saya berasal dari latar belakang C ++ / Fortran, ditambah lagi saya bukan programmer profesional, jadi perbaiki saya pada apa pun yang saya salah.