زبان برنامه نویسی haskell چیست؟

زبان برنامه نویسی haskell یا هسکل چیست؟

هسکل یا haskell یک زبان برنامه نویسی متن باز و به صورت تابعی است این زبان اجازه توسعه سریع و مختصر را برای نرم افزارهای ایجاد شده می دهد.

برنامه نویسی انواع مختلفی از پارادایم‌ها را دارد که یکی از این پارادایم‌ها زبان برنامه نویسی تابعی است. در این نوع برنامه نویسی درک آن آسان است اما اجرا آن مقداری دشوار است. یکی از این زبان‌ها با این رویکرد برنامه نویسی، Haskell است که در سال ۱۹۸۰ شروع به توسعه آن کردند و در سال ۱۹۹۰ آن را منتشر کردند و نام این زبان از ریاضیدان آمریکایی Haskell Brooks Curry گرفته شده است.

زمان مطالعه: 3 دقیقه
بازدید: 1134
پرسش و پاسخ: 0

در اواخر دهه 1980، زبان‌ها و پارادایم‌های برنامه نویسی جدیدی اختراع شد. گروهی از محققان شروع به توسعه یک زبان برنامه نویسی با عنوان Haskell که یک زبان برنامه نویسی کاملا تابعی است، کردند. سرانجام این زبان برنامه نویسی در سال 1990 منتشر شد. که نام این زبان بر اساس نام یک ریاضیدان آمریکایی با نام Haskell Brooks Curry گرفته شده است.

Haskell یک زبان برنامه نویسی مدرن، استاندارد، کاملا تابعی و non-strict (با قوانین آسان) است. این زبان به طور ویژه برای رسیدگی به طیف گسترده ای از برنامه ها، از عددی گرفته تا نمادین طراحی شده است. دارای سینتکسی رسا و معماری داخلی بسیار غنی است.

زبان برنامه نویسی haskell چیست؟

Haskell یک زبان برنامه نویسی کاملاً تابعی و non-strict (با قوانین آسان) است. این زبان به ویژه برای طراحی برنامه های کاربردی تولید صنعتی در مقیاس بزرگ طراحی شده است. این زبان به دلیل معماری غنی آن شهرت زیادی دارد. برنامه های Haskell به صورت توابع ریاضی نوشته می شوند.

ویژگی های haskell

ویژگی‌های زبان برنامه نویسی haskell

  • یادگیری آسان : درک زبان‌های برنامه نویسی تابعی آسان تر است. زبان‌های برنامه نویسی تابعی عموماً به راحتی قابل درک هستند اما اجرای آنها دشوار است.
  • قابلیت استفاده مجدد از کدها : Haskell از ویژگی چندریختی(Polymorphism) پشتیبانی می کند.
  • مدیریت حافظه : در زبانی مانند c مدیریت حافظه با استفاده از کلمه کلیدی malloc یا calloc انجام می شود، برنامه نویس باید پس از استفاده حافظه را آزاد کند. اما در زبان‌های برنامه نویسی تابعی مانند Haskell برنامه نویس از این بار رها می شود و مدیریت حافظه به صورت اتوماتیک توسط هسته زبان انجام می‌شود. در این زبان برنامه نویسی، فضای ذخیره سازی اختصاص داده می‌شود، به طور ضمنی مقداردهی اولیه می‌شود و به طور خودکار توسط Garbage Collector حافظه آزاد می‌شود.
  • Statically-typed : یک زبان برنامه نویسی با قابلیت Statically-type زبانی است که در آن انواع متغیرها در زمان کامپایل شناخته می شوند. این ویژگی به برنامه نویسان در شناسایی خطاها در زمان کامپایل کمک می کند. همچنین به کاهش پیچیدگی برنامه‌ها در مقیاس بزرگ کمک می کند.
  • Purely-Functional : این زبان دارای یک سبک خاص برای ساختن برنامه ای است که تمام محاسبات را به عنوان توابع ریاضی در نظر می گیرد.
  • Lazy-Evaluation‌ : زبان‌های برنامه نویسی تابعی مانند Haskell از ارزیابی آرگومان ها در توابع صرف نظر می کند. این کارایی کد را افزایش می دهد که به برنامه نویس‌ها کمک می کند تا برنامه‌های خیلی خوبی بنویسند.
  • Type-Inference : Type-Inference، افزونگی کدهایی را که به صراحت برای هر نوع برنامه نوشته می شود، را حل می کند.
  • Multithreading : Thread ها پردازشگرهای مجازی هستند که مراحل مدیریت/پردازش را در یک برنامه انجام می دهند. زبان با ویژگی Single threading به این معنی است که در هر زمان فقط  می‌تواند یک task انجام دهد. Haskell یک زبان Multi-threaded است که به آن امکان اجرای موازی دستورات در برنامه را می دهد. Multi-threading قدرت پردازش اجرای یک زبان برنامه نویسی را افزایش می دهد.

در مورد نسخه های مختلف نرم افزار نسخه Beta (بتا) چیست؟ بیشتر بدانیم

 چرا از haskell استفاده کنیم؟

Haskell ویژگی های مختلفی را ارائه می دهد مانند:

  • بهره وری برنامه نویس بالاتر
  • کد کوتاه تر، تمیزتر و قابل نگهداری.
  • قابلیت اطمینان بالاتر
  • قدرت کامپایل بالاتر

 چرا از haskell استفاده کنیم؟

 عمر بیشتر محصولات نرم افزاری بزرگ صرف طراحی و نگهداری می شود، زیرا زبان های برنامه نویسی تابعی راحت‌تر نگهداری می شوند.

از تکنولوژی های حال حاضر بیشتر بدانیم : RFID چیست و چه کاربردهایی دارد؟

چگونه کد haskell را اجرا کنیم؟

کامپایلر Haskell Glasgow (GHC) برای اجرای کد Haskell استفاده می شود. ویژگی های آن عبارتند از:

  • یک محیط چند پلتفرمی(cross-platform) را فراهم می کند.
  • از افزونه ها، کتابخانه ها و بهینه سازی های متعددی پشتیبانی می کند که به فرآیند تولید و اجرای کد کمک می کند.

مثال : نوشتن برنامه‌ای در Haskell برای چاپ یک پیغام 

main :: IO ()
main = putStrLn "Hello! Welcome to GeeksforGeeks"

بیشتر بدانیم : چگونه یک اپلیکیشن بسازیم؟

بهزاد میرزازاده
مسیر درست با پرسش های درست ساخته می شود

مشاهده تمام مطالب نویسنده