Saya telah mendengar beberapa kali bahwa setiap programmer harus mempelajari satu dari setiap jenis bahasa. Sekarang, ini tidak selalu benar, tetapi saya percaya itu adalah ide yang bagus.
Saya telah belajar Bahasa Prosedural (Perl), tapi apa yang jenis lain?
Apa perbedaan di antara mereka dan apa beberapa contoh dari masing-masing?
programming-languages
paradigms
Dinamis
sumber
sumber
Jawaban:
Meskipun terminologi masih jauh dari standar, cara yang umum untuk mengkategorikan paradigma pemrograman utama menjadi
Anda sepertinya sudah tahu seperti apa pemrograman prosedural itu.
Dalam fungsional bahasa fungsi diperlakukan sebagai objek kelas. Dengan kata lain, Anda bisa meneruskan fungsi sebagai argumen ke fungsi lain, atau suatu fungsi dapat mengembalikan fungsi lainnya. Paradigma fungsional didasarkan pada kalkulus lambda, dan contoh bahasa fungsional adalah LISP, Skema, dan Haskel. Menariknya, JavaScript juga mendukung pemrograman fungsional.
Dalam pemrograman logis, Anda menentukan predikat yang menggambarkan hubungan antar entitas, seperti
president(Obama, USA)
ataupresident(Medvedev, Russia)
. Predikat ini bisa sangat rumit dan melibatkan variabel, bukan hanya nilai literal. Setelah Anda menentukan semua predikat Anda, Anda dapat mengajukan pertanyaan pada sistem Anda, dan mendapatkan jawaban yang konsisten secara logis.Gagasan besar dalam pemrograman logis adalah bahwa alih-alih memberi tahu komputer bagaimana menghitung sesuatu, Anda mengatakannya apa saja. Contoh: PROLOG.
Berorientasi pada objekParadigma dalam beberapa hal merupakan perluasan dari pemrograman prosedural. Dalam pemrograman prosedural, Anda memiliki data, yang bisa berupa tipe primitif, seperti bilangan bulat dan float, tipe majemuk, seperti array atau daftar, dan tipe yang ditentukan pengguna, seperti struktur. Anda juga memiliki prosedur Anda, yang beroperasi pada data. Sebaliknya, dalam OO Anda memiliki objek, yang mencakup data dan prosedur. Ini memungkinkan Anda memiliki hal-hal baik seperti enkapsulasi, pewarisan, dan polimorfisme. Contoh: Smalltalk, C ++, Java, C #.
Pemrograman generik pertama kali diperkenalkan di Ada pada tahun 1983, dan menjadi luas setelah pengenalan template di C ++. Ini adalah gagasan bahwa Anda dapat menulis kode tanpa menentukan tipe data aktual yang dioperasikannya, dan minta kompilator mengetahuinya. Misalnya alih-alih menulis
kamu akan menulis
sekali, dan minta kompilator membuat kode spesifik untuk apa pun yang
T
mungkin, ketikaswap()
sebenarnya digunakan dalam kode.Pemrograman umum didukung ke berbagai tingkatan oleh C ++, Java, dan C #.
Penting untuk dicatat bahwa banyak bahasa, seperti C ++, mendukung banyak paradigma. Juga benar bahwa bahkan ketika suatu bahasa dikatakan mendukung paradigma tertentu, ia mungkin tidak mendukung semua fitur paradigma itu. Belum lagi bahwa ada banyak ketidaksepakatan mengenai fitur yang diperlukan untuk paradigma tertentu.
sumber
Bahasa pemrograman memiliki sejumlah fitur yang sebagian besar ortogonal; yang paling menonjol terletak pada paradigma atau paradigma yang mereka dukung. The artikel wikipedia mencakup paradigma mendalam; paradigma yang paling penting mungkin adalah ini:
Tetapi bahasa juga berbeda dalam beberapa hal:
sumber
Ada beberapa paradigma pemrograman yang berbeda yang saat ini sedang populer:
sumber
Prolog adalah bahasa pemrograman logika dan relatif mudah untuk memulai. Ini membutuhkan pemikiran yang sama sekali berbeda dari pemrograman prosedural karena itu baik untuk mengeksplorasi ketika Anda mencoba untuk meregangkan otak Anda.
Jika Anda kuliah, Anda harus mengambil kursus Bahasa Pemrograman karena ditujukan untuk memperkenalkan berbagai jenis bahasa pemrograman dan apa yang paling baik digunakan untuk mereka.
sumber
Sebagian besar bahasa arus utama mencampur aspek pemrograman imperatif, fungsional, dan deklaratif. Bahasa ceruk cenderung lebih eksotis atau memperkenalkan ide-ide baru yang menarik, karena satu dan lain alasan, tidak cocok untuk pemrograman tujuan umum. Beberapa, tidak berarti lengkap, contoh:
(+/ % #)&.:*:
hitung RMS suatu array. Terkenal karena ringkas, terkenal karena tidak dapat dibaca.sumber