تعلّم البرمجة بلغة كوتلن (9): لماذا لغة البرمجة كوتلن؟

تعلّم البرمجة بلغة كوتلن (9): لماذا لغة البرمجة كوتلن؟
استمع إلى المقال

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

بداية تعلم البرمجة:

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

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

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

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

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

ما هي كوتلن:

كوتلن لغة برمجة حديثة نوعًا ما، صدر الإصدار الأول (Version 1.0) منها في العام 2016. تعتبر لغة كوتلن لغة موجزة، وآمنة، وعملية، وتركز على قابلية التشغيل البيني مع شفرة جافا. يمكن استخدام لغة كوتلن في كل مكان تقريبًا تستخدم فيه جافا اليوم.

تعمل كوتلن بشكل رائع مع جميع مكتبات وأطر عمل جافا الموجودة بنفس مستوى أداء جافا. في هذا الدرس، سوف نستكشف معًا سمات وميزات كوتلن الرئيسية بالتفصيل.

هدف كوتلن الأساسي:

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

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

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

قابلية القراءة Readability:

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

استهداف منصات متعددة Multi-Platform:

يمكن تجميع وترجمة الشفرة المصدرية المكتوبة بلغة كوتلن، لتعمل على منصات وأنظمة تشغيل مختلفة، مثل:

  • حاسوب أو آلة جافا الافتراضية JVM: لدى لغة كوتلن مترجم Compiler خاص بها، يعمل على تجميع وترجمة شفرتها إلى شفرة Java bytecode (والتي ستكون في ملفات ذات امتداد class.)، والتي يمكن تشغيلها بعد ذلك على أي Java Virtual Machine (JVM). بالتالي، سيشتغل البرنامج المكتوب بكوتلن، على أي منصة أو نظام تشغيل يتوفر له JVM خاص به. لمزيد من الشرح المفصل عن هذا الأمر، يمكن مراجعة الدرس السادس، كوتلن كلغة JVM من هذه السلسلة.
  • نظام أندرويد: يملك أندرويد آلة افتراضية تسمى ART (سابقًا كانت تسمى Dalvik Virtual Machine). يتم تجميع وترجمة شفرة كوتلن، إلى ملفات ذات امتداد dex. ليتم تنفيذها وتشغيلها في الـ Android Runtime (ART).
  • جافا سكريبت JavaScript: يتم ترجمة شفرة كوتلن إلى لغة جافا سكريبت، لتعمل على المتصفحات.
  • لغة الآلة الأصلية Native Binary: يمكن ترجمة شفرة كوتلن إلى لغة آلة مباشرة لتعمل على بعض المعالجات.

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

دعم أنماط برمجية متعددة Multi-Paradigm:

تدعم كوتلن نماذج أو أنماط برمجية متعددة، مثل البرمجة:

  • الحتمية أو الأمرية Imperative programming.
  • الوظيفية Functional programming.
  • الشيئية أو الكائنية Object-oriented programming.

الأدوات المساعد للمبرمج (بيئات التطوير IDEs، الإضافات Plugins):

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

التكامل والتشغيل البيني مع لغة جافا:

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

ماذا يعني هذا للمبتدئين في البرمجة:

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

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

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

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

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