Saya sedang merancang dan saat ini memikirkan kembali bahasa pemrograman tingkat rendah yang ditafsirkan dengan kemiripan dengan assembler.
Saya segera menemukan masalah keputusan fungsi/loop/gotos dan berpikir bahwa meskipun loop seperti while
dan for
akan menjadi level yang terlalu tinggi dan tidak sesuai, goto akan menjadi level yang terlalu rendah, tidak dapat dipertahankan, dan umumnya jahat lagi. Fungsi seperti yang Anda ketahui dari sebagian besar bahasa yang memiliki nilai kembalian dan argumen juga tidak sesuai dengan konsep bahasa tersebut.
Jadi saya mencoba mencari tahu sesuatu antara suatu fungsi dan goto yang mampu dilakukannya
- Pengulangan
- Loop yang efisien
Setelah beberapa pemikiran saya mendapat ide tentang subrutin:
- Mereka memiliki awal dan akhir seperti sebuah fungsi
- Mereka punya nama tetapi tidak ada argumen seperti goto
- Anda dapat melakukannya dengan jump dan keluar lagi sebelum berakhir dengan
return
(tidak memberikan hasil apa pun, hanya menghentikan subrutin) - Ditangani seperti kode normal -> Cakupan global seperti goto
Jadi saya ingin tahu:
- Apakah ide di atas bagus? Apa saja (dis) keuntungannya?
- Akankah ada kombinasi fungsi dan goto yang lebih baik atau bahkan ide yang benar-benar baru?