Pelajari Pemrograman Lisp: Pengenalan, Versi, dan Lainnya

Penyingkapan: Dukungan Anda membantu menjaga situs tetap berjalan! Kami mendapatkan biaya referensi untuk beberapa layanan yang kami rekomendasikan pada halaman ini.


Pemrograman Lisp

Lisp adalah keluarga bahasa pemrograman, pertama kali dikandung pada tahun 1958 dan akhirnya diimplementasikan pada tahun 1961. Hal ini menjadikannya bahasa tertua kedua yang masih umum digunakan, setelah Fortran.

Tetapi sementara Fortran terus perlahan memudar, Lisp masih merupakan bagian yang sangat penting dari lanskap ilmu komputer.

Lisp unik dalam beberapa hal. Untuk satu hal, setiap ekspresi dalam Lisp adalah daftar, salah satu dari dua tipe data utama dalam bahasa. (Inilah sebabnya mengapa disebut “Lisp.”)

Karena kode itu sendiri dapat dievaluasi sebagai tipe data dalam bahasa, Lisp cocok untuk rekursi dan introspeksi.

Selain itu – tidak seperti kebanyakan bahasa lain – kode Lisp adalah versi yang dapat dibaca manusia dari struktur data aktual karena diproses oleh sistem Lisp yang mendasarinya.

Ini berarti ada tingkat kesamaan yang tinggi antara bagaimana seorang programmer berpikir tentang suatu program, dan apa yang sebenarnya dilakukan oleh program “di bawah tenda”.

Lisp dapat digunakan untuk sejumlah aplikasi dan domain masalah, tetapi sangat berguna untuk Kecerdasan Buatan dan Pembelajaran Mesin.

Contents

Implementasi Lisp Standalone

Ini adalah tanda kegunaan Lisp bahwa ada begitu banyak versi yang berbeda. Ini termasuk bahasa mandiri dan juga bahasa yang dibangun di dalam aplikasi. Kami akan membahas keduanya di bawah ini.

Gangguan umum

Lisp umum adalah salah satu dialek Lisp yang paling populer. Ini pertama kali dirilis pada tahun 1984, dan menjadi standar ANSI satu dekade kemudian.

Itu merupakan peningkatan pada Maclisp. Tapi itu bukan satu-satunya versi Lisp yang bekerja pada Maclisp; ada beberapa yang lain. Tetapi komitmen Common Lisp terhadap standardisasi menjadikannya yang paling sukses.

Sumber Daya Lisp Umum

Jika Anda tertarik dengan Common Lisp, ada banyak cara untuk mempelajarinya.

Buku

Ada beberapa tutorial online untuk Common Lisp, jadi jika Anda benar-benar ingin mempelajari bahasa ini, Anda perlu berkonsultasi dengan satu atau lebih buku. Untungnya, ada banyak edisi online ini.

  • Dasar Umum: Pengantar Lembut untuk Perhitungan Simbolik
  • ANSI Common Lisp
  • Gangguan Umum Praktis
  • Pada Lisp: Teknik Lanjut untuk Lisp Umum
  • Lisp Sukses: Cara Memahami dan Menggunakan Common Lisp
  • Pemrograman Berorientasi Objek di COMMON Lisp: Panduan Programmer untuk CLOS
  • Seni Protokol Metaobject
  • Gangguan dalam Potongan Kecil
  • Elemen Kecerdasan Buatan Menggunakan Common Lisp
  • Biarkan Over Lambda

Banyak buku paling penting dan berpengaruh tentang Lisp ditulis pada tahun 1970-an dan 1980-an, dan sekarang tidak dicetak dan sulit ditemukan. Beberapa buku ini telah tersedia secara online, dan Anda dapat menemukan tautannya di bawah ini.

Sumber Daya Online

Yang Menarik dari Sejarah

Lisp adalah bahasa yang secara historis menarik. Perkembangannya terkait erat dengan pengembangan Kecerdasan Buatan dan pembelajaran mesin. Ini juga salah satu bahasa paling unik yang umum digunakan, dengan sintaks dan logika internal yang sangat berbeda dari kebanyakan bahasa lainnya.

Perbedaan-perbedaan ini adalah bagian dari perdebatan yang sedang berlangsung dalam komunitas ilmu komputer tentang sifat komputasi dan tata bahasa yang tepat untuk pemrograman.

Siapa pun yang meluangkan waktu untuk mempelajari Common Lisp hari ini harus membuat titik untuk menjelajahi beberapa sejarah bahasa.

  • Fungsi Rekursif dari Ekspresi Simbolik dan Perhitungannya dengan Mesin – Ditulis pada tahun 1960, oleh John McCarthy. Ini adalah kertas asli yang menggambarkan apa yang akan menjadi Lisp.
  • Dasar untuk Teori Matematika Komputasi – Sebuah makalah yang ditulis oleh McCarthy pada tahun 1961, mengeksplorasi banyak ide dari makalah “Fungsi Rekursif”. Juga lihat kertas pendamping, Menuju Ilmu Matematika Perhitungan.
  • Lisp – Catatan tentang Masa Lalu dan Masa Depannya – McCarthy menulis artikel ini pada 1980, 20 tahun setelah Lisp dirilis.
  • VIDEO: Kecerdasan Buatan

John McCarthy (1927-2011) adalah seorang Profesor Ilmu Komputer sejak lama di Stanford University. Halaman rumahnya adalah harta karun dari artikel menarik tentang AI, Lisp, ilmu komputer teoretis, dan topik terkait.

Pelajari Lisp

Tidak banyak tutorial online untuk Common Lisp, karena ada bahasa yang lebih populer seperti PHP atau Ruby. Namun, ada banyak buku tentang Lisp yang telah dirilis sebagai edisi online.

Banyak dari ini ditulis pada tahun 1970-an dan 80-an, meskipun pasti ada beberapa sumber daya yang lebih kontemporer juga.

  • On Lisp – Edisi online dari buku hebat karya Paul Graham.
  • Dasar Umum: Pengantar Lembut untuk Perhitungan Simbolik
  • Lisp in Small Parts – Serangkaian tutorial singkat
  • Practical Common Lisp – Edisi online lengkap dari buku pengantar klasik dengan nama yang sama.
  • Land of Lisp – Situs web dan buku yang lucu dan istimewa, mengajar orang cara menggunakan Lisp.
  • Learn Common Lisp – Pelajari X dalam Y menit, di mana X = Common Lisp.
  • ELM-ART Lisp Course – Belajar menggunakan Lisp dengan Episodic Learner Model di Adaptive Remote Tutor
  • Mulai Cepat
  • LispTutor Jr
  • Casting Spels dalam Lisp
  • Common Lisp: Suatu Pendekatan Interaktif
  • Tips Gaya Lisp untuk Pemula
  • Panduan Sangat Opini Pascal Costanza untuk Lisp

Bacaan wajib:

  • Keadaan Ekosistem Lisp Umum.
Referensi dan Dokumentasi Cidera

Lebih dari sebagian besar bahasa lain, jika Anda mulai bekerja dengan Lisp Anda akan perlu berkonsultasi dengan bahan referensi secara rutin. Berikut adalah beberapa karya referensi Common Lisp yang lebih umum digunakan yang tersedia online.

  • Wikibook Lisp Umum
  • Lisp HyperSpec umum
  • Cliki: The Common Lisp Wiki
  • Dokumentasi Lisp Umum LispWorks
  • Cookbook Lisp Umum
  • Google Common Lisp Style Guide – Cara menulis Common Lisp seperti cara Google menulis Common Lisp. (Apakah Anda tahu bahwa Google sedang menulis Common Lisp?)
  • Umum Gangguan Bahasa
Topik Khusus dalam Pemrograman Lisp

Lisp adalah, pada kemampuannya sendiri, bahasa yang cukup khusus. Berikut adalah beberapa sumber tentang masalah khusus khusus di Common Lisp.

  • Paradigma Pemrograman Kecerdasan Buatan: Studi Kasus dalam Common Lisp – Lihat juga buku ini.
  • Sistem Objek Gangguan Umum
Alat Gantung

Jika Anda ingin mencapai sesuatu yang penting dengan Common Lisp, Anda akan membutuhkan dukungan bahasa yang lebih besar – perpustakaan, plugin, alat pengembangan, kerangka kerja.

Berikut adalah beberapa alat paling populer yang digunakan Lispers untuk menyelesaikan sesuatu.

  • ACL2 – Logika Komputasi untuk Lisp Umum yang Berlaku
  • Macro Pembaca di Common Lisp – Macro Pembaca memungkinkan Anda untuk membuat sintaks yang sama sekali baru di atas Lisp
  • Quicklisp – Manajer perpustakaan untuk Common Lisp
  • Clack – Lingkungan aplikasi web untuk Common Lisp. Beberapa kerangka kerja aplikasi web telah dibangun di atasnya:
    • Manusia gua
    • Ningle
    • Lucerne
  • Parenscript – Menerjemahkan Common Lisp ke Javascript
  • jscl – Lain kompiler Lisp untuk JavaScript
  • Roswell – Penginstal baris perintah untuk Common Lisp
  • CommonQT – Ekstensi Common Lisp untuk QtTools, memberikan solusi GUI.
  • CLML – Pustaka Pembelajaran Common Lisp Machine
  • MGL – Perpustakaan pembelajaran mesin lainnya
  • Antik – perpustakaan menyediakan alat untuk perhitungan ilmiah dan teknik
  • Crane – ORM untuk Common Lisp.
  • cl-dbi – Lapisan abstraksi basis data
  • CEPL – Perpustakaan grafik. (Lihat seri tutorial video mereka yang luas.)
  • Iron Clad – Alat Kriptografi.
  • SLIME – IDE standar untuk Common Lisp.
Budaya dan Komunitas Lisp

Lebih dari bahasa lain, Lisp memiliki budaya sendiri – adat istiadat, humor, dan tradisi. Beberapa dari ini kembali ke akarnya di departemen ilmu komputer universitas.

Selain itu, beberapa di antaranya terkait dengan budaya hacker geek awal, dan beberapa di antaranya adalah hasil dari kekhasan bahasa itu sendiri dan jenis aplikasi yang biasa digunakan untuk.

Jika Anda benar-benar ingin memahami Lisp, Anda tidak bisa hanya belajar bahasa – Anda harus mempelajari budaya dan menjadi bagian dari komunitas (aneh dan indah) ini.

  • Forum Lisp
  • Lokakarya tentang Realitas Psikologis Lisp
  • Kutipan tentang Lisp
  • Pembicaraan dengan Alan Kay
  • Api abadi
  • Gangguan Humor
  • Film Gangguan Umum
  • Video Musik Land of Lisp
  • Planet Lisp
  • Lisp Meetings – juga periksa [@lispmeetings di Twitter] (https://twitter.com/lispmeetings)

Bacaan wajib:

  • Gödel, Escher, Bach: An Eternal Golden Braid, oleh Douglas R. Hofstadter – Buku ini tidak terkait langsung dengan Lisp (meskipun sedikit dibicarakan tentangnya). Tetapi itu adalah batu ujian budaya dan intelektual yang sangat penting bagi orang-orang di sejumlah domain berbeda yang dihuni Lisp: kecerdasan buatan, pembelajaran mesin, logika matematika, dan rekursi. Buku ini akan mengubah cara Anda berpikir, dan Anda akan lebih berpikir seperti orang yang menggunakan Lisp.
Implementasi Gangguan Umum

Lisp adalah sebuah ide, dan Common Lisp adalah sebuah bahasa – itu bukan teknologi spesifik. Berikut ini adalah beberapa implementasi Common Lisp yang lebih populer.

  • Clisp – GNU Clisp, sebuah implementasi dari ANSI Common Lisp
  • GCL – Implementasi Common Lisp lainnya
  • CMUCL – implementasi Common Lisp bebas kinerja tinggi. Editor Hemlock disertakan.
  • Allegro CL
  • Clozure Common Lisp
  • Steel Bank Common Lisp
Video

Pelajari tentang Lisp dengan menonton. Video-video ini menjalankan keseluruhan dari tutorial dasar hingga eksplorasi mendalam tentang logika dan filosofi Lisp.

  • Berpikir Seperti Seorang Pemrogram Lisp
  • Lisp Praktis Umum – Google Tech Talk
  • Pengantar singkat untuk Lisp
  • Lisp – Google Tech Talk
  • Masalah umum: mengapa makro bagus
  • Common Lisp – Cara Memulai Proyek Baru
  • Pengembangan game interaktif dengan lisp umum
  • LiveCoding di CommonLisp
  • Patrick Stein di Vimeo
  • Tutorial Lisp Umum oleh Baggers

Bahasa dan Dialek Terkait

Lisp bukan bahasa tunggal, tetapi keluarga bahasa – sebuah ide tentang bagaimana melakukan pemrograman komputer. Lisp umum adalah implementasi Lisp yang paling populer, tetapi beberapa lainnya ada.

Dialek utama Lisp adalah:

  • Skema – Skema adalah “pesaing” terkemuka untuk Common Lisp.
  • Clojure – Clojure adalah dialek Lisp yang saat ini mulai populer. Dibangun untuk dijalankan di Java Virtual Machine.

Tanya Jawab Umum

Apa itu Lisp??

Lisp adalah keluarga bahasa pemrograman komputer yang pertama kali dikembangkan pada akhir 1950-an. Lisp adalah singkatan dari List Processing, nama yang merujuk pada fakta bahwa bahasa menggunakan daftar sebagai struktur data primernya, dan juga untuk sintaks pemrogramannya.

Apa itu Common Lisp?

Common Lisp adalah dialek Lisp yang dikembangkan pada awal 1980-an, sebagai upaya untuk membuat Lisp versi tunggal (umum). Ini adalah salah satu dari dua versi bahasa yang paling populer (bersama dengan Skema).

Untuk apa Lisp digunakan?

Lisp dapat digunakan untuk semua jenis aplikasi, tetapi sangat menarik untuk Intelegensi Buatan, pembelajaran mesin, dan bentuk pemrograman lanjutan lainnya yang membutuhkan logika rekursif.

Mengapa Lisp populer dengan Kecerdasan Buatan?

Setidaknya ada dua alasan untuk ini.

Pertama, struktur data primer Lisp (daftar) juga merupakan struktur sintaks pemrogramannya. Yaitu, data dan instruksi tentang data mengambil bentuk yang sama. (Ini disebut homoiconicity.)

Ini berarti bahwa Lisp dapat digunakan untuk menganalisis sendiri, atau untuk memodifikasi sendiri. Banyak ahli di bidang Kecerdasan Buatan, serta banyak filsuf dan pemikir dalam domain terkait, menganggap jenis introspeksi rekursif ini sebagai landasan bagi kecerdasan nyata dan sadar-diri. Selain itu, kemampuan suatu program untuk mengubah dirinya berdasarkan input adalah inti dari pembelajaran mesin.

Alasan kedua untuk popularitas Lisp dalam AI adalah bahwa sintaks kontrol untuk bahasa tersebut sangat mirip dengan logika komputasi yang mendasarinya. Ini memberi programmer Lisp wawasan yang lebih dalam tentang bagaimana komputer benar-benar menafsirkan logika dan sintaksis program daripada yang mungkin dilakukan dengan bahasa lain.

Clojure

Clojure adalah bahasa pemrograman yang relatif baru (2007). Ini adalah dialek Lisp, dirancang untuk dijalankan di Java Virtual Machine.

Apa itu Java Virtual Machine?

JVM adalah komputer virtual yang mengkompilasi dan menjalankan Java dan bahasa lainnya. JVM adalah sebuah ide, bukan perangkat lunak khusus – salah satu implementasi JVM yang paling populer adalah HotSpot dari Oracle.

Gagasan di balik Java dan JVM adalah bahwa Anda dapat menulis sebuah program di Java (atau bahasa lain yang didukung), dan mengompilasinya untuk JVM. Kemudian, Anda bisa menjalankannya di komputer mana pun yang menjalankan JVM. Ini membuatnya sangat portabel – Anda dapat menulis kode sekali, dan menjalankannya di mana saja.

Clojure: Tertinggal di JVM

Java ada di mana-mana, yang artinya Java Virtual Machines ada di mana-mana. Membuat versi Lisp yang berjalan pada JVM memungkinkan untuk menjalankan Lisp di mana saja. Itu adalah motivasi utama untuk menciptakan Clojure, dan alasan yang bagus untuk belajar bahasa.

Manfaat lain adalah bahwa Clojure menyediakan akses, melalui JVM, ke alat yang tak terhitung jumlahnya dan perpustakaan pihak ketiga yang ditulis di Jawa. Ini memberi Clojure ekosistem pengembangan yang lebih kuat daripada yang sebelumnya tersedia untuk dialek Lisp apa pun.

Tutorial Clojure

  • Memulai dengan Clojure dan Pengantar Clojure memberikan pengantar yang jelas dan cepat ke bahasa.
  • Clojure Programming adalah wikibook open source yang luas tentang bahasa.
  • Belajar X dalam Y menit, Di mana X = clojure adalah pengantar satu-duduk yang baik untuk bahasa, untuk orang-orang dengan keterampilan pemrograman yang ada dalam bahasa lain.
  • Clojure – Pemrograman Fungsional untuk JVM adalah tutorial terperinci yang ditujukan untuk pengembang Java.
  • Bahasa Clojure adalah seri tutorial video 25 bagian yang memperkenalkan bahasa tersebut.
  • Clojure Distilled adalah tutorial / esai yang harus dibaca yang mencakup tidak hanya sintaks dan kosakata bahasa, tetapi juga filosofi di baliknya; itu mencoba untuk menyaring bagaimana pengembang Clojure berpikir tentang masalah, dan mengeksplorasi cara memecahkan masalah yang mungkin baru bagi pengembang yang datang dari bahasa lain.
Sumber Daya Lain untuk Mempelajari Clojure
  • Coba Clojure, adalah penerjemah Clojure online, memungkinkan Anda mendapatkan pengalaman Clojure di browser sebelum menginstalnya secara lokal.
  • ClojureTV memiliki tutorial video dan pembicaraan langsung tentang berbagai topik pengembangan Clojure.
  • 4clojure adalah situs pembelajaran interaktif dengan latihan pemrograman di Clojure.
  • Full Disclojure adalah saluran video lain dengan banyak video tutorial Clojure yang hebat.
  • Panduan Pemula Clojure adalah sumber yang bermanfaat yang menunjukkan pengembang Clojure baru ke semua alat dan sumber daya penting yang membentuk ekosistem Clojure.

Bahan Referensi Clojure

  • Panduan Gaya Clojure adalah panduan yang ditulis komunitas untuk praktik terbaik untuk menulis kode Clojure yang jelas dan dapat dipelihara.
  • ClojureDocs dan Grimoire keduanya adalah pendamping tidak resmi untuk dokumentasi resmi, memberikan komentar dan contoh yang bersumber dari komunitas.
  • Clojure Cheatsheet adalah halaman referensi cepat untuk semua hal kecil yang hanya perlu Anda ingat.

Belajar Komunitas dan Berkelanjutan

  • Clojure Subreddit adalah forum yang sangat aktif untuk mengajukan pertanyaan dan berinteraksi dengan komunitas Clojure;
  • Clojure Google Group dan Mailing List adalah tempat yang baik untuk mengajukan pertanyaan dan mendapatkan dukungan untuk pengembangan Clojure;
  • Disclojure adalah situs populer untuk berita dan acara Clojure;
  • Planet Clojure mengumpulkan artikel paling penting dari blog Clojure teratas.

Buku tentang Clojure

Ada banyak buku tentang Clojure. Inilah yang direkomendasikan komunitas Clojure berulang kali:

  • Clojure for the Brave and True (2015), oleh Daniel Higginbotham, adalah panduan yang harus dibaca untuk bahasa ini. Ini juga tersedia untuk membaca online gratis, dan membentuk dasar untuk situs web yang fantastis penuh dengan sumber daya Clojure.
  • Clojure Cookbook (2014), oleh VanderHart dan Neufeld, adalah ringkasan dari resep dan ide Clojure. Ini tersedia sebagai buku cetak dan proyek sumber terbuka di GitHub.
  • Rak Buku Pragmatis memiliki beberapa buku hebat tentang Clojure:
    • Programming Clojure (2012), oleh Halloway dan Bedra;
    • Mastering Clojure Macros: Write Cleaner, Faster, Smarter Code (2014), oleh Colin Jones;
    • Clojure Diterapkan: Dari Praktik ke Praktisi (2015), oleh Vandgrift dan Miller;
    • Pengembangan Web dengan Clojure: Bangun Aplikasi Web Bulletproof with Less Code (2016), oleh Dmitri Sotnikov.
  • Praktis Clojure (2010), oleh VanderHart dan Sierra, dan Pemrograman Rak Buku Pragmatis Clojure (disebutkan di atas) adalah dua buku pertama yang diterbitkan tentang bahasa Clojure. Buku Pragmatis berisi lebih banyak contoh kode yang lebih baik, sementara buku dari Apress ini memiliki penjelasan yang lebih masuk akal. Kedua buku ini menentukan cara sebagian besar pengembang Clojure berpikir tentang bahasa tersebut, dan karenanya harus dibaca oleh siapa pun yang serius untuk mempelajarinya..
  • Clojure Programming (2012), oleh Emerick, Carper, dan Grand, adalah pengantar bahasa yang sangat jelas, terutama bagi orang-orang yang datang dari pemrograman berorientasi web dan bahasa scripting seperti PHP dan Python.
  • Living Clojure (2015), oleh Carin Meier, adalah panduan yang sangat praktis untuk bahasa ini, dengan asumsi yang membantu bahwa pembaca memahami pemrograman pada umumnya. Buku ini mencakup rencana pembelajaran terstruktur yang dirancang untuk pembelajaran mandiri atau pelatihan perusahaan.

Haruskah saya belajar Clojure?

Mungkin.

Ini adalah kebenaran yang diterima secara luas bahwa setiap pengembang harus mempelajari Lisp, meskipun Anda mungkin tidak akan menggunakannya. Tetapi sekarang kekuatan Lisp telah digabungkan dengan keberadaan Jawa, bahasa yang baik untuk dipelajari dan sangat berguna.

Pengembang Clojure yang baik sangat dicari dan dibayar dengan baik, dan bahasanya semakin populer.

Jika Anda mencari keterampilan pemrograman untuk membedakan Anda dari pengembang lain, Clojure adalah salah satu alat terbaik untuk ditambahkan ke kit Anda – dan ke resume Anda.

Skema

Jika Anda sedikit lebih tua, dan Anda menghadiri kursus pengantar ilmu komputer di sekolah menengah atau universitas, kemungkinan Anda menggunakan bahasa pemrograman Skema lama yang baik dalam kursus itu..

Sejarah Singkat Skema

Untuk lebih memahami sejarah Skema, kita harus melihat tahap awal dari komputasi modern. Pengembangan Skema dipengaruhi oleh dua pendahulu yang sangat berbeda: bahasa pemrograman Lisp dan ALGOL.

Lisp diciptakan pada tahun 1958 oleh Massachusetts Institute of Technology (MIT) John McCarthy. Skema diturunkan dari Lisp, menggunakan semantik umum dan sintaksisnya. Selain itu, Skema dipinjam dari ALGOL. Itu telah dikembangkan oleh komite ilmuwan komputer Eropa dan Amerika pada pertemuan pada tahun 1958, di ETH Zurich. Skema menggunakan struktur blok dan ruang lingkup leksikal.

Pada tahun 1973, Guy L Steele dari MIT dan Gerald Jay Sussman memulai upaya untuk mengimplementasikan model Aktor Carl Hewitt dalam kalkulus Lambda. Mereka melakukan ini dengan menulis interpreter Lisp kecil di MacLisp dan menambahkan mekanisme untuk membuat aktor dan mengirim pesan. Selama pekerjaan mereka, mereka menyadari bahwa mereka menciptakan dialek Lisp yang sangat kecil dan mampu, dan mereka menamakannya Skema.

Pada tahun 2003, lokakarya Skema memulai proses standardisasi baru untuk Skema, dan akhirnya merilis R6RS standar yang telah diratifikasi pada tahun 2006. Rilis stabil terakhir Skema diratifikasi R7RS standar dari 2013.

Fitur Skema

Skema adalah bahasa pemrograman fungsional utama, dengan daftar sebagai struktur data utama, dan dukungan untuk fungsi kelas satu. Ini adalah bahasa pemrograman yang sederhana, minimalis, dan mudah diterapkan. Filosofi minimalis ini telah menyebabkan perbedaan yang luas antara implementasi Skema praktis, sampai-sampai Komite Pengarah Skema menyebutnya “bahasa pemrograman yang paling tidak dapat ditiru” dan “keluarga dialek” daripada satu bahasa. Tidak seperti turunan Lisp sebelumnya dengan pelingkupan dinamis, Skema dibatasi secara leksikal (pengaruh dari ALGOL).

Dalam Skema, blok diimplementasikan dengan konstruksi berikut: membiarkan, membiarkan* dan letrec. Struktur blok ini juga diwarisi dari ALGOL. Iterasi membangun melakukan digunakan dalam Skema, dan dukungan untuk iterasi menggunakan rekursi ekor juga disediakan. Kelanjutan dalam Skema adalah objek kelas satu dan didukung oleh panggilan-dengan-kelanjutan saat ini Prosedur skema (juga dikenal sebagai telepon / cc). Dalam Skema, semua data dan prosedur berbagi ruang nama yang sama, dan input dan output didasarkan pada Pelabuhan tipe data.

Menara numerik adalah sekumpulan tipe data numerik yang kompleks dan rasional yang ditentukan dan diimplementasikan dalam Skema. Evaluasi yang tertunda didukung dalam Skema melalui menunda bentuk dan memaksa prosedur.

Implementasi dan Penggunaan Skema

Karena kesederhanaan dan minimalisnya, perpustakaan Skema menjadi sangat populer di kalangan perancang bahasa pemrograman, pendidik, dan penghobi. Ini menghasilkan banyak implementasi dan dialek Skema yang berbeda. Loop read-eval-print Lisp tradisional didukung di sebagian besar implementasi Skema, dan beberapa juga mengkompilasi program skema ke binari yang dapat dieksekusi.

Kesederhanaan implementasi Skema juga membuatnya menjadi pilihan populer untuk menambahkan kemampuan skrip ke sistem yang lebih besar. Selain itu, implementasi Skema JScheme dan Kawa menyediakan integrasi dengan kelas Java.

Skema ini terutama digunakan dalam pendidikan. Dalam banyak ilmu komputer pengantar dan program desain program untuk menunjukkan dasar-dasar pemrograman komputer. Penggunaan penting lain dari Skema termasuk penemu Google App untuk Android, editor grafis GIMP, Semantik Gaya Dokumen dan Bahasa Spesifikasi (DSSSL), dan sebagainya.

Skema Belajar

Karena penggunaan Skema pendidikan yang meluas, mempelajarinya dan menemukan sumber daya untuk pembelajaran seharusnya tidak menimbulkan masalah. Ada banyak sumber belajar yang tersedia, baik gratis maupun komersial, dan kami memilih beberapa di antaranya.

Kursus dan Sumber Daya Skema

Karena Skema adalah bahasa pemrograman yang minimalis dan efisien, ia relatif mudah dikuasai. Dengan kursus dan tutorial ini, Anda mungkin akan dapat memulai pemrograman dalam Skema dalam waktu singkat.

  • Struktur dan Interpretasi Program Komputer adalah kursus pengantar MIT 6.001 dengan banyak sumber daya yang berguna untuk Skema termasuk ceramah video, buku teks online, proyek, transkrip, dan catatan kuliah pilihan.
  • DrScheme adalah lingkungan pengembangan terintegrasi (IDE) untuk menulis, men-debug dan menganalisis program-program Skema, juga digunakan dalam pendidikan.
  • Pilo Visual Tools for Scheme (PVTS) adalah implementasi interpreter Skema dasar dengan alat visualisasi. Ini ditulis dalam Java dan memiliki kemampuan juru bahasa yang sangat terbatas, dengan tujuan tunggal untuk menampilkan kode Skema secara grafis sebagai alat bantu belajar.
  • Schemers.org memiliki koleksi dokumentasi dan teks pengantar yang bagus untuk Skema.
Buku Skema

Banyak buku Skema tersedia, dan banyak di antaranya gratis dan digunakan dalam kursus pendidikan. Ini bisa sangat membantu jika Anda baru mulai mempelajari bahasa pemrograman Skema.

  • Struktur dan Interpretasi Program Komputer oleh Abelson, Sussman dan Sussman adalah buku ilmu komputer yang sangat baik yang digunakan dalam kursus pengantar di MIT. Ini adalah salah satu Alkitab dari dunia Lisp dan Skema dan tersedia online secara gratis, dari MIT Press.
  • Cara Mendesain Program: Pengantar Komputasi dan Pemrograman oleh Felleisen, Findler, Flatt dan Krishnamurthi memberikan pengantar yang sangat bagus untuk logika pemrograman. Ini gratis dan tersedia online, diterbitkan oleh MIT Press.
  • Bahasa Pemrograman Skema, Edisi Keempat oleh R Kent Dybvig dimaksudkan untuk memberikan pengantar bahasa pemrograman Skema, tetapi bukan pengantar pemrograman secara umum. Ini gratis dan tersedia online, diterbitkan oleh MIT Press.
  • The Little Schemer – Edisi ke-4 oleh Friedman dan Felleisen memperkenalkan komputasi sebagai perpanjangan aritmatika dan aljabar, dan program sebagai fungsi rekursif. Buku ini tidak gratis.
  • Schemer berpengalaman juga oleh Friedman dan Felleisen, menginformasikan pembaca tentang dimensi tambahan komputasi: berfungsi sebagai nilai, perubahan keadaan, dan kasus luar biasa. Buku ini tidak gratis.
  • Cara Menggunakan Skema: Menulis Skrip dan Program dengan Skema PLT oleh Felleisen, Findler, Flatt, Krishnamurthi, Steckler akan memperkenalkan Anda pada beberapa ide dasar yang cantik, seperti input dan output file, ke hal-hal yang lebih maju, seperti desain GUI sederhana dan skrip Web aspek Skema. Ini tersedia secara online secara gratis.

Apakah Skema Tepat untuk Anda?

Skema tidak hanya cara yang baik untuk belajar cara memprogram, tetapi juga cara yang baik untuk mulai belajar ilmu komputer. Alasan-alasan ini seharusnya membuat Anda menuju ke arah yang benar.

Implementasi Aplikasi Lela

Lisp sangat berguna sehingga sering digunakan sebagai bahasa scripting untuk aplikasi. Dua terbesar adalah editor teks Emacs dan aplikasi AutoCAD desain komputer-aided (CAD). Kami akan melihat keduanya di bawah.

AutoLISP

Jika Anda menggunakan perangkat lunak desain berbantuan komputer (CAD), seperti AutoCAD, Bricscad, atau IntelliCAD, pada titik tertentu Anda cenderung memerlukan fitur penyesuaian atau otomatisasi tambahan di lingkungan CAD Anda.

Di sinilah AutoLISP masuk. AutoLISP adalah bahasa pemrograman yang sederhana dan ringan yang dibuat khusus untuk digunakan dengan perangkat lunak CAD.

Sejarah Singkat AutoLISP

AutoLISP adalah dialek bahasa pemrograman Lisp, yang disesuaikan dan disederhanakan untuk digunakan dalam lingkungan AutoCAD.

Lisp adalah keluarga bahasa pemrograman sejak 1958. Nama Lisp berasal dari “Daftar Prosesor,” dan daftar tertaut adalah salah satu struktur data utama Lisp.

AutoLISP pertama kali diperkenalkan di Autodesk’s AutoCAD versi 2.18 pada tahun 1986, dan terus ditingkatkan dalam rilis baru hingga rilis 13 pada tahun 1995, ketika Autodesk menghentikan pengembangan AutoLISP demi lingkungan pengembangan yang lebih modern seperti VBA atau .NET.

Meskipun demikian, AutoLISP tetap menjadi bahasa kustomisasi utama bagi banyak pengguna AutoCAD.

Pada tahun 1997 Autodesk merilis AutoCAD 14, dan memperkenalkan Visual Lisp sebagai tambahan komersial untuk AutoCAD. Visual Lisp termasuk lingkungan pengembangan terintegrasi (IDE), debugger dan kompiler, dan dukungan ActiveX.

Dengan rilis AutoCAD 2000 pada tahun 1999, Visual Lisp dimasukkan dalam AutoCAD sebagai pengganti AutoLISP. Sejak itu, peningkatan besar pada Visual Lisp telah dihentikan oleh Autodesk untuk fokus pada VBA, .NET, dan C++.

Visual Lisp dan AutoLISP tetap didukung di AutoCAD hingga hari ini, sementara dukungan untuk versi VBA lebih tua dari 7,1 telah dijatuhkan pada 31 Januari 2014.

Banyak vendor perangkat lunak CAD lainnya juga mengadopsi dukungan untuk AutoLISP dalam produk mereka sendiri, karena basis pengguna yang besar, serta banyak utilitas dan aplikasi yang tersedia di AutoLISP.

Mengapa Orang Masih Menggunakan AutoLISP Alih-alih C++?

Jika Anda menggunakan versi lengkap Autodesk AutoCAD, kompiler AutoLISP sudah termasuk dalam AutoCAD dan siap digunakan. Ada juga onboard IDE yang bagus – Visual Lisp. Harap perhatikan bahwa edisi AutoCAD LT tidak memiliki dukungan bawaan untuk AutoLISP.

Sebagian besar pengguna AutoCAD, atau pengguna solusi CAD yang serupa, tidak terbiasa dengan pemrograman dan bahasa pemrograman, sehingga mempelajari C ++ untuk membuat program sederhana atau fungsi untuk otomatisasi di AutoCAD tidak akan praktis.

AutoLISP sederhana, ramping, dan jauh lebih mudah digunakan dan dipelajari daripada C ++ atau Visual Basic, dan semua yang Anda butuhkan untuk memulai pemrograman sudah termasuk dalam AutoCAD.

Program dan utilitas yang ditulis dalam AutoLISP mudah diakses dan dieksekusi dari AutoCAD. Ini adalah alasan utama yang menjadikan AutoLISP pilihan terbaik untuk menyesuaikan AutoCAD oleh para penggunanya.

Fitur AutoLISP

AutoLISP adalah bahasa interpretatif, tidak dikompilasi, sehingga dapat disimpan dalam file teks ASCII, dimuat, dan kemudian dieksekusi langsung dalam AutoCAD.

Hampir semua operasi yang Anda lakukan secara manual di AutoCAD dapat dilakukan secara otomatis menggunakan AutoLISP.

AutoLISP memiliki serangkaian fungsi yang dapat Anda gunakan untuk melakukan aktivitas apa pun di AutoCAD, seperti fungsi pemrograman umum untuk manipulasi variabel, kontrol keputusan, loop, operasi aritmatika, penanganan kesalahan dan penanganan fungsi.

Ini juga memiliki fungsi khusus dalam sejumlah bidang seperti: geometri, kontrol tampilan, permintaan dan perintah, input pengguna, dan penanganan objek.

AutoLISP juga dilengkapi Dialog Control Language, bahasa mini GUI bawaan untuk membuat kotak dialog modal dengan tata letak otomatis di AutoCAD. Semua platform yang dapat menjalankan AutoCAD juga mendukung AutoLISP.

Belajar AutoLISP

Ada faktor-faktor tertentu yang dapat membuat belajar AutoLISP lebih mudah.

Jika Anda adalah pengguna AutoCAD yang berpengalaman, mempelajari AutoLISP akan lebih mudah bagi Anda. AutoLISP pada dasarnya adalah cara untuk mengendalikan AutoCAD, jadi semakin baik Anda tahu AutoCAD, semakin baik Anda akan tahu apa yang perlu dilakukan untuk mengendalikannya secara otomatis.

Tutorial AutoLISP

AutoLISP adalah bahasa yang sangat sederhana untuk dipelajari, dan mungkin yang paling produktif dari berbagai Application Programming Interfaces (APIs) yang ada di dalam AutoCAD. Dengan tutorial ini, Anda mungkin akan siap untuk menulis program bermanfaat Anda sendiri dalam waktu singkat.

  • AfraLISP memiliki koleksi tutorial belajar gratis AutoLISP yang luar biasa, dan sumber daya untuk pengguna pemula, menengah dan lanjutan.
  • Panduan Pengembang AutoLISP resmi Autodesk memberikan ikhtisar langkah demi langkah topik utama dan alur kerja untuk menggunakan bahasa pemrograman AutoLISP. Yang juga menarik adalah referensi fungsi AutoLISP resmi mereka, yang pasti akan berguna saat pemrograman di AutoLISP.
  • Menguasai AutoLISP dalam 80 Menit adalah presentasi Power Point dari Augi CAD Camp 2005, gratis untuk diunduh. Ini mencakup dasar-dasar AutoLISP dan ditujukan untuk pengguna AutoCAD menengah.
  • Mulai Cepat AutoLISP di CADTutor.net ditujukan untuk pengguna AutoCAD yang ingin mulai belajar AutoLISP.
  • Program AutoLISP Pertama Anda: Zoom to Origin adalah tutorial singkat yang menunjukkan dasar-dasar penulisan program AutoLISP pendek di Visual Lisp Editor di AutoCAD.
  • Program Lee Mac memiliki sumber daya yang menarik untuk AutoLISP, seperti tutorial dan banyak program AutoLISP fungsional yang dapat Anda unduh dan pelajari.
Buku AutoLISP

Banyak buku yang berurusan dengan AutoLISP dan penggunaannya di AutoCAD tersedia secara luas. Anda mungkin menemukan beberapa buku ini sangat membantu dalam mempelajari cara memprogram di AutoLISP, meskipun kami sarankan untuk membaca tutorial online terlebih dahulu.

  • Pemrograman AutoLISP: Prinsip dan Teknik oleh Rawis dan Hagen menyediakan instruksi praktis dan mudah diikuti dalam menguasai bahasa pemrograman AutoLISP.
  • Kustomisasi Platform AutoCAD: Antarmuka Pengguna, AutoLISP, VBA, dan Beyond oleh Lee Ambrosius adalah panduan komprehensif untuk merampingkan dan mempersonalisasikan platform AutoCAD. Bahasa pemrograman AutoLISP dan VBA membuka segudang opsi penyesuaian, dan buku ini memberikan panduan ahli untuk menerapkannya pada AutoCAD, 3D Sipil, 3D Tanaman, dan program lainnya berdasarkan pada platform Autodesk AutoCAD.
  • Visual LISP AutoCAD dari Reinaldo Togores: menunjukkan teknik pemrograman Lisp, termasuk penggunaan Lingkungan Pengembangan Terpadu Visual Lisp, yang dijelaskan mulai dari awal.

Apakah Anda Siap untuk AutoLISP?

Meskipun AutoLISP berasal dari Lisp, bahasa pemrograman yang sangat tua, AutoLISP tetap merupakan alat yang sangat berharga bagi pengguna AutoCAD.

AutoLISP masih menjadi alat pilihan untuk kustomisasi dan otomatisasi di AutoCAD dan perangkat lunak CAD lainnya dengan dukungan AutoLISP.

Emacs Lisp

Jika Anda menggunakan GNU Emacs atau editor teks Emacs serupa lainnya, Anda mungkin pernah mendengar tentang Emacs Lisp. Emacs Lisp adalah bahasa pemrograman yang digunakan untuk mengembangkan dan mengkode sebagian besar kemampuan pengeditan editor teks GNU Emacs. Emacs Lisp juga disebut sebagai Elsip.

Pada dasarnya, Emacs Lisp digunakan untuk menyesuaikan dan memperluas kemampuan editor teks GNU Emacs.

Sejarah Singkat Emacs Lisp

Emacs Lisp adalah dialek minimalis dari bahasa pemrograman Lisp yang digunakan dalam editor teks GNU Emacs dan XEmacs. Lisp adalah singkatan dari “Daftar Prosesor,” dan mewakili keluarga bahasa pemrograman sejak 1958.

Richard Stallman, pendiri Proyek GNU, menciptakan editor teks GNU Emacs.

Pertama kali dirilis pada tahun 1985, GNU Emacs versi 13 memperkenalkan penggunaan Emacs Lisp sebagai bahasa ekstensi sendiri. Emacs Lisp sebagian besar terinspirasi oleh dialek Maclisp dari bahasa pemrograman Lisp.

Rilis stabil terbaru dari GNU Emacs adalah versi 24.5, dan dirilis pada April 2015.

Emacs Lisp adalah bagian integral dari GNU Emacs dan berjalan pada semua platform yang didukung oleh GNU Emacs – GNU, GNU / Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows, dan Solaris.

Baik Emacs Lisp dan GNU Emacs bersifat open source dan gratis. Mereka diterbitkan di bawah Lisensi Publik Umum GNU, dan kode sumber tersedia secara bebas untuk pemeriksaan, modifikasi, dan redistribusi.

Siapa yang Menggunakan Emacs Lisp dan GNU Emacs?

Dengan Lingkungan Pengembangan Terpadu (IDE) modern saat ini, menulis kode dalam editor teks khusus seperti GNU Emacs bisa tampak sangat aneh pada pandangan pertama.

Namun, untuk pengguna berpengalaman, GNU Emacs memiliki banyak kemampuan pengeditan kode yang kuat yang tidak dimiliki sebagian besar IDE modern.

GNU Emacs dideskripsikan sebagai editor tampilan real-time yang dapat diperluas, dapat disesuaikan, didokumentasikan sendiri, dan hampir semua fitur canggih ini berasal dari interpreter Emacs Lisp terintegrasi..

IDE modern fokus pada GUI dan elemen visual, dan terutama dikendalikan oleh mouse. Tidak seperti mereka, GNU Emacs berfokus pada input keyboard dan fitur pengeditan teks yang kuat, sehingga lebih cocok untuk programmer yang menulis kode murni daripada kebanyakan IDE modern.

Setiap bahasa pemrograman populer didukung dalam GNU Emacs. Terlebih lagi, Emacs Lisp memulai sebagai alat yang ampuh untuk memperluas dan menyesuaikan GNU Emacs.

Fitur Emacs Lisp

Karena bahasa pemrograman Emacs Lisp dirancang khusus untuk digunakan dalam editor, ia menyediakan fitur-fitur khusus untuk mem-parsing dan memindai teks, menangani sub-proses, buffer, tampilan, file, dan sebagainya. Perintah pengeditan adalah fungsi yang dapat dipanggil dari program Emacs Lisp.

Fitur Emacs Lisp menunjukkan hubungan yang erat dengan dialek Maclisp. Emacs Lisp menggunakan lingkup dinamis secara default, dengan dukungan untuk metode pemrograman imperatif dan fungsional, dengan fokus pada penyediaan struktur data dan fitur khusus untuk penggunaannya dalam editor teks yang kuat.

Cakupan statis tersedia sebagai opsi pada versi 24. Ini dapat diaktifkan dengan mengatur variabel mengikat leksikal. Perhatikan bahwa Emacs Lisp tidak mendukung pengoptimalan panggilan ekor, sehingga rekursi ekor dapat menyebabkan kesalahan stack overflow.

Emacs Lisp juga dapat digunakan sebagai bahasa scripting untuk GNU Emacs, dipanggil dari baris perintah atau dari file yang dapat dieksekusi, dengan semua fungsi pengeditan tersedia untuk program.

Antarmuka pengguna GNU Emacs tidak ditampilkan ketika sedang berjalan dalam mode batch dengan Emacs Lisp digunakan untuk skrip, sehingga berperilaku lebih seperti alat Unix standar.

Lingkungan Pengembangan Anda

Untuk mulai menggunakan Emacs Lisp, Anda harus menginstal editor teks GNU Emacs. Ini adalah proses yang sangat sederhana.

Cukup buka halaman unduh Gnu.org Emacs dan ikuti instruksi untuk mengunduh dan menginstal GNU Emacs di sistem Anda. GNU Emacs mendukung platform berikut: GNU, GNU / Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows, dan Solaris.

Belajar Emacs Lisp

Secara alami, mempelajari Emacs Lisp akan lebih mudah jika Anda memiliki pengalaman pemrograman sebelumnya, terutama dalam beberapa bahasa pemrograman fungsional yang berasal dari Lisp.

Pengalaman pemrograman umum juga diterima, karena veteran coders cenderung mengetahui editor teks / kode mereka dari dalam.

Tutorial dan Sumber Daya Lisac Emacs

Emacs Lisp adalah bahasa pemrograman yang minimalis dan mudah dipelajari, tetapi karena daya tarik ceruknya yang relatif terbatas, tidak ada banyak sumber daya online. Kami memilih beberapa tutorial dan sumber belajar yang seharusnya berguna jika Anda baru memulai dengan Emacs Lisp:

  • Pengantar Pemrograman dalam Emacs Lisp dari Gnu.org ditujukan untuk pengguna baru tanpa pengalaman pemrograman sebelumnya.
  • GNU Emacs Lisp Manual Manual adalah deskripsi lengkap dan referensi Emacs Lisp. Manual ini menganggap Anda nyaman menggunakan Emacs untuk mengedit.
  • Elisp Cookbook berisi banyak contoh kode yang menunjukkan operasi pemrograman dasar Emacs Lisp.
  • Emacs Lisp Wiki memiliki tautan ke sumber daya yang baik untuk membantu Anda memulai pemrograman Emacs Lisp.
Emacs Lisp Books

Ada juga sejumlah buku Emacs Lisp di luar sana. Beberapa di antaranya bisa sangat berguna, tetapi kami tetap menyarankan agar Anda mencoba tutorial dan sumber daya online secara gratis. Jika Anda membutuhkan lebih banyak sumber daya, Anda dapat membeli satu atau dua buku.

  • Pengantar Pemrograman dalam Emacs Lisp oleh Robert J Chassell adalah tutorial dasar untuk non-programmer untuk menunjukkan kepada mereka cara menyesuaikan GNU Emacs menggunakan bahasa pemrograman Emacs Lisp.
  • Emacs Lisp – Sebuah Pengantar oleh Robert J Chassell dirancang untuk membantu Anda memulai dengan Emacs Lisp dan untuk membimbing Anda dalam mempelajari prinsip-prinsip dasar pemrograman.
  • Menulis Ekstensi GNU Emacs: Kustomisasi dan Kreasi Editor dengan Lisp oleh Bob Glickstein akan menunjukkan kepada Anda segalanya, dari kustomisasi sederhana hingga mod ekstensif di Emacs Lisp dengan contoh-contoh realistis.

Jika Anda Menggunakan Emacs, Anda Membutuhkan Emacs Lisp

GNU Emacs dirancang sebagai editor teks dengan dukungan untuk penyesuaian menggunakan Emacs Lisp.

Namun, GNU Emacs menjadi IDE yang hampir penuh berkat kekuatan dan ekstensibilitas yang disediakan oleh bahasa pemrograman Emacs Lisp.

Ini adalah bahasa pemrograman yang kuat, tetapi sangat khusus. Ini bukan sesuatu yang perlu dikuasai pengembang rata-rata, tetapi dalam beberapa aplikasi khusus, Emacs Lisp masih banyak digunakan, dan ini tidak mungkin berubah dalam waktu dekat.

Kesimpulan

Kami baru saja menggaruk permukaan dunia Lisp. Tetapi seperti yang Anda lihat, ini adalah bahasa yang sangat berguna untuk diketahui, apakah Anda sedang membangun aplikasi atau hanya mencoba membuat pengeditan teks Anda lebih mudah.

Hal-hal Menarik Lainnya

Kami memiliki lebih banyak panduan, tutorial, dan infografis yang berkaitan dengan pengkodean dan pengembangan:

  • F # Programming: cari tahu tentang pemrograman fungsional dalam .NET framework.
  • Pengenalan dan Sumber Daya Pemrograman Erlang: bahasa fungsional awal yang digunakan untuk membuat kode paralel.
  • Java: Pendahuluan, Cara Belajar, dan Sumber Daya: lihat panduan terperinci kami untuk menjadi programmer Java.
Kode apa yang harus Anda pelajari?

Bingung tentang bahasa pemrograman apa yang harus Anda pelajari kode? Lihat infografis kami, Apa Kode Yang Harus Anda Pelajari?

Itu tidak hanya membahas berbagai aspek bahasa, itu menjawab pertanyaan-pertanyaan penting seperti, “Berapa banyak uang yang akan saya hasilkan untuk pemrograman Java sebagai mata pencaharian?”

Kode Apa Yang Harus Anda Pelajari?
Kode apa yang harus Anda pelajari?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me