Haskell: زبانی قدیمی با عملکردی مدرن
برنامه نویسی، مهارتی که امروزه متقاضیان زیادی در سرتاسر دنیا دارد. برنامه نویسی یعنی امر و نهی به کامپیوتر که یک ماشین است. حال شما برای همین امر و نهی هم به یک زبان نیاز دارید. این شد که زبانهای مختلفی برای دستور دادن به کامپیوتر یا همان برنامه نویسی به وجود آمد. اما ما با همه آنها کار نداریم. در این مقاله میخواهیم درباره Haskell حرف بزنیم. زبانی فوق العاده آن هم از نوع تابعی!
نگاهی کلی بر Haskell
این زبان برنامه نویسی در اصل برای پردازش روی اعداد ساخته شد. یک زبان برنامه نویسی است که تماما تابعی کار میکند. زبانهای برنامه نویسی بر اساس پارادایم به چندین گروه تقسیم میشوند که این زبان در گروه پارادایم تابعی جای میگیرد. یادگیری این زبان متن باز خیلی سخت نیست اما اجرایی کردن آن هم ممکن است خیلی راحت نباشد.
Haskell در این سالها در دانشگاهها بسیار مورد توجه بوده است و رفته رفته در صنایع مختلف هم بیشتر مورد استفاده قرار گرفت. احتمالا تعریفی که از این زبان همه جا میبینید و یا میشنوید همینها باشد ولی بگذارید به شما بگوییم که این زبان در واقع یک زبان برنامه نویسی خیلی قوی است که پتانسیل زیادی هم دارد. وقتی بحث انجام چندین عمل همزمان و امنیت به میان میآید مطمئن باشید که حرفی برای گفتن دارد. با چند کد و یک زبان برنامه نویسی چه کارها که نمیشود کرد! برای آشنایی بیشتر با ما همراه باشید.
Haskell از کجا آمد؟!
نخست در سال 1990 توسط منطق دانی به اسم هسکل کری توسعه یافت. او پروفسوری مشهور در زمینه علوم کامپیوتر بود که با منطق ریاضی و زبانهای برنامه نویسی سر و کار داشت. قطعا با این کار خود لطف بزرگی به جامعه برنامه نویسان که علاقمند به زبانهای تابعی بیشتری بودند کرد.
نقش این زبان در دنیای برنامه نویسی
بر خلاف تصور خیلیها زبانهای برنامه نویسی از یکدیگر جدا نیستند این دنیا تماما با یکدیگر درحال تعامل هستند. زبانها روی همدیگر تاثیرگذار هستند. همانطور که این زبان از زبانهای قبلتر از خودش مانند FP، Miranda و Lisp الهام گرفته شد. زبانهای Python، Scala و VB.NET هم با الهام و تاثیرپذیری از این زبان پا به عرصه گذاشتند. دقیقا در دورانی که دنیا تشنه و دنبال زبان برنامه نویسی تابعی بی نقص بود این زبان ناگهان از راه رسید و با گذشت تمام این مدت و پیشرفتهای چشمگیر تکنولوژی هنوز در دنیای برنامه نویسی جایگاه خود را حفظ کرده است.
ویژگیهایی که باید درباره Haskell بدانید
در این زبان برنامه نویسی مزیتهایی هم هست. در ادامه مزایا این زبان را بررسی میکنیم.
- پلی مورفیسم: پلی مورفیسم یا چند شکلی یعنی کدهای شما بتواند در مواقع و شرایط مختلف خروجی مختلفی داشته باشند.
- Static Type: تایپ همه چیز در Haskell ثابت است و شما نمیتوانید آن را تغییر دهید. مثلا متغیر عدد را نمیتوان به استرینگ تغییر داد.
- Lazy Evaluation: خیلی خلاصه و مفید و مختصر این ویژگی یعنی محاسبات فقط زمانی انجام میشود که به آن نیاز باشد. در اکثر زبانهای برنامه نویسی ورودیهای توابع سریع محاسبه میشوند ولی در این یکی از این خبرها نیست. این ویژگی باعث بهبود عملکرد و بهینه شدن حافظه میشود.
- کاملا تابعی: اینجا همه چیز یعنی تابع و تابع یعنی همه چیز. زبانهای دیگر میتوانند متغیرهای بیرونی را تغییر دهند اما اینجا هر تابعی با ورودی یکسان خروجی یکسان هم تحویل میدهد. چون ساید افکت نداریم کدها مطمئنتر هستند.
- برنامه نویسی همزمان: همانطور که بالاتر اشاره شد چون این زبان ساید افکت ندارد شما با خیال راحت میتوانید همزمان چندین کار را باهم انجام بدهید. اما نگران نباشید اینطور نیست که این زبان کلا ساید افکت نداشته باشد بلکه باید خودتان مشخص کنید کی و کجا اعمال شود.
- تایپ استنتاجی: لازم نیست همیشه تایپ هر چیزی را مشخص کنید! این زبان با قابلیت تایپ استنتاجی که دارد در بیشتر مواقع خودش حدس میزند که شما دارید چه کار میکنید!
اینها ویژگیهایی هستند که این زبان را به یک زبان قدرتمند تبدیل میکند!
خدمات میزبانی وب پویان آی تی از زبانهای برنامه نویسی پشتیبانی میکند.
از Haskell کجا استفاده کنیم؟!
Haskell هم باید به عنوان زبان برنامه نویسی در زمینهای حرفی برای گفتن داشته باشد! به خاطر این که این زبان بیشتر با ریاضیات است، با این زبان میشود کارهای بسیاری در زمینه تجاری و حتی دیگر زمینهها کرد. از هوا و فضا تا بررسی امور مالی، راه اندازی سایت و طراحی سخت افزار، همه اینها را میتوان با این زبان برنامه نویسی پر کاربرد انجام داد. از آنجایی که دقت بالایی در ریاضیات دارد میتوان در هوش مصنوعی هم از آن استفاده کرد. شاید این زبان مثل پایتون و جاواسکریپت خیلی شناخته شده نباشد اما قطعا از آنها کمتر نیست.
چرا باید Haskell یاد بگیریم؟
بعد از جواب دادن به سوال چرا باید از Haskell استفاده کنیم مایلم به این سوال هم پاسخ بدم ما اصلا چرا باید آن را یاد بگیریم؟ این بخش نظرات افرادی را شامل میشود که این زبان را یاد گرفتهاند و سالهاست با آن کار میکنند. خیلی از افرادی که این زبان را یاد گرفتهاند معتقدند که حتی اگر شما هرگز از این زبان برای برنامه نویسی استفاده نکنید چیزهایی را میآموزید که در هیچ زبان دیگری نیست و همین به سادگی باعث ارتقا و بهتر شدن برنامه نویسی شما میشود. این زبان خیلی زیباست و پتانسیل این را دارد که دید شما را به خیلی چیزها عوض کند. بعد از آن نظرتان کاملا درباره حل مسئله عوض میشود. اما افرادی هم بودند که مدعی شدند این زبان سخت و طاقت فرسا است. اما طبق حرفهای افراد مختلف بعد از تحمل سختی یادگیری به این زبان معتاد خواهید شد!
خلاصه که
درباره Haskell و ویژگیهای آن حرف زدیم. حالا که کامل با این زبان دوست داشتنی آشنا شدیم، قطعا با این ویژگیها اگر تشنه علم برنامه نویسی باشید به این زبان هم فکر خواهید کرد. با این زبان قدیمی دنیای مدرنی خلق کنید که همه را حیرت زده خواهد کند!
سوالات متداول
آیا Haskell زبان دشواری است؟
بله، برای افراد تازه کار ممکن است کمی پیچیده باشد اما به دلیل ویژگیهایی که دارد، اگر میخواهید به برنامه نویسی حرفهای تبدیل شوید ارزش یادگیری را دارد.
آیا میشود با این زبان برای ویندوز هم برنامه نویسی کرد؟
بله، میشود اما شاید استفاده از زبانهای دیگر مثل زبان C# و C++ بهتر باشد.
منابع
- https://simple.wikipedia.org/wiki/Haskell
- https://www.youtube.com/watch?v=6qz9Ajun2nM
- https://www.haskell.org/
به این مقاله امتیاز دهید!
میانگین امتیاز 3 / 5. تعداد رأی ها : 1
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.