ML: Memulai Metaprogramming

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


ML adalah singkatan dari “meta-language,” dan ML adalah anggota dari keluarga bahasa pemrograman tujuan umum.

Seperti banyak bahasa pemrograman awal, ML diciptakan oleh komunitas akademik untuk tujuan penelitian, dan fitur-fiturnya memengaruhi banyak bahasa pemrograman yang mengikuti jejaknya..

Apa itu ML?

ML adalah multi-paradigma, bahasa pemrograman fungsional yang diperluas. Ini juga sering dilabeli sebagai bahasa fungsional “tidak murni”, karena memungkinkan efek samping. Fitur penting ML dibangun di atas inti fungsional.

Ini sangat berguna untuk meta-pemrograman – menulis program yang memanipulasi program lain, dan itulah tujuan asli ML. ML terkenal dengan penggunaan sistem jenis Hindley-Milner yang dapat secara otomatis menetapkan jenis ekspresi paling tanpa anotasi jenis eksplisit.

ML digunakan untuk berbagai macam pemrograman:

  • Aplikasi ilmiah;
  • Pembuktian teorema;
  • Analisis, kompiler, bahasa pemrograman;
  • Aplikasi sistem keuangan;
  • Database bioinformatika dan silsilah.

ML juga digunakan dalam pendidikan, dalam kursus pemrograman pengantar untuk menunjukkan logika dan metode pemrograman dasar.

Sejarah Singkat ML

Bahasa pemrograman ML dikembangkan pada 1970-an oleh Robin Milner dan rekan-rekannya di Universitas Edinburgh selama pekerjaan mereka di Logic for Computable Functions (LCF) – sebuah prover teorema otomatis yang interaktif. LCF diimplementasikan dalam ML dan diperkenalkan pada tahun 1972. Sintaks ML terinspirasi oleh bahasa pemrograman ISWIM.

ML selanjutnya berkembang menjadi beberapa bahasa pemrograman, semua bagian dari keluarga ML. Dua dialek terpenting saat ini adalah Standard ML (SML) dan OCaml. Fitur dan ide dari ML memengaruhi banyak bahasa lain seperti Cyclone, Elm, Nemerle, Haskell, C ++, dan lainnya.

fitur

Ini adalah bahasa yang diketik dengan ketat, memanfaatkan sistem jenis Hindley-Milner untuk memastikan keamanan jenis. Akibatnya, program ML yang diketik dengan baik tidak menyebabkan kesalahan tipe runtime. Sintaks dan kontrol alirannya pada dasarnya berbeda dari bahasa tipe-C, jadi Anda tidak akan menemukan pemetaan sepele antara kode C dan ML.

ML menampilkan sistem manajemen memori otomatis melalui pengumpulan sampah, di mana memori dialokasikan dan dibebaskan secara otomatis oleh kompiler. Polimorfisme parametrik didukung, artinya Anda dapat menulis fungsi polimorf tunggal yang dapat mengambil parameter dari jenis apa pun yang kompatibel.

ML memiliki fungsi kelas dan penutupan leksikal, membuatnya sangat mudah untuk menyusun beberapa fungsi, tugas yang bisa sangat rumit dalam bahasa pemrograman imperatif.

ML juga mendukung tipe data rekursif polimorfik dengan pencocokan pola, dan memiliki sistem modul yang sangat baik yang berpusat di sekitar struktur dan tanda tangan. Ini terutama menggunakan evaluasi bersemangat, yang berarti bahwa semua subekspresi selalu dievaluasi, sementara evaluasi malas masih dapat dicapai melalui penggunaan penutupan.

Memulai dengan ML

Jika Anda memiliki pengalaman sebelumnya dalam metode dan logika pemrograman, memulai dengan pemrograman ML seharusnya tidak menimbulkan banyak tantangan. Namun, jika ML adalah pengantar pertama Anda untuk pemrograman, Anda harus mulai dengan tutorial dan kursus dasar, sebelum Anda pindah ke yang lebih banyak menuntut.

Lingkungan Pengembangan ML Anda

Anda jelas harus mengatur lingkungan pengembangan ML pribadi Anda. Kami menyarankan menggunakan turunan dan kompiler ML New New Jersey (SML / NJ), karena ini adalah kompiler pertama dan paling populer untuk bahasa pemrograman ML.

SML / NJ saat ini didukung pada tiga platform sistem operasi besar: Mac OS X, Linux, dan Windows. Dengan kata lain, Anda seharusnya tidak mengalami kesulitan menjalankan lingkungan pengembangan ML di hampir semua komputer.

Menginstal ML pada platform ini sangat mudah dan didokumentasikan dengan baik. Cukup pilih unduhan yang tepat untuk platform Anda di halaman unduhan SML / NJ dan ikuti instruksi pemasangan.

Sumber daya

ML telah ada selama bertahun-tahun, jadi tidak ada kekurangan berbagai sumber. Ketika datang untuk belajar bahasa, ini selalu merupakan hal yang baik. Tetapi perlu diingat bahwa banyak sumber daya ML sudah cukup tua dan mungkin sudah ketinggalan zaman.

Kami memfokuskan pencarian kami pada tutorial, e-book, dan kursus interaktif yang relevan dan relatif baru. Namun, bahkan sumber daya lama dapat membantu jika Anda baru memulai.

Kursus ML dan tutorial

Berfokus pada sumber daya teoretis adalah cara yang baik untuk mengambil langkah pertama Anda dalam pemrograman ML, tetapi begitu Anda menguasai dasar-dasarnya, Anda perlu beralih ke contoh-contoh praktis..

Untuk benar-benar menghargai potensi penuh dari ML, Anda harus melihatnya dalam aksi. Setelah Anda merasa nyaman dengan sintaks dasar, Anda dapat mengikuti pelatihan Anda ke tingkat berikutnya dan mencoba panduan praktis dan tutorial:

  • Pemrograman dalam Standar ML’97: Tutorial On-line oleh Stephen Gilmore: ini adalah tutorial ML gratis yang memperkenalkan konsep-konsep penting dalam bahasa ML dan mengilustrasikannya dengan contoh-contoh singkat. Ini tersedia dalam berbagai format.
  • Pemrograman dalam ML Standar (pdf) oleh Robert Harper: ini adalah tutorial ML gratis yang dibuat untuk kursus Carnegie Mellon University “Ilmu Komputer 12-212: Prinsip-Prinsip Pemrograman.”
  • Pengantar Lembut untuk ML oleh Andrew Cumming: ini adalah kursus gratis yang berisi pengantar dan tujuh pelajaran tentang ML dengan banyak sumber daya bermanfaat lainnya.
  • Kiat untuk Ilmuwan Komputer tentang ML Standar (Revisi) (pdf) oleh Mads Tofte: ini adalah buku gratis, dengan banyak kiat bermanfaat tentang pemrograman ML.

Sumber daya tambahan

Langkah selanjutnya adalah fokus pada sumber daya yang lebih rumit, seperti tutorial praktis dengan banyak kode sampel. Contoh-contoh kehidupan nyata ini akan membantu pemahaman Anda tentang pemrograman ML. Kami memilih beberapa yang paling sering dirujuk:

  • Panduan Pengguna Panduan New Jersey ML Standar: ini adalah panduan online untuk pemrograman dalam ML Standar menggunakan SML / NJ, mencakup semuanya mulai dari pemasangan SML / NJ hingga FAQ, fitur khusus, struktur kompiler, dan perpustakaan.
  • Perpustakaan Dasar ML Standar adalah referensi online untuk Perpustakaan Dasar ML Standar.

Buku

Kami juga menyertakan beberapa buku tentang pemrograman ML. Banyak dari e-book ini direkomendasikan oleh pendidik ML, dan mereka akan berguna sebagai referensi saat Anda mengerjakan panduan praktis dan tutorial:

  • ML untuk Programmer yang Bekerja, Edisi ke-2 oleh L C Paulson: ini berfokus pada menjelaskan bagaimana memprogram dalam bahasa ML, dan mengajarkan dasar-dasar pemrograman fungsional.
  • Elemen Pemrograman ML, Edisi ML97 (Edisi ke-2) oleh Jeffrey D Ullman: buku ini menyediakan tutorial pengantar langkah-demi-langkah yang sangat mudah diakses tentang pemrograman ML dan referensi lengkap untuk, dan penjelasan tentang, fitur-fitur canggih. Tidak diperlukan pengetahuan sebelumnya tentang ML atau pemrograman fungsional.
  • The Little MLer oleh Felleisen dan Friedman: buku ini memperkenalkan mereka yang baru dalam pemrograman, serta yang berpengalaman dalam bahasa pemrograman lain, dengan prinsip-prinsip tipe, komputasi, dan konstruksi program.

Bergerak kedepan

Seperti semua bahasa pemrograman, ML pada akhirnya akan dipelajari dengan melakukan. Jadi siapkan lingkungan pengembangan Anda, dan dengan bantuan sumber daya ini, mulailah pengkodean. Semoga berhasil!

Pelajari tentang bahasa pemrograman menarik lainnya.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map