White Wolf

دليل لغات البرمجة (16): لغة البرمجة Haskell

Posted in برمجة و بيرل by regex2008 on يناير 26, 2010

بسم الله الرحمن الرحيم

لغة البرمجة :: هاسكل

بعد اصدار لغة البرمجة Miranda في العام 1985 ، زاد الاهتمام بلغات البرمجة الوظيفية الكسولة . فمع العام 1987 ارتفع عدد اللغات الوظيفية الصرفة الى اكثر من 12 لغة . طبعا من هذه اللغات كانت ميرندا الاكثر استخداما و لكنها لم تكن مجانية بل مملوكة لشركة  Research Software . لذلك في مؤتمر اللغات البرمجية الوظيفية و هندسة الكمبيوتر (FPCA 87)  و الذي تم عقده في بورتلاند اوريجون ، تم عقد اجتماع ابدى فيه المشاركون ضرورة انشاء لجنة لتعمل على انشاء معايير مفتوحة لهذه اللغات .

و مع العام 1990 تم الانتهاء من تعريف هاسكل 1 . و في العام 1997 توجت الجهود بظهور هاسكل 98 التي وفرت اصدار ثابت ، خفيف و متنقل من اللغة ، بالاضافة الى مكتبة لغرض التعليم . و قد رحبت اللجنة بانشاء الاضافات و البدائل لهاسكل 98 عن طريق اضافة الخصائص التجريبية .

لغة هاسكل تتطور بشكل سريع جدا و يعتبر المترجم ” جلاسكو ” GHC هو الاكثر شيوعا في الاستخدام . يذكر ان سبب التسمية هو تيمنا بعالم الرياضيات و المنطقي الامريكي هاسكل كوري.

بعض اللغات التي اثرت على Haskell :

1-    Lisp

2-    Miranda

3-    APL

4-    Ponder

5-    Standard ML

6-    Lazy ML

اهم اللغات التي تأثرت ب Haskell :-

1-    Omega

2-    Perl6

3-    Python

4-    Visual Basic 9

5-    Clojure

6-    Cat

7-    Cayenne

8-    Qi

9-    Java Generics

10-                       F#

11-                       C#

12-                       Scala

خصائص اللغة :

1-    لغة برمجة وظيفية صرفة .

2-    تستخدم التقييم الكسول .

3-    استايل الكتابة ثابت و قوي .

4-    ذات معايير و مواصفات مفتوحة.

5-    تتمتع بمجتمع فاعل و لديها مخزن غني بالمكتبات يدعى Hackage.

6-    مترجم GHC يعتبر مترجم و مفسر ايضا و يعمل على اغلب نظم الانظمة و يتميز بالكفاءة العالية.

اهم التطبيقات :

هاسكل بدات تزداد شعبيتها في الاستخدامات التجارية . المبرمجة المشهورة اودري تانج قامت بعمل تطبيق لبيرل 6 بلغة هاسكل فكانت النتيجة نسخة تعمل بشكل جيد في زمن قياسي معروفة باسم Pugs. ايضا توزيعة Linspire اختارت هاسكل كلغة تطوير لادوات النظام . Xmonad و هو مدير نوافذ يعمل على X المشهور كتب كاملا باستخدام هاسكل . و هناك الكثير من الاستخدامات و البرامج لهاسكل على صعيد التطوير و قواعد البيانات و حتى المترجمات و الالعاب .

مثال برمجي :

 

module Main where

main :: IO ()
main = putStr "Hello World!"

اترك رد

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / تغيير )

Twitter picture

You are commenting using your Twitter account. Log Out / تغيير )

Facebook photo

You are commenting using your Facebook account. Log Out / تغيير )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 25 other followers