Dina iki kita bakal nyentuh babagan pemrograman fungsional. Luwih khusus, kita bakal ndeleng prabédan antarane program deklaratif lan imperatif.

Pisanan, ayo cepet-cepet ngrampungake syarat kasebut. Banjur kita bakal mbandhingake gaya pemrograman iki lan ndeleng kepiye carane katon ing Jawa lan apa basa kasebut ndhukung urip bebarengan sing seneng.

Pemrograman fungsional minangka paradigma ing ngendi fungsi dipahami minangka fungsi matematika, dudu subrutin, kaya ing pemrograman prosedural . Tegese, ing rong paradigma kasebut, tembung "fungsi" kasebut beda-beda. Elingi iki lan aja bingung. Jawa ora ngidini sampeyan bingung, amarga subprogram diarani minangka "metode", dene fungsi nuduhake fungsi matematika (uga: fungsi lambda utawa referensi metode).

Ing praktik, ing pemrograman prosedural, fungsi ora mung gumantung marang variabel input, nanging uga faktor eksternal (kayata variabel liyane ing njaba fungsi utawa kahanan sistem). Tegese nelpon fungsi sing padha karo argumen sing padha nanging ing konteks sing beda bisa ngasilake asil sing beda. Ing pemrograman fungsional, nalika fungsi diarani kanthi argumen sing padha, mesthi ngasilake asil sing padha, amarga fungsi mung gumantung marang data input.

Pros saka pemrograman fungsional

  • Ngapikake linuwih kode
  • Pengujian unit sing trep
  • Kesempatan kanggo optimasi kode sajrone kompilasi
  • Kesempatan kanggo concurrency

Cons saka pemrograman fungsional

Kekurangan pemrograman fungsional asale saka kabeh fitur sing padha:

  • Ora ana pernyataan tugas. Nanging, nilai anyar disimpen ing variabel anyar, ndadékaké perlu kanggo terus-terusan ngalokasi lan ngeculake memori kanthi otomatis. Akibaté, pangumpulan sampah sing efisien banget minangka bagéyan penting saka sistem apa waé sing nglakokaké program fungsional.

  • Evaluasi non-ketat tegese urutan panggilan fungsi ora bisa diprediksi, sing nggawe masalah I / O nalika urutan operasi penting.

Sing nyimpulake review cepet babagan pemrograman fungsional. Saiki ayo pindhah menyang gaya pemrograman.

Pemrograman imperatif minangka paradigma pemrograman sing ditondoi dening fitur-fitur ing ngisor iki:

  • Kode sumber program kasebut kalebu instruksi (pernyataan).

  • Pandhuan kudu ditindakake kanthi urutan.

  • Data sing digawe kanthi nglakokake instruksi sadurunge bisa diwaca saka memori kanthi instruksi sabanjure.

  • Data sing dipikolehi kanthi nglakokake instruksi bisa ditulis ing memori.

Ing ngisor iki fitur utama basa imperatif:

  • Panganggone variabel boolean.
  • Panganggone operator assignment.
  • Panganggone ekspresi majemuk.
  • Panganggone subrutin.

Program imperatif kaya pesen sing ditulis ing swasana imperatif ing basa alam. Ing tembung liyane, program imperatif minangka urutan perintah.

Basa pemrograman imperatif kalebu C lan C++.

Pemrograman deklaratif minangka paradigma pemrograman ing ngendi solusi kanggo masalah ditemtokake. Tegese, asil pungkasan diterangake, dudu cara kanggo nggayuh. HTML minangka conto saka basa deklaratif. Nalika nulis tag ing basa iki, kita ora mikir babagan carane unsur bakal digambar ing kaca. Kita mung nggambarake kaya apa kaca kasebut.

Basa pamrograman deklaratif liyane yaiku SQL.

Ayo mbandhingake rong gaya pemrograman kanthi nimbang conto urip nyata: kepiye carane nerangake marang wong kepiye carane tekan papan tartamtu?

Bayangna kahanan iki: ana wong sing teka ing dalan lan takon, "Piye carane aku bisa menyang museum?"

Kanthi pendekatan sing penting, kita bakal menehi algoritma babagan carane mlaku mlaku:

  • noleh kene
  • lumaku 2 pamblokiran ing garis lurus
  • noleh nengen

Kanthi pendekatan deklaratif, kita mung bakal menehi alamat, banjur wong kasebut bakal teka ing papan sing bener dhewe.

Jawa saiki dadi basa pemrograman multi-paradigma . Multi-paradigma tegese basa ndhukung sawetara paradigma.

Sajrone evolusi sing dawa, basa kasebut wis ngembangake model berorientasi obyek supaya pangguna duwe alat sing beda-beda lan bisa milih sing paling apik kanggo tugas tartamtu.

Akibaté, Jawa saiki ndhukung loro pendekatan imperatif (kayata nulis kode kanggo method calls) lan pendekatan deklaratif (kayata anotasi kasedhiya ing runtime).

Ayo ngringkes:

  • Ana macem-macem paradigma pemrograman.

  • Ana pendekatan deklaratif lan imperatif.

  • Sampeyan kudu milih salah siji sing paling cocok kanggo tugas ing tangan.

  • Jawa minangka basa multi-paradigma sing ndhukung loro pendekatan kasebut.