HyperAI

استغل العطلة لممارسة قوتك الداخلية وتعليمك كيفية التبديل بسلاسة بين لغات البرمجة

منذ 7 أعوام
معلومة
Dao Wei
特色图像

ألم تغيير المبرمجين للأسلحة

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

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

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

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

لا تنهار بعد.

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

ولحل هذه المشكلة، توصل ثلاثة مهندسين من جامعة ولاية كارولينا الشمالية (NCSU) إلى حل جيد.

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

إجراءات التفكيك التقليدية وجدار الهواء للمبتدئين

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

وبعبارات بسيطة، يعني ذلك تعلم المعرفة الجديدة من خلال المعرفة الموجودة.

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

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

على سبيل المثال، من الصعب جدًا على شخص على دراية باللغات الإجرائية (مثل C) أن يتعلم اللغات الموجهة للكائنات (مثل C++). نظرًا لأن أفكار اللغتين مختلفة جدًا، فمن الصعب استنتاج التعلم باستخدام أسلوب التعلم القياسي.

على سبيل المثال، من الصعب جدًا جعل مبرمجي VB يتعلمون ASP. لأن أحدهما عبارة عن بنية C/S (عميل/خادم) والآخر عبارة عن بنية B/S (متصفح/خادم).

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

بالإضافة إلى ذلك، بعد البدء في تعلم لغة جديدة، سوف تواجه أيضًا المشكلات التالية في التطبيق العملي:

1. التفكير بالقصور الذاتي

بعد تعلم لغات متعددة، غالبًا ما نخلط بين القواعد النحوية ونخلط بينها. على سبيل المثال، بعض اللغات تستخدم ";" كحرف النهاية، بينما يستخدم البعض الآخر "Enter". إذا كانت اللغة التي تعرفها تنتهي بـ ";"، فسيكون من الصعب تصحيحها بسبب التفكير القصوري.

2. ظروف تشغيل البرنامج المختلفة

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

3. قضايا الاتصال في اللغة

إن وظائف الاستدعاء المشاركة في اللغة هي وسائل مستخدمة بشكل شائع، إلا أن اللغات المختلفة تستخدم استدعاءات مختلفة. لذلك، عند البدء بلغة جديدة، يجب على المبرمجين الانتباه جيدًا إلى كيفية استدعاء اللغة الجديدة.

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

أدوات جديدة تفتح الباب لعالم جديد

من أجل مساعدة المبرمجين المبتدئين في إتقان طريقة التعلم القياسي وحل المشكلات التي تنشأ في عملية تطبيق اللغات الجديدة، يلعب Transfer Tutor، وهي أداة تعليمية طورها ثلاثة مهندسين من جامعة ولاية كارولينا الشمالية، دورًا مساعدًا جيدًا.


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

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

1. النقل السلبي: النقل السلبي

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

2. النقل الإيجابي

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

3. حقيقة جديدة: بناء جملة جديد

بالنسبة للقواعد النحوية الفريدة في اللغات الجديدة، سيوفر Transfer Tutor للمستخدمين تفسيرات وأمثلة مفصلة للمساعدة في الحفظ وتقصير وقت التعلم للمستخدم.

دعونا نأخذ لغات Python و R الشائعة كأمثلة لمعرفة كيفية عمل هذه الأداة.

يجب على أولئك الذين هم على دراية بهما أن يعرفوا أن هناك أوجه تشابه بين لغتي Python و R، ولكن هناك أيضًا اختلافات.

على سبيل المثال، عند تحديد جدول، يتم استخدام العامل "[ ]" لتحديد الصفوف في Python، ولكن يتم استخدامه لتحديد الأعمدة في R. في R، يجب إضافة "," لتحديد الصفوف. عند إجراء عملية التقليص، يكون المؤشر السفلي في Python عبارة عن فاصل مفتوح يبدأ من 0 (أي [0:5]، والنتيجة هي 0-4)، بينما يكون المؤشر السفلي في لغة R عبارة عن فاصل مغلق يبدأ من 1 (أي [1:5]، والنتيجة هي 1-5).

كسر حاجز Python إلى R

كيف يساعدنا Transfer Tutor في كسر الحواجز بين الاثنين؟

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

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

أخيرًا، تتيح لك وظيفة الفحص الذاتي لبرنامج Transfer Tutor إجراء تصحيح أخطاء خطوة واحدة للكود المكتوب باللغة الجديدة. يتم استخدامه للتأكد من صحة نتائج التعلم وتوضيح الاختلافات بين اللغتين بشكل منفصل.

وبناءً على عملية التشغيل التجريبية، فإن الأداة فعالة للغاية في نقل التعلم من لغة Python إلى لغة R، مما يسمح للمبرمجين بتحقيق "اشترِ واحدًا واحصل على واحد مجانًا" لهاتين اللغتين.

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

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