أبل تقرر إلغاء دعم تشغيل الـ Scripting Language بشكل افتراضى على نظام ماك
الـ Scripting Languages هى عبارة عن اللغات التى تُكتب وتُنفذ دون التحول إلى شكل آخر. أى تظل بنفس الشكل ويتم ترجمة معنى الكود للغة الآلة فى لحظة تنفيذ الكود فقط. من أمثلة لغات كتابة السكربت هى لغة بايثون، ولغة بيرل، ولغة روبى، ولغة جافاسكربت، ولغة بى إتش بى.
معنى قرار شركة آبل أن كل لغات كتابة السكربتات لن تكون متاحة للتشغيل بشكل افتراضى فى نظام ماك أو إس الذى تعمل به كل لابتوبات والحواسيب المكتبية الخاصة بشركة آبل. ولكن يُمكنك تنزيل بيئة البرمجة بالـ scripting languages كما تحب ويُمكنك أيضاً تنزيل وتشغيل الـ runtime الخاص بهذه اللغات لكى تعمل على نظام ماك. ولكنك ستعمل كل هذا بشكل يدوى أو تضيفه إلى حزمة البرنامج.
هذا القرار صعب على الكثير من المستخدمين والمبرمجين، ولكنّى أتفق مع شركة آبل فى هذا القرار 🤨. نص القرار موجود على هذه الصفحة على موقع شركة آبل للمطورين وهذه صورة بالبند الذى نتكلم عنه.
هل قرار عدم دعم لغات السكربتات مفيد؟ 🔗
بإختصار، نعم، هذا القرار مفيد جداً فى سرعة وسلاسة وأمان النظام. لغات كتابة السكربتات مثل لغة بايثون ولغة روبى ولغة بيرل ولغة جافاسكربت هى لغات بطيئة جداً مقارنة باللغات الـ compiled languages مثل لغة سويفت، ولغة سى، ولغة سى بلس بلس، ولغة جو، ولغة راست، ولغة جافا،.. إلخ.
لذلك من الأفضل استخدام برامج تعمل بلغات مترجمة (compiled) لكى تحصل على هذه السرعة المهدرة بسبب استخدام لغات الـ scripting languages.
لغات كتابة السكربتات أيضاً تُسَهّل اصابة جهازك بالفيروسات والبرمجيات الخبيثة. ﻷن وجود ملف واحد به بعض الكلمات ويتم تنفيذه بإستخدام runtime الخاص باللغة قادر على اتمام شئ معين يُمكن أن يكون عمل ضار بالجهاز أو إحدى الملفات. لذلك عدم دعم هذه اللغات سيجعل المستخدم الغير متخصص فى مجال البرمجة فى أمان أكثر. أما المتخصص فى مجال البرمجة يُمكنه تنزيل ما يريد واستخدام أى لغة كما يُحب.
ما هى أضرار هذا القرار؟ 🔗
هذا القرار مثله مثل أى قرار قامت به شركة آبل من قبل. مثل قرار إزالة محرك الإسطوانات من حواسيب آبل، وإزالة منفذ السماعات من الآيفون، وإزالة كل المنافذ من الماك بوك وإضافة منفذ الـ USB-C فقط. كل هذه القرارات مفيدة (ماعدا إزالة منفذ السماعات 😉) ولكنها كانت صعبه فى البداية بسبب تعودنا على استخدام هذه الخصائص.
من أهم المشاكل التى سببها هذا القرار هو عدم القدرة على تشغيل الكثير من الإضافات التى تعمل على نظام ماك والبرامج الموجوده على النظام. سيضطر المبرمجين لإعادة كتابة هذه السكربتات بلغة Swift أو لغة Go ﻷنهما أبسط لغتين للكتابة لنظام ماك أو إس. ولكن أنا كمبرمج أرى أن فائدة هذا القرار أقوى من ضرره والتعب الذى يُسببه للمبرمجين.
نقد لنظام ويندوز ولينكس 🔗
من الأشياء الكثيرة التى أراها فى لينكس بكل توزيعاته، ونظام ويندوز أن هناك استخدام مكثف للغات السكربتات كلغات لبرامج كثيرة وأساسية للمستخدم اليومى. وأشجع البُُعد بقدر المُستطاع عن هذه اللغات البطيئة على أجهزة سطح المكتب. ولكن لا مانع من استخدامها فى السيرفرات لتسهيل انشاء وإدارة كود المواقع الإلكترونية مثل PHP و Ruby و Python. وأنا أفضل استخدام لغة PHP على باقى لغات الـ Scripting Languages على السيرفرات.
أنا أرى أن استخدام لغة Bash كلغة Scripting على لينكس كافى جداً، ونستخدم معها لغات Compiled Languages مثل Swift أو Go أو Rust أو C أو Cpp أو Obj-C أو .. إلخ. ولكن استخدام لغات سكربتات بهذا الشكل تجعل نظام التشغيل بطئ جداً مما يُعيق استخدامه إن استمرينا بهذا الشكل فى البرمجة بلغات السكربتات.
كان هذا عرض لما حدث ورأيي فى القرار الذكى من شركة آبل. إن أردت متابعة الموضوعات الجديدة التى أنشرها هنا على الموقع انضم لقناة تيليجرام لكى تصلك الموضوعات على صندوق الوارد.