لقد استخدمت ChatGPT لكتابة نفس الروتين في هذه اللغات البرمجية العشر المستعصية

صورة9.jpg

قبل بضعة أسابيع، قمت بأخذ نظرة على استخدام ChatGPT لكتابة نفس الروتين في عشرات أكثر لغات البرمجة شهرة. ولكن كشخص مهووس بلغات البرمجة، تساءلت إلى أي مدى يستطيع ChatGPT الوصول. هل سيتمكن من برمجة لغة من الخمسينات؟ هل سيتمكن من برمجة لغة تستخدم مجموعة خاصة من الأحرف؟ هل سيتمكن من كتابة كود بإحدى اللغات التي تكتب بها كودها؟

أيضًا: أفضل برامج الدردشة بالذكاء الاصطناعي: ChatGPT وبدائل لتجربتها

وبالتالي، قمت بالانغماس. لقد استخدمت العديد من اللغات التي أضع الضوء عليها هنا، لذا سأتجول قليلاً في طريق الذكريات وسأضيف بعض القصص عن تجربتي مع تلك التي استخدمتها.

في حين أنني لم أقم بتشغيل الشفرة بنفسها، لكنني قرأت جميع البرامج التي تم إنشاؤها. تبدو معظمها صحيحة وتعرض مؤشرات مناسبة تخبرنا بأن اللغة المعروضة هي اللغة التي طلبتها.

أخبركم بذلك لأن العناوين على جميع لقطات الشاشة غير صحيحة. يتم تسجيل معظمها على أنها SQL. لسبب ما يتم عرض BAL كـ VBNet، ويتم تسجيل Prolog كـ Rust. ChatGPT لم يرتكب هذا الخطأ في المرة السابقة، ولكنه حدث اليوم لكل اللغات الموضحة هنا.

ومع ذلك، دعنا نبدأ.

فورتران

Fortran (أو FORTRAN، كما تم تصوره في ذلك الحين) يعني ترجمة الصيغة. تم تطويره بشكل أساسي للحسابات العلمية والهندسية. على الرغم من أنه يعود إلى الخمسينيات من القرن الماضي، غالبًا ما كان اللغة الأولى التي يتعلمها طلاب الهندسة في السبعينيات والثمانينيات.

أيضًا: هذه التقنية الجديدة يمكن أن تهزم GPT-4 وكل شيء شبيه بها

بالنسبة لي، كانت لغة البرمجة الرابعة بعد BASIC ولغة التجميع PDP-8 والرمز الثنائي PDP-8 (نعم، كنت أكتب رمزًا ثنائيًا حتى أتمكن من تبديله أمام لوحة الجهاز لأحد أجهزة الكمبيوتر المتوسطة المبكرة). أدى والدي بكرم فضلاً عن مدة ساعة لأسفل إلى كلية نيوآرك للهندسة (الآن NJIT) بحيث يمكنني أخذ دورتهم البرمجية للسنة الأولى بينما كنت لا زلت طالبًا في المدرسة الثانوية.

لم يكن فورتران محبوبًا أبدًا، على الرغم من أنه سينجز معظم المهام المرتبطة بالحسابات. ما زالت هناك تغييرات على فورتران قيد الاستخدام حتى اليوم، ولكنها محدودة إلى حد كبير في الأعمال العلمية المتخصصة حيث تقوم لغات معاصرة أخرى بتحليلات على مستوى فورتران، وتقوم بها بشكل أفضل.

هنا، نظرًا لاستخدام كلمة المفتاحية implicit، يبدو أن ChatGPT يصور الشيفرة المكتوبة في الإصدار الفرعاني لفورتران-77.

صورة7.jpg

COBOL

كنت مبرمجًا متطوعًا لبرنامج الـ COBOL عندما كنت مراهقًا. لم أكن أعرف COBOL في ذلك الوقت ، ولكن في أواسط عام 1980 رأيت إعلانًا يبحث عن مبرمج COBOL في مركز البيانات الإقليمي الشمال الشرقي لـ International Paper في ديفيل ، نيو جيرسي. كان على بعد حوالي 40 دقيقة من منزل والدي ، وكنت بحاجة إلى وظيفة صيفية. فورما تمكنت من تحديد موعد للمقابلة ، ركضت إلى مكتبة محلية وأمضيت عطلة نهاية الأسبوع وأنا أتناول ما يمكنني من المواد القرائية حول COBOL.

كان COBOL مخصصًا للمعالجة الموجهة للأعمال. اليوم ، ستكون نفس النوع من العملاء مستخدمي SAP أو Salesforce. ولكن COBOL ، كما يمكنك أن ترى من الكود COBOL-88 أدناه ، كان وظيفيًا ، ولكنه بالتأكيد لم يكن أنيقًا.

كما تبين أنهم يرغبون في موظف بدوام كامل. ولكن بما أنني قمت بإجتياز اختبارهم (على ما يبدو، قد هزمت نتائج دراسة عطلة نهاية الأسبوع الخاصة بي نتائج المحترفين الذين قدموا)، قرروا أن يجعلوني أعمل خلال الصيف. أن أقول أن هناك فرقا ثقافيا كبيرا كان أمرا لا يعدو عن التقدير. كانت هذه بدايات جهاز الحاسوب الصغيرة (فكر في فترة ما قبل الكمبيوتر الشخصي) وكنت أتمتع بهذا الأمر. في هذه الأثناء، كان هؤلاء الناس يرتدون البدل والربطات ويعملون في مراكز البيانات العملاقة. في لحظة تقريبا، حصلت على لقب "المتسبب في المتاعب". مهلا، كنت لا زلت طفلا.

وجه لي اللحظة المحددة حين أخذني أحد المبرمجين الأكثر خبرة في الشركة جانباً ليشرح لي، وأقتبس: "الكوبول هو الحياة". أخذت هذه الرسالة إلى قلبي وقررت أنني لا أرغب أن تدور حياتي حول الكوبول. كان ذلك الصيف آخر مرة أبرمج فيها بأي لغة كوبول.

صورة11.jpg

مولد برامج التقارير (RPG)

لا ، إنها ليست قاذفة صواريخ أو لعبة تقمص أدوار. كانت RPG برنامجًا لإنشاء التقارير. يمكنك رؤية التطور في اللغة (وتفكير لغة الحاسوب بشكل عام) بين النسختين المعروضتين أدناه. يرجع RPG II إلى أواخر الخمسينيات من القرن الماضي. تم تحديث RPG IV في التسعينيات من القرن الماضي وهو أكثر حداثة (ولكن لا يزال مؤرخًا بشكل واضح).

قمت بكتابة بعض البرامج RPG III لجهاز AS/400 كجزء فرعي من أعمالي خلال فترة الجامعة، لكن لم يكن شيئًا أتابعه عن كثب.

صورة3.jpg

Lisp

لدي علاقة حب طويلة مع ليسب. يتم وصف ليسب ، الذي يحمل اسم LISt Processor ، في بعض الأحيان بالأقواس الكثيرة غير المفيدة والمثيرة للاهتمام. لسبب ما ، كانت تلك الأقواس تنقر في عقلي. كانت ليسب السبب في أنني بدأت ببرمجة الذكاء الاصطناعي ، وكما تعلمنا من معالجة ChatGPT للغة ، يمكن تمثيل المعرفة على شكل سلاسل من الكلمات ، أو قوائم.

في ثمانينيات القرن الماضي، كنت مديرًا للمنتجات لتنفيذ لغة Common Lisp مبنية على مجموعة التوجيهات التفاعلية RISC وقمت ببرمجتها لبعض الوقت. استنادًا إلى توليد شيفرة المصدر من ChatGPT بهيئة defun greeting و let، يبدو أن الشيفرة الموجودة أدناه هي أيضًا Common Lisp، وهي تطورًا للنسخة الأولى من Lisp التي أنشأها جون مكارثي في أواخر الخمسينيات. مكارثي كان من ضمن الأضواء الساطعة في مجال بحوث الذكاء الاصطناعي، لذلك من الملائم أن يكون برنامج ذكاء اصطناعي يكتب بلغة عمله.

صورة 4.jpg

ألجول

ALGOL (لغة الجورية) كانت في زمنها متقدمة. سمحت بتمرير الدوال كمعاملات، وسمحت باستخدام التكرار. هذه هي مكوناتين رئيسيتين في البرمجة الحديثة التي كانت غير موجودة في اللغات الشائعة مثل فورتران وكوبول، اللغتين الشائعتين في نفس فترة ظهور الجورية.

إذا كانت Fortran و BASIC ولغة التجميع علمتني البرمجة من الأعلى إلى الأسفل، فقد علمتني ALGOL كيفية تنظيم الشفرة الخاصة بي. كانت لغة أساسية أسهمت في استخدامي للغة C و Pascal و Java و JavaScript ومعظم اللغات المنظمة الحديثة التي نستخدمها اليوم.

صورة5.jpg

سموها

سيمولا، كما قد تتخيل، تم تطويرها للمحاكاة والنمذجة. مثل الجولة، كانت سيمولا أيضًا في وقتها متقدمة، تدعم استخدام الكائنات والفئات. أصبح البرمجة الموجهة للكائنات منذ ذلك الحين أساسية للعديد من لغات البرمجة الأكثر فعالية اليوم.

استخدام الكلمة الرئيسية OUTFIX يخبرني أن ChatGPT ربما كتب الكود التالي في سيميلا-67.

صورة6.jpg

BAL (لغة تجميع IBM 360/370)

بال، والتي تعني "لغة التجميع الأساسية"، كانت لغة التجميع لآلات إي بي إم الكبيرة في فترة السبعينيات والثمانينيات. تُعتبر لغة التجميع "أكثر مستوى منخفض" من "اللغات ذات المستوى العالي"، مما يعني أن التعليمات والكلمات الرئيسية تتطابق مع تعليمات المعالج الفردية. في اللغات ذات المستوى العالي (مثل معظم اللغات التي نستخدمها اليوم)، غالبًا ما يكون اللغة بعيدة جدًا عن الهندسة المعمارية للجهاز الأساسية، وتكون مصممة بشكل أكبر لكفاءة البرمجة بدلاً من الاستخدام الفعال للأجهزة.

أخذت فصلاً من بال في الكلية. كانت صعبة. قضى الأستاذ معظم الأيام واقفاً بظهره للطلاب، يتذمر خلال محاضرته بصوت أحادي اللون، مع الكتابة بلا توقف على السبورة. جلست في الصف الخلفي بجوار فتاة تُدعى لورا. في يوم من الأيام، قررت لورا وأنا التسلل خلال النافذة الخلفية لشراء القهوة. بمجرد أن اشترينا القهوة، تسلقنا من جديد عبر النافذة. الأستاذ لم ينتبه أبدًا.

إنه أمر مدهش أن أي منا اجتاز، ولكن ليس من المستغرب أنه تقريباً لا أحد اختار برمجة BAL كسلاح برمجته المفضل.

صورة 8.jpg

APL

APL، أو لغة البرمجة المتطورة، هي لغة برمجة أخرى. أحد أبرز جوانب APL هو أنها تستخدم مجموعة غير قياسية من الأحرف لبعض المشغلات والبرمجة. يمكنك رؤية ذلك في الصورة أدناه. الرموز الصغيرة هي ما تمكنت ChatGPT من استخلاصه من الخط الذي كان يستخدمه، ولكن APL مصممة لاستخدام خط APL385 Unicode، الذي يعتبر فريدًا لبرمجة APL.

بسبب كيفية صيغة مختصرة له وقدرته على التعامل مع مجموعات البيانات الكبيرة بشكل جيد، يتم استخدامه في عدد كبير من المشاريع العلمية والمالية والتحليلية.

صورة10.jpg

برولوغ

الــبروگ (الذي يشتق من عبارة البرمجة في المنطق) هو لغة أخرى متخصصة في الذكاء الاصطناعي. البروگ هي لغة إعلانية، حيث يتم سرد القواعد والشروط ثم تشغيل الاستعلامات على هذه الإعلانات. وفقًا لـ ChatGPT:

برولوج هي إحدى لغات البرمجة المستخدمة في تطوير تشات جي بي تي، على وجه التحديد لإنشاء النصوص. تُستخدم في وحدة البرولوج إلى الإنجليزية، والتي تقوم بترجمة الأشكال المنطقية في برولوج إلى جمل باللغة الطبيعية.

صورة1.jpg

صغير الحديث

آلة الكلام هي مميزة. تم تطويرها في مختبر Xerox PARC نفس المختبر البحثي الذي أثر في تطوير الماوس والبيئات ذات النوافذ. استوعبت بعض الابتكارات في البرمجة الموجهة نحو الكائنات المستلهمة من Simula وذهبت بعد ذلك. كما كانت واحدة من أولى اللغات التي استخدمت بنشاط بيئة برمجة تفاعلية قائمة على واجهة المستخدم الرسومية . تأثرت العديد من لغات البرمجة الحديثة، بما في ذلك جافا وبايثون وروبي، بشكل كبير بـ Smalltalk.

لقد تعاملت فقط مع سمولتوك بشكل سطحي، في الغالب لمعرفتها. وأثناء إقامتي في وادي السيليكون آنذاك، تعرفت على أصحاب تصميم سمولتوك، الذين في وقت لاحق أسسوا شركة باركبليس سيستمز، في محاولة لتجاريتها خارج جمود جمعية زيروكس الشركية. لدي العديد من الذكريات الجميلة بالحديث عن نظريات البرمجة أثناء تناول الضلوع مع سلطة الملفوف الخشنة في مطعم شواء صغير ومتهالك في بايلو ألتو.

أحد نواب الرؤساء الذين عملت معهم في شركة الحواسيب التي كنت موظفًا فيها حاول أن يقنعني بالبدء في شركة معه لتطبيق Smalltalk في سوق الشركات، ولكنني لم أتعرض بعد لحمى الشركات الناشئة. لم ينجح Smalltalk أبدًا كسوق. ومع ذلك، بالرغم من سعادتي بمسار حياتي الحالي، أتساءل أحيانًا عما كان سيحدث لو قبلت عرضه.

صورة2.jpg

لدي أفكار

لم أقم بتشغيل هذا الكود، وبما أنني لا أمتلك نفس الخبرة الحديثة في هذه اللغات كما أمتلك في لغات PHP و JavaScript، لا يمكنني أن أكون متأكدًا من أن مراجعتي البصرية تضمن أن الكود المعروض أعلاه سيعمل بنجاح. كما رأينا في وقت سابق من هذا الأسبوع في استكشاف مهارات بارد البرمجية الجديدة، من الممكن كتابة الكود دون أن يعمل.

أيضًا: طلبت من ChatGPT كتابة إضافة ووردبريس التي كنت بحاجة إليها. فقد فعلت ذلك في أقل من 5 دقائق

نعلم أن هناك خطأ واحد على الأقل في كل مثال: العناوين غير صحيحة. لذلك، في حين أن قدرة الذكاء الاصطناعي على إنشاء أكواد بعض اللغات الغريبة نسبيًا هي شيء رائع للغاية، لا تفترض أنه يقوم بالمهمة بشكل صحيح بالكامل.

إذا قررت دمج برمجة ChatGPT في سير عملك، فسوف تحتاج إلى التحقق واختبار وتصحيح الكود الذي يولده تمامًا كما تفعل إذا استأجرت شخصًا لكتابة بعض الروتينات الأساسية لك.

المقالات ذات الصلة

عرض المزيد >>

أطلق العنان لقوة الذكاء الاصطناعي مع HIX.AI!