ML: با برنامه نویسی metaprogram شروع کنید

افشای: پشتیبانی شما به حفظ سایت کمک می کند! ما برای برخی از خدماتی که در این صفحه توصیه می کنیم هزینه ارجاع دریافت می کنیم.


ML مخفف “فرا-زبان” است ، و ML عضو خانواده زبان های برنامه نویسی عمومی است.

مانند بسیاری از زبان های برنامه نویسی اولیه ، ML برای اهداف تحقیقاتی توسط جامعه دانشگاهی ایجاد شده است و ویژگی های آن بر بسیاری از زبان های برنامه نویسی که در پله های آن دنبال می شوند تأثیر گذاشته است.

ML چیست؟?

ML یک زبان برنامه نویسی کاربردی چند پارادایم و گسترده است. همچنین اغلب به عنوان یک زبان کاربردی “نجس” خوانده می شود ، زیرا این امر عوارض جانبی را می گذارد. ویژگی های ضروری ML بر روی یک هسته عملکردی ساخته شده است.

این مخصوصاً برای برنامه نویسی متا مفید است – نوشتن برنامه هایی که برنامه های دیگر را دستکاری می کنند ، و این هدف اصلی ML است. ML به دلیل استفاده از سیستم نوع Hindley-Milner مشهور است که می تواند بطور خودکار انواع عبارات را بدون حاشیه نویسی از نوع مشخص اختصاص دهد.

ML برای طیف گسترده ای از برنامه نویسی استفاده می شود:

  • برنامه های علمی؛
  • قضیه اثبات می شود؛
  • آنالایزرها ، کامپایلرها ، زبان های برنامه نویسی؛
  • برنامه های سیستم های مالی؛
  • بیوانفورماتیک و بانکهای اطلاعاتی تبارشناسی.

ML همچنین در آموزش ، در دوره های برنامه نویسی مقدماتی برای نشان دادن منطق و روش های اصلی برنامه نویسی استفاده می شود.

تاریخچه مختصر ML

زبان برنامه نویسی ML در دهه 1970 توسط رابین میلنر و همكارانش در دانشگاه ادینبورگ در حین كار روی منطق برای كاركردهای قابل محاسبه (LCF) – یك ضرب المثل خودکار قضیه تعامل ایجاد شد. LCF در ML پیاده سازی شد و در سال 1972 معرفی شد. نحو ML با الهام از زبان برنامه نویسی ISWIM.

ML بیشتر به چندین زبان برنامه نویسی تبدیل شد ، که همه بخشی از خانواده ML هستند. دو لهجه مهم امروز استاندارد ML (SML) و OCaml هستند. ویژگی ها و ایده های ML بر بسیاری از زبان های دیگر مانند Cyclone ، Elm ، Nemerle ، Haskell ، C ++ و دیگران تأثیر گذاشت..

امکانات

این یک زبان کاملاً تایپ شده است و از سیستم نوع Hindley-Milner برای اطمینان از ایمنی نوع استفاده می کند. در نتیجه ، یک برنامه ML با تایپ مناسب باعث ایجاد خطاهای نوع زمان اجرا نمی شود. نحو و کنترل جریان آن اساساً با زبان های نوع C متفاوت است ، بنابراین نقشه نویسی بی اهمیت بین کد C و ML پیدا نخواهید کرد..

ML از طریق جمع آوری زباله ، جایی که حافظه به طور خودکار توسط کامپایلر تخصیص و آزاد می شود ، دارای سیستم مدیریت خودکار حافظه است. پلی مورفیسم پارامتری پشتیبانی می شود ، به این معنی که می توانید یک تابع چند شکل را بنویسید که می تواند پارامتری از هر نوع سازگار بگیرد.

ML دارای توابع کلاس اول و بسته های واژگانی است که نوشتن چندین عملکرد بسیار آسان است ، کاری که می تواند در زبان های برنامه نویسی ضروری بسیار پیچیده باشد.

ML همچنین از داده های بازگشتی چند شکل با تطبیق الگو پشتیبانی می کند ، و دارای یک سیستم ماژول عالی با محوریت ساختارها و امضاها است. در درجه اول از ارزیابی مشتاقانه استفاده می شود ، بدین معنی که همه زیرمجازات همیشه مورد ارزیابی قرار می گیرند ، در حالی که ارزیابی تنبل هنوز هم می تواند با استفاده از بسته ها انجام شود.

شروع کار با ML

اگر در روش ها و منطق برنامه نویسی تجربه قبلی دارید ، شروع به کار با برنامه نویسی ML نباید چالش زیادی را ایجاد کند. با این حال ، اگر ML اولین معرفی شما برای برنامه نویسی است ، باید از آموزش ها و دوره های ابتدایی شروع کنید ، قبل از آنکه به مطالب بیشتری بپردازید.

محیط توسعه ML شما

بدیهی است که شما باید محیط توسعه ML شخصی خود را تنظیم کنید. ما پیشنهاد می کنیم از مشتق و کامپایلر Standard ML New Jersey (SML / NJ) استفاده کنید ، زیرا این اولین و محبوب ترین کامپایلر برای زبان برنامه نویسی ML است..

SML / NJ در حال حاضر در سه سیستم عامل بزرگ سیستم عامل پشتیبانی می شود: Mac OS X ، Linux و Windows. به عبارت دیگر ، شما نباید در اجرای یک محیط توسعه ML فقط در مورد هر رایانه ای مشکلی داشته باشید.

نصب ML در این سیستم عامل ها ساده و مستند است. کافیست در صفحه بارگیری SML / NJ بارگیری مناسب را برای سیستم عامل خود انتخاب کنید و دستورالعمل های نصب را دنبال کنید.

منابع

ML سالهاست که وجود دارد ، بنابراین کمبود منابع مختلف وجود ندارد. وقتی یادگیری زبان می آید ، این همیشه چیز خوبی است. اما به خاطر داشته باشید که بسیاری از منابع ML کاملاً قدیمی هستند و ممکن است قدیمی باشند.

ما جستجوی خود را روی آموزشهای مرتبط ، نسبتاً اخیر ، کتابهای الکترونیکی و دوره های تعاملی متمرکز کردیم. با این حال ، اگر تازه شروع به کار کنید ، می توانید منابع قدیمی نیز مفید باشند.

دوره ها و آموزش های ML

تمرکز روی منابع نظری روش خوبی برای انجام اولین قدم های شما در برنامه نویسی ML است ، اما به محض تسلط بر اصول اولیه ، باید به نمونه‌های عملی روی آورید..

برای قدردانی از پتانسیل کامل ML ، باید آن را در عمل مشاهده کنید. هنگامی که با اصطلاحات ابتدایی راحت هستید ، می توانید آموزش خود را به سطح بعدی برسانید و راهنماها و آموزشهای عملی را امتحان کنید:

  • برنامه نویسی به زبان استاندارد ML ’97: یک آموزش آنلاین توسط استفن گیلمور: این یک آموزش رایگان ML است که مفاهیم مهم را به زبان ML معرفی می کند و آنها را با نمونه های مختصر نشان می دهد. در قالب های مختلفی موجود است.
  • برنامه نویسی در استاندارد ML (pdf) توسط رابرت هارپر: این یک آموزش رایگان ML است که برای دوره دانشگاه کارنگی ملون “علوم کامپیوتر 12-212: اصول برنامه نویسی” ایجاد شده است.
  • مقدمه ای ملایم توسط اندرو کامینگ: این دوره رایگان است که شامل یک مقدمه و هفت درس در مورد ML با بسیاری از منابع مفید دیگر است.
  • نکاتی درباره دانشمندان رایانه درباره استاندارد ML (اصلاح شده) (pdf) توسط مادس توفت: این یک کتاب رایگان است ، با نکات مفیدی در مورد برنامه نویسی ML.

منابع اضافی

مرحله بعدی تمرکز روی منابع دقیق تر مانند آموزش های عملی با کد نمونه زیادی است. این نمونه های زندگی واقعی به درک شما در مورد برنامه نویسی ML کمک می کند. ما یک زن و شوهر از رایج ترین موارد ذکر شده را با هم تفکیک می کنیم:

  • استاندارد ML راهنمای کاربر کاربر نیوجرسی: این یک راهنمای آنلاین برای برنامه نویسی در استاندارد ML با استفاده از SML / NJ است و همه چیز را از نصب SML / NJ گرفته تا سؤالات متداول ، ویژگی های ویژه ، ساختار کامپایلر و کتابخانه ها پوشش می دهد..
  • کتابخانه استاندارد ML Basis یک مرجع آنلاین برای کتابخانه استاندارد پایه ML است.

کتابها

همچنین چند برنامه درباره برنامه نویسی ML گنجانده ایم. بسیاری از این کتاب های الکترونیکی توسط مربیان ML توصیه می شوند ، در حالی که شما روی راهنماهای عملی و آموزش کار می کنید ، به عنوان مرجع در دسترس شما قرار می گیرند:

  • ML for Programmer Working، Edition 2 توسط L C Paulson: این کار در توضیح نحوه برنامه ریزی به زبان ML و آموزش اصول برنامه نویسی کاربردی است..
  • عناصر برنامه نویسی ML ، نسخه ML97 (ویرایش 2) توسط جفری دی اولمان: این کتاب یک آموزش مقدماتی کاملاً در دسترس ، قدم به قدم در مورد برنامه نویسی ML و یک مرجع کامل در مورد و توضیح ویژگی های پیشرفته ارائه می دهد. هیچ دانش قبلی درباره ML یا برنامه نویسی کاربردی مورد نیاز نیست.
  • The Little MLer توسط Felleisen و Friedman: این کتاب کسانی که جدید را برای برنامه نویسی و همچنین کسانی که در سایر زبان های برنامه نویسی تجربه کرده اند معرفی می کند ، به اصول انواع ، محاسبات و ساخت برنامه می پردازد..

حرکت به جلو

مانند همه زبان های برنامه نویسی ، در نهایت ML با انجام این کار آموخته می شود. بنابراین محیط توسعه خود را تنظیم کرده و با کمک این منابع ، برنامه نویسی را شروع کنید. موفق باشید!

درباره سایر زبانهای جالب برنامه نویسی مطلع شوید.

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