ML: Meta Programlamaya Başlayın

Bilgilendirme: Desteğiniz sitenin çalışmaya devam etmesine yardımcı oluyor! Bu sayfada önerdiğimiz hizmetlerden bazıları için bir başvuru ücreti alıyoruz.


ML “meta-dil” anlamına gelir ve ML genel amaçlı programlama dilleri ailesinin bir üyesidir.

Pek çok erken programlama dili gibi, ML akademik topluluk tarafından araştırma amacıyla oluşturuldu ve özellikleri, izinden giden birçok programlama dilini etkiledi.

ML nedir?

ML, çok paradigmalı, genişletilmiş işlevsel bir programlama dilidir. Ayrıca yan etkilere izin verdiği için genellikle “saf olmayan” işlevsel bir dil olarak etiketlenir. ML’nin zorunlu özellikleri fonksiyonel bir çekirdek üzerine inşa edilmiştir.

Özellikle meta programlama için kullanışlıdır – diğer programları işleyen programlar yazmak ve bu da ML’nin asıl amacıdır. ML, açık tip ek açıklamaları olmadan çoğu ifade türünü otomatik olarak atayabilen Hindley-Milner türü sistemi ile tanınır..

ML, çok çeşitli programlama için kullanılır:

  • Bilimsel uygulamalar;
  • Teorem kanıtlar;
  • Analizörler, derleyiciler, programlama dilleri;
  • Finansal sistem uygulamaları;
  • Biyoinformatik ve soybilimsel veritabanları.

ML, eğitimde, temel programlama mantığını ve yöntemlerini göstermek için giriş programlama kurslarında da kullanılır.

ML’nin Kısa Tarihi

ML programlama dili, 1970’lerde Robin Milner ve Edinburgh Üniversitesi’ndeki meslektaşları tarafından, etkileşimli bir otomatik teorem uzmanı olan Hesaplanabilir İşlevler için Mantık (LCF) çalışmaları sırasında geliştirildi. LCF ML’de uygulandı ve 1972’de tanıtıldı. ML’nin sözdizimi ISWIM programlama dilinden esinlendi.

ML, ML ailesinin bir parçası olan çeşitli programlama dillerine dönüştü. Bugün en önemli iki lehçe Standart ML (SML) ve OCaml’dir. ML’nin özellikleri ve fikirleri Cyclone, Elm, Nemerle, Haskell, C ++ ve diğer birçok dili etkiledi.

Özellikleri

Bu, tür güvenliğini sağlamak için Hindley-Milner tipi sistemi kullanan, kesinlikle yazılan bir dildir. Sonuç olarak, iyi yazılmış bir ML programı, çalışma zamanı türü hatalarına neden olmaz. Sözdizimi ve akış kontrolü C tipi dillerden temel olarak farklıdır, bu nedenle C ve ML kodu arasında önemsiz eşleme bulamazsınız.

ML, belleğin derleyici tarafından otomatik olarak tahsis edildiği ve serbest bırakıldığı çöp toplama yoluyla otomatik bir bellek yönetim sistemine sahiptir. Parametrik polimorfizm desteklenir, yani herhangi bir uyumlu tipte bir parametre alabilen tek bir polimorfik fonksiyon yazabilirsiniz.

ML, birinci sınıf fonksiyonlara ve sözcüksel kapanışlara sahiptir, bu da birden fazla fonksiyon oluşturmayı çok kolaylaştırır, zorunlu programlama dillerinde çok karmaşık olabilen bir görevdir.

ML ayrıca desen eşleşmesi ile polimorfik özyinelemeli veri tiplerini destekler ve yapılar ve imzalar etrafında merkezlenmiş mükemmel bir modül sistemine sahiptir. Öncelikle istekli değerlendirme kullanır, yani tüm alt ifadeler her zaman değerlendirilir, tembel değerlendirme yine de kapaklar kullanılarak elde edilebilir..

ML’ye Başlarken

Programlama yöntemleri ve mantığı konusunda daha önce deneyiminiz varsa, ML programlamaya başlamak çok zor olmamalıdır. Ancak, ML programlamaya ilk girişinizse, daha zorlayıcı olanlara geçmeden önce temel öğreticiler ve kurslarla başlamalısınız..

ML Geliştirme Ortamınız

Açıkçası kendi kişisel ML geliştirme ortamınızı kurmanız gerekecek. ML programlama dili için ilk ve en popüler derleyici olduğundan, New Jersey Standart ML (SML / NJ) türevi ve derleyicisini kullanmanızı öneririz..

SML / NJ şu anda büyük üç işletim sistemi platformunda desteklenmektedir: Mac OS X, Linux ve Windows. Başka bir deyişle, hemen hemen her bilgisayarda ML geliştirme ortamını çalıştırmakta sorun yaşamamanız gerekir.

ML’yi bu platformlara kurmak basittir ve iyi belgelenmiştir. SML / NJ indirme sayfasından platformunuz için doğru indirmeyi seçmeniz ve kurulum talimatlarını takip etmeniz yeterlidir.

kaynaklar

ML yıllardır var, bu yüzden çeşitli kaynak sıkıntısı yok. Dili öğrenmeye gelince, bu her zaman iyi bir şeydir. Ancak, birçok ML kaynağının oldukça eski olduğunu ve eski olabileceğini unutmayın..

Araştırmamızı ilgili ve nispeten yeni eğitimler, e-kitaplar ve etkileşimli kurslara odakladık. Ancak, daha yeni başlıyorsanız eski kaynaklar bile yardımcı olabilir.

ML Kurslar ve öğreticiler

Teorik kaynaklara odaklanmak ML programlamasında ilk adımlarınızı atmanın iyi bir yoludur, ancak temel bilgileri öğrendikten sonra pratik örneklere geçmeniz gerekecektir..

ML’nin tüm potansiyelini gerçekten takdir etmek için, onu çalışırken görmeniz gerekir. Temel sözdiziminden memnun olduğunuzda, eğitiminizi bir sonraki seviyeye taşıyabilir ve pratik kılavuzları ve eğiticileri deneyebilirsiniz:

  • Standart ML’97’de Programlama: Stephen Gilmore tarafından bir On-line Öğretici: Bu, ML dilinde önemli kavramları tanıtan ve kısa örneklerle gösteren ücretsiz bir ML öğreticisidir. Çeşitli formatlarda mevcuttur.
  • Robert Harper’ın Standart ML’de Programlama (pdf): Bu, Carnegie Mellon Üniversitesi “Bilgisayar Bilimleri 12-212: Programlama İlkeleri” dersi için oluşturulmuş ücretsiz bir ML öğreticisidir.
  • Andrew Cumming’in ML’ye Nazik Bir Giriş: Bu, ML hakkında bir çok faydalı kaynak içeren bir giriş ve yedi ders içeren ücretsiz bir derstir.
  • Mads Tofte tarafından Standart ML (Revize) (pdf) Bilgisayar Bilim Adamları için ipuçları: Bu, ML programlama hakkında sayısız yararlı ipucu ile ücretsiz bir kitap.

Ek kaynaklar

Bir sonraki adım, çok sayıda örnek kod içeren pratik eğitimler gibi daha ayrıntılı kaynaklara odaklanmaktır. Bu gerçek hayattan örnekler, ML programlamasını anlamanıza yardımcı olacaktır. En sık başvurulanlardan birkaçını seçtik:

  • New Jersey Standart ML Kullanıcı Kılavuzu: SML / NJ kurulumundan SSS’ye, özel özelliklere, derleyici yapısına ve kütüphanelere kadar her şeyi kapsayan SML / NJ kullanarak Standart ML’de programlama için çevrimiçi bir kılavuzdur..
  • Standart ML Temel Kütüphanesi, Standart ML Temel Kütüphanesi için çevrimiçi bir referanstır.

Kitabın

ML programlama ile ilgili birkaç kitap da ekledik. Bu e-kitapların çoğu ML eğitimcileri tarafından tavsiye edilir ve pratik kılavuzlar ve öğreticiler üzerinde çalışırken referans olarak kullanışlı olurlar:

  • Çalışma Programcısı için ML, L C Paulson tarafından 2. Baskı: Bu, ML dilinde nasıl programlanacağını açıklamaya ve fonksiyonel programlamanın temellerini öğretmeye odaklanır.
  • Jeffrey D Ullman’ın ML Programlama Elemanları, ML97 Edition (2. Baskı): Bu kitap, ML programlama hakkında oldukça erişilebilir, adım adım tanıtıcı bir öğretici ve gelişmiş özelliklere tam bir referans ve açıklama sunar. ML veya fonksiyonel programlama hakkında önceden bilgi gerekmez.
  • Felleisen ve Friedman’dan Küçük MLer: Bu kitap, programlamada yeni olanları ve diğer programlama dillerinde deneyimli olanları türler, hesaplama ve program oluşturma ilkeleriyle tanıştırıyor..

İlerleme

Tüm programlama dillerinde olduğu gibi, ML de sonuçta öğrenilecektir. Geliştirme ortamınızı hazırlayın ve bu kaynakların yardımıyla kodlamaya başlayın. İyi şanslar!

Diğer ilginç programlama dilleri hakkında bilgi edinin.

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