Saya baru-baru ini mulai belajar program di Scala, dan sejauh ini menyenangkan. Saya sangat suka kemampuan untuk mendeklarasikan fungsi di dalam fungsi lain yang sepertinya merupakan hal yang intuitif untuk dilakukan.
Salah satu kesal yang saya miliki tentang Scala adalah fakta bahwa Scala membutuhkan tipe pengembalian eksplisit dalam fungsinya . Dan saya merasa seperti ini menghalangi ekspresi bahasa. Juga hanya sulit untuk memprogram dengan persyaratan itu. Mungkin itu karena saya berasal dari zona kenyamanan Javascript dan Ruby. Tetapi untuk bahasa seperti Scala yang akan memiliki banyak fungsi yang terhubung dalam suatu aplikasi, saya tidak dapat membayangkan bagaimana saya melakukan brainstorming di kepala saya persis apa jenis fungsi tertentu yang saya tulis harus kembali dengan rekursi setelah rekursi.
Persyaratan deklarasi tipe pengembalian eksplisit tentang fungsi ini, jangan ganggu saya untuk bahasa seperti Java dan C ++. Rekursi di Jawa dan C ++, ketika itu terjadi, sering ditangani dengan 2 hingga 3 fungsi maks. Tidak pernah beberapa fungsi dirantai bersama seperti Scala.
Jadi saya kira saya bertanya-tanya apakah ada alasan bagus mengapa Scala harus memiliki persyaratan fungsi yang memiliki tipe pengembalian eksplisit?