ليسب اول لغة Functional اعتمدت على الLambda Calculus بدل الTuring Machine و مع ذلك فهي Turing-complete هذا فرق جوهري بين اللغات سنأتي عليه في مناسبة اخرى و اختراع ليسب الذي قلت انه كان بدون قصد كان القصد فقط لمعرفة إمكانية ذلك لا لاختراع لغة جديدة.
جون شارك في لغتين ام هما الجدتين الكبرى لأغلب اللغات بعدهما Lisp التي انتجت Scheme و Clojure و Haskell و #F و Scala و اللغة الآخرى هي ALGOL60 التي ولدت C و ++C و شبيهاتها.
حتى مصطلح الObject Oriented Programming الذي ابتكره Alan Kay قال انه لم يكن ممكنا لولا قراءته لمانوال Lisp 1.5 و دائما ما يذكر ذلك في مناسبات كثيرة.
ايضا ذكرت في سلسلة سابقة عن لغة بيسك و مبتكريها Kemeny و Kurtz و تمكينهما للtime-sharing ( السيرفرات ) لطلاب الجامعة كان جون مكارثي اول من بدأ المشروع في MIT و كان زميلهم المحاضر انذاك في نفس الجامعة و هو من اشار عليهم بذلك.
ليسب لغة تستطيع كتابة لغة اخرى بداخلها meta-programming, و اوجدت مفاهيم كثيرة في البرمجة مثل الdynamic typing و الrecursion و tree data structure , Garbage Collection و اوجدت مفهوم الDeclarative بدل الImperative إي ليس علينا ان نخبر الكمبيوتر بما عليه أن يفعل بل بما نريد.
اغلب الأفكار الجميلة في البرمجة انتجتها الجامعات لكن بعدما تدخلت الشركات تسلعت الأفكار و اصبحت كيفية الوصول إلى السوق هو سيد الأفكار.
بايثون لغة بسيطة و ربما الأبسط لكن ادائها لا يساعد ابداً التعامل مع العمليات الحسابية الضخمة التي تحتاجها تقنيات مثل الـAI و لا طريقتها في معالجة ال concurrency و parallelism
فما حصل ان الشركات قامت بتطوير خوارزميات بلغة سي++ مثلاً لسرعتها و لكون لغه "خطرة" و صارمة قاموا بتغليفها بواسطة Wrapper ملون بلغة بايثون لتجذب اكبر عدد ممكن من المبرمجين و لو مبتدئين باسرع وقت. خذ مثلا OpenCV و TensorFlow و PyTorch و حتى مكتبات عادية مثل NumPy التي هي بالسي.
الفكرة التي اريد ان اصل لها أننا دائماً في مقايضة بين السهولة و الأداء ولابد أن نضحي بأحدها مقابل الآخر. إلا إذا ظهرت لغة تجمع بين الإثنين لكن هل هناك وجود لمثل تلك اللغة ؟
يبدو ان الإجابة هذه المرة ليست نعم فقط بل نعم من اروقة الجامعات كما كانت تأتي في السابق بلغة Julia .. سافرد لها سلسلة مستقلة او مقال. و دمتم.
جاري تحميل الاقتراحات...