تعلّم البرمجة بلغة كوتلن (7): تنفيذ أول برنامج كوتلن عبر واجهة سطر الأوامر

تعلّم البرمجة بلغة كوتلن (7): تنفيذ أول برنامج كوتلن عبر واجهة سطر الأوامر
استمع إلى المقال

شرحنا في دروس سابقة من هذه السلسلة، ماذا تعني واجهة سطر الأوامر وكيف يمكننا عبر لغة الأوامر توجيه تعليمات للحاسب لينفذها. وأيضًا تحدثنا في درس آخر عن المترجم Compiler وما هي مهمته وكيف يعمل. وتعرفنا أيضًا على لغة كوتلن كلغة JVM، بمعنى أنها لغة تستهدف حاسب جافا الافتراضي Java Virtual Machine.

في هذا الدرس، سنتعرف على كيف كتابة شفرة كوتلن في ملف، ثم تجميعها وترجمتها إلى لغة الآلة عبر مترجم كوتلن Kotlin Compiler، ثم تنفيذها كبرنامج من سطر الأوامر.

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

تنويه: في هذا الدرس سنستخدم نظام التشغيل ويندوز باعتباره النظام الأكثر استخداما. من يستخدم لينوكس أو ماك، ستكون الخطوات هي نفسها.

تنفيذ برامج كوتلن عبر واجهة سطر الأوامر:

للبدء مباشرة مع كوتلن، نحتاج إلى تحميل مترجم كوتلنKotlin Compiler. فكما قلنا في الدروس السابقة، أن الحاسب لا يستطيع فهم المفردات التي نكتبها عبر لغة كوتلن. لذا، هذا المترجم ستكون مهمته هي ترجمة مفردات لغة كوتلن إلى لغة آلة تسمى جافا بايت كود Java bytecode. والتي بدورها لن يفهمها إلا برنامج حاسوب جافا الافتراضي JVM. لذا سنحتاج أيضًا، تحميل برنامج الـ JVM في جهازنا.

إذًا، ما نحتاجه هو:

1- مترجم كوتلن Kotlin Compiler:

لتحميل هذا المترجم، نذهب إلى هذا الرابط وهو مستودع لغة كوتلن الرسمي على موقع GitHub. وننزل إلى أسفل الصفحة، حتى نجد كلمة Assets وتحتها عدة روابط لملفات مضغوطة. نضغط على أول رابط لتحميل الملف المضغوط في جهازنا، على النحو التالي:

Screenshot-from-2021-11-09-20-04-23

ثم حفظ الملف في أي مكان في جهازنا حسب رغبتنا:

أنا هنا إخترت حفظه على سطح المكتب الـ Desktop:

الآن سنفك الضغط عن الملف، عبر الضغط بالزر الأيمن على الملف وإختيار Extract All:

وبالضغط على Extract:

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

أنا هنا إخترت نقله إلى مجلد المستخدم ExVar:

كما يظهر في الصورة أعلاه، أن المجلد وضعناه على هذا المسار C:\Users\ExVar. داخل مجلد kotlinc، يوجد مجلد بإسم bin. مجلد الـ bin هذا، هو الذي به كل ملفات مترجم كوتلن. لذا كلما أردنا العمل مع المترجم في موجه الأوامر CMD في ويندوز، سنكتب هذا مسار مجلد الـ bin هذا داخل الـ CMD كما شرحنا في درس سطر الأوامر.

سيكون من الممل جداً، كتابة مسار مجلد الـ bin، في كل مرة نريد التعامل مع مترجم كوتلن في سطر الأوامر. لحسن الحظ، هناك طريقة تجعلنا نكتب إسم المترجم هكذا kotlinc دون كتابة المسار كاملاً ونضع الأوامر بعدها ليتم تنفيذها.
لفعل ذلك، سنذهب إلى مسار مجلد الـ bin، وننسخ المسار ونضعه كمتغير PATH في النظام. ومتى ما كتبنا كلمة kotlinc في الـ CMD، سيفهم الـ CMD أننا نقصد مترجم كوتلن الموجود في مجلد الـ bin. لذا، سنقوم بالتالي:

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

بعدها ستظهر النافذة التالية سنختار Advanced من القائمة الأفقية العلوية، ثم Environment Variables:

ستفتح نافذة متغيرات النظام. سنضغط على Path ثم على Edit:

الآن سنذهب إلى مجلد bin داخل مجلد kotlinc وننسخ المسار كامل:

ثم نعود إلى نافذة متغيرات النظام ونضغط على New ثم نلصق مسار المجلد في السطر التالي، ثم Ok:

ثم نضغط على Ok لكل النوافذ حتى إغلاقها بالكامل. وهكذا عرفنا الويندوز على مسار لملف تنفيذي جديد ألا وهو ملف مترجم كوتلن kotlinc.

2- تحميل حاسوب جافا الافتراضي Java Virtual Machine:

لايأتي برنامج الـ JVM منفصلًا، بل مدمجًا مع مجموعة تطوير جافا Java Development Kit والتي تعرف اختصارًا بـ JDK. سنذهب لهذا الرابط لتحميل آخر نسخة من الـ JDK. بعد الدخول إلى الرابط، سنختار النسخة الخاصة بنظام التشغيل الخاص بنا الذي نعمل عليه، وهو في حالتنا هذه نظام الويندوز:

وكما فعلنا عند تحميل برنامج مترجم كوتلن، نقوم بالضغط على Save as ومن ثم نختار مكان حفظ الملف.

أنا هنا اخترت تحميل وحفظ الملف، في مجلد المستخدم ExVar. يمكنك اختيار أي مجلد كما ترغب:

بعد انتهاء تحميل الملف، نضغط عليه مرتين وفي النافذة التالية نضغط على Yes:

تم تحميل الجافا في نظام التشغيل بنجاح.

وللتأكد من أن جافا وكوتلن يعملان في نظام التشغيل، يمكننا كتابة Java -version و Kotlin -version أو kotlinc في موجه الأوامر CMD. كالتالي:

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

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

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

مهمة مترجم كوتلن kotlinc هي ترجمة شفرة كوتلن التي نكتبها في ملف يحمل الإمتداد kt. في اسمه، إلى لغة جافا بايت كود، وانتاج ملف جديد يحوي الشفرة الجديدة ويحمل الإمتداد jar. في اسمه. ومهمة الـ JDK هي، أخذ هذا الملف الذي ينتهي اسمه بـ jar.، وتنفيذه على نظام التشغيل.

الكلام النظري أعلاه سيكون أوضح في الفقرة التالية، لأننا سنشرحه بالصور.

تجميع وترجمة وتنفيذ برنامج كوتلن عبر موجه سطر الأوامر:

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

بعد فتح برنامج الـ Notepad، سنضع فيه شفرة كوتلن التالية:

fun main() = print(“Hello, World!”)

سيعمل سطر شفرة كوتلن أعلاه، على طباعة كلمة !Hello, World على شاشة الحاسب. ولكن ليس علينا فهم ما يعنيه السطر السابق كاملًا في هذا الدرس، ما يهمنا هو فهم طريقة عمل مترجم كوتلن في تجميع وترجمة الشفرة، ومن ثم تنفيذها من قبل حاسوب جافا الافتراضي، على نظام التشغيل.

سنحفظ الملف بالضغط على Save as من قائمة File:

سنختار مكان الحفظ في أي مجلد نرغب. أنا هنا اخترت مجلد Programming، وهو نفس المجلد الذي أنشأناه في درس سطر الأوامر:

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

في المربع أسفل مربع الاسم، هناك مربع لإختيار نوع الملف. هنا نختار All Files بدلًا عن الإمتداد txt.، لأن إمتداد txt. خاص بالملفات النصية:

ثم نضغط على Save، لحفظ ملف hello.kt في مجلد Programming:

تم حفظ الملف في مجلد Programming، ونوع الملف KT File:

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

إذًا، سنذهب لموجه الأوامر CMD بالبحث عنه في الويندوز:

بعد فتح برنامج موجه الأوامر CMD، سيفتح إفتراضيًا في مجلد المستخدم الحالي للنظام، وهو هنا ExVar. ولكننا نريد العمل على مجلد Programming. لذا، سننتقل إليه عبر الأمر cd ووضع اسم المجلد Programming كمعامل لأمر cd، كالتالي:

أصبحنا داخل مجلد Programming والذي يوجد بداخله ملف hello.kt. يمكننا التأكد من ان المجلد يحتوي على الملف، بكتابة أمر dir على موجه الأوامر في الويندوز أو امر ls في نظامي ماك ولينوكس، كالتالي:

الآن يمكننا إستدعاء مترجم كوتلن باستخدام كلمة kotlinc ومن ثم سنضع اسم الملف الذي نريد ترجمته كاملًا بإمتداده kt.، ثم نضع المعامل d- لإخبار المترجم بمسار الملف الجديد الذي سيستخرجه.ولأننا لم نضع اسم أي مسار لمجلد آخر، فسيتم حفظ الملف الجديد في نفس المجلد الذي نعمل عليه، مجلد Programming. وأخيرًا، نضع اسم الملف الجديد الذي سيحوي شفرة الآلة ولابد أن ينتهي اسمه بإمتداد jar.، ليتعرف عليه حاسوب جافا الافتراضي وينفذه. ليكون السطر كاملًا:

kotlinc hello.kt -d hello.jar

بعد انتهاء المترجم kotlinc من عمله، سينتج ملف جديد يحمل الاسم الذي اخترناه في موجه الأوامر أعلاه. هذا الملف ذو الإمتداد jar.، هو الملف التنفيذي الذي سينفذه حاسوب جافا الافتراضي على نظام التشغيل:

لتننفيذ الملف التنفيذي hello.jar، سنعود لموجه الأوامر، ونضع الأمر التالي:

java -jar hello.jar

كما نرى في الأمر أعلاه، أننا إستدعينا آلة جافا ووضعنا لها معامل jar- واسم الملف الذي نريد من حاسوب جافا الافتراضي تنفيذه، hello.jar. ثم بعد الضغط على Enter في لوحة المفاتيح، سينفذ حاسوب جافا الافتراضي JVM كود الـ جافا بايت كود على نظام تشغيلنا، ليستخرج النتيجة التي ننتظرها:Hello World! مرحبًا أيها العالم!

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

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

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

من ضمن هذه البرامج، برنامج IntelliJ IDEA IDE. وهو برنامج من إنتاج نفس الشركة التي تقوم بتطوير لغة البرمجة كوتلن. لذا، هو متكامل بديهيًا مع لغة كوتلن ويدعمها بقوة.

سنرى روعة هذا البرنامج ومدى قوته في تسهيل العمل لإنتاج البرامج والتطبيقات، في درس بيئة التطوير IntelliJ IDEA.

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

هل أعجبك المحتوى وتريد المزيد منه يصل إلى صندوق بريدك الإلكتروني بشكلٍ دوري؟
انضم إلى قائمة من يقدّرون محتوى إكسڤار واشترك بنشرتنا البريدية.