نشرة حوسبة #37: لماذا ربحت بايثون حرب لغات البرمجة؟
بايثون صارت لغة البرمجة الأساسية في معظم الجامعات التي تدرّس علوم الحاسوب.
حياكم الله جميعًا مشتركي نشرة علوم الحاسوب من حوسبة. نأمل أن تجدوا في هذه النشرة سلوةً لما تفتقدونه من نقاشاتٍ متعلقة بمواضيع علوم الحاسوب وكافّة تخصصاتها في الويب العربي.
إليكم محتوى هذا العدد.
نقاش العدد: لماذا ربحت بايثون حرب لغات البرمجة؟
بايثون هي من أشهر لغات البرمجة المجانية والمفتوحة المصدر حول العالم، وهذا أمرٌ معروفٌ اليوم ولكن بايثون لم تصبح كذلك بين يومٍ وليلة، وقد كان هناك سباقٌ طويل بين لغات البرمجة قبل عشر سنوات على المراكز التي تحتلها بايثون حاليًا.
يستعمل 50% تقريبًا من المبرمجين بايثون للبرمجة وفقًا لإحصائيات موقع StackOverFlow المتخصص بالأسئلة البرمجية، مباشرةً وراء جافاسكربت وHTML/CSS اللتين تُستعملان لكتابة وتشغيل كامل مواقع الإنترنت:
تفجّر نقاش طويل على مجتمع هاكرنيوز عن “لماذا ربحت بايثون”؟ وكانت فكرته أن لغات برمجة أخرى مثل روبي كانت موجودة قبل عشر سنوات وتمتلك الكثير من مميزات بايثون أيضًا، فلماذا لم تحصل على نفس الزخم الذي حصلت عليه بايثون؟
تعددت الأسباب والإجابات لذلك، ولكن أبرزها كان أن بايثون تُستعمل في مجالاتٍ متعددة وتمتلك مكتباتٍ برمجية قوية لا تمتلكها اللغات الأخرى مثل:
تطبيقات الذكاء الصناعي وأبرزها PyTorch.
تحليل البيانات والاستخدامات الأكاديمية عبر مكتبات Pandas وMatplotlib وNumpy.
تطبيقات الويب مثل Django وFlask وغيرها.
تطبيقات سطح المكتب عبر مكتبات Gtk وQt وTK وغيرها.
لكتابة السكربتات سواءٌ في اختبار الاختراق، أو الاستخدامات الشخصية، أو للخواديم.
غير ذلك الكثير.
وبالتالي يتمكّن المستخدم من البرمجة لكل هذه المجالات عبر تعلّم لغة برمجية واحدة فقط، وهذا مكسبٌ كبير لم تتمكن من فعله اللغات الأخرى التي قد تتخصص في مجالٍ واحدٍ أو اثنين.
في المقابل ماذا لدى لغة روبي غير إطار عمل Ruby on Rails، وماذا لدى PHP غير سكربت ووردبريس وجوملا ودروبال وأشباهه، وماذا أمام السي غير الكثير من التعقيد والصعوبة لكتابة التعريفات وأنظمة التشغيل والبرامج الكبيرة؟ كان نجاح بايثون طبيعيًا جدًا أمام هذه اللغات.
ومن الأسباب الأخرى المفضية إلى انتشار بايثون هو سهولة المحافظة على البرمجيات المكتوبة بها وصيانتها؛ لم يحصل لدينا انتقال كبير نسبيًا في بايثون سوى من بايثون 2 إلى بايثون 3، في المقابل بعض لغات البرمجة تتغير بشكل كبير كل سنتين أو ثلاثة وتجعل المكتبات والشفرات البرمجية المكتوبة بها قديمة، مما يتطلب إعادة كتابتها من جديد وفق الإصدارات الحديثة لضمان عملها وهو ما يأخذ الكثير من الوقت والجهد والمال.
أي أن الأمر لم يكن نقاشًا تقنيًا بحتًا بل كان هناك رابط بالاقتصاد وعالم الأعمال والشركات، فلا تظنن البعد التقني وحده هو ما يقرر ما التقنية التي ستحكم علوم الحاسوب مستقبلًا.
لهذا ما تزال بايثون اللغة البرمجية التي ننصح بها - نحن وغيرنا - بتعلّمها أولًا لطلاب علوم الحاسوب والمهتمين بالبرمجة، لأنها ستفتح للمرء مجالاتٍ كثيرة بعدها، كما أن تعلمها سهلٌ جدًا فهي تكاد تكون ككتابة اللغة الإنجليزية العادية. (هذا مقال على موقعنا عن تعلم البرمجة).
كل هذا على الرغم من علمنا بأن بايثون ليست بسرعة جافا ولا بقدرة C/C++/C# لتطوير الألعاب ولا بمرونة Perl للسكربتات ولا بقدرة R في علوم البيانات… ولكنها مع ذلك نجحت لتأخذ حيزًا لا بأس به في جميع هذه المجالات. وهناك مقولة ساخرة تقول (مقتبسة من هاكرنيوز):
ليست بايثون أفضل لغة برمجة لأداء أي مهمة، إلا أنها تكاد تكون ثاني أفضل لغة برمجة لأداء أي مهمة.
والمكتبات، كما شرحنا، كانت هي الأسباب المؤدية لذلك.
وهنا درسٌ مهم: قد يكون منتجك هو الأسرع أو الأفضل أو الأقوى في مجاله، إلا أن الناس قد يفضلون منتجاتٍ أخرى إن تمكنوا من تطويعها واستخدامها في أكثر من مجالٍ سويةً بدلًا من أن يبحثوا عن الأفضل في كل مجال. أي أنه لا يكفي أن تكتفي بنجاح منتجك المنفرد وحده فحسب؛ بل عليك أن تحاول بناء نظام متكامل (Ecosystem) حوله إن أردت ضمان السوق.
كل لغات البرمجة تتفوق على بايثون إن قورنت بمجالها لوحده، إلا أن بايثون تتفوق عليهم جميعًا في تعدد المجالات، ولعل هذا هو السبب الرئيسي لنجاحها وهيمنتها على علوم الحاسوب.
شاركونا آراءكم عن هذا العدد، أو عن الأعداد السابقة من نشرة حوسبة بشكل عام على تويتر تحت الوسم #نقاشات_نشرة_حوسبة
أخبار ومواد سريعة
ستجد في هذا القسم بعض الأخبار والمواد السريعة عن مختلف مجالات علوم الحاسوب والتقنية.
أعلنت شركة مايكروسوفت عن نيتها بجلب بايثون إلى داخل برنامج إكسل، مما يعني إمكانية كتابة شفرات بايثون داخل البرنامج من أجل إجراء العمليات الحسابية أو رسم الرسومات البيانية كما يحتاجه المستخدم. بالطبع لن تحصل على بيئة بايثون كاملة حقيقية داخل البرنامج (لأن هذا يشكل خطرًا أمنيًا) فمثلًا لا يوجد وصول إلى الإنترنت، ولكن يمكنك استخدام شفرات بايثون الأساسية وبعض المكتبات مثل Pandas وMatplotlib وغيرها لعمل ما تحتاجه على بياناتك في ملفات إكسل.
بدأ موقع يوتيوب في منع المستخدمين الذين يستخدمون إضافات منع الإعلانات من تصفح الموقع (إما مباشرة عبر عرض نافذة منبثقة وطلب إلغاء تفعيل مانع الإعلانات، وإما بشكل غير مباشر عبر تحطيم الموقع إن كان المستخدم يمتلك إضافة مانع إعلانات). لا يتمكن متصفح فيرفكس حاليًا مع إضافة uBlock Origin من تصفح يوتيوب، وسيحتاج المستخدم إلى تعطيل الإضافة ومشاهدة الإعلانات:
ما تزال جوجل تطلق هذه التحديثات تدريجيًا للمستخدمين وليس دفعةً واحدة، ولهذا فإنك قد تجد أنواعًا من المتصفحات والإضافات التي ما تزال تعمل بينما لا تعمل غيرها، ويختلف الأمر باختلاف البلدان كذلك.
سنرى كيف ستتجاوب إضافات منع الإعلانات مع هذه التطورات، وهل سيمكنهم تطوير حلول لتجاوز هذه العقبات أم لا.
خسر متصفح فيرفكس 70 مليون مستخدم في السنوات الخمس الأخيرة، وهو ما يُنذر بأن موت متصفح ثعلب النار قد يكون قريبًا في السنوات المقبلة. انتقل الكثير من المستخدمين إلى متصفحات مثل Brave وChromium وVivaldi وغيرها، ولا يبدو أن الإدارة المُنشغلة بالقضايا السياسية والشاذّين تعمل على إصلاح المشكلة.
توفي Bram Moolenaar مطور المحرر البرمجي Vim.
مشاريع أو برمجيات مفيدة
ستجد في هذا القسم بعض البرمجيات أو المشاريع المفيدة التي اكتشفناها في الفترة الماضية والتي نرى أنها ستكون مفيدة لقرّائنا.
uBlackList هي إضافة متصفح تسمح بحظر موقع معيّن من الظهور في نتائج البحث على محركات البحث التي تريدها. سيساعدك هذا الأمر على حظر أسماء النطاقات منخفضة الجودة من الظهور في نتائج بحثك مثل موقع موضوع وأشباهه من مزارع المحتوى، مما يترك لك المواقع الأكثر جودةً لتعاينها في نتائج البحث. محرك بحث Kagi المدفوع يمتلك هذه الميزة أيضًا مدمجة في داخله وأكثر من ذلك.
DeArrow هي إضافة متصفح تستبدل الصور البارزة لمقاطع يوتيوب بصور عادية عشوائية مأخوذة من المقطع نفسه. قد ترى هذه الصور السيئة التي يستعملها أصحاب الفيديوهات لجذب المتابعين إلى النقر على فيديوهاتهم وإن أردت التخلص من ذلك فيمكنك استخدام هذه الإضافة. لاحظ أنها إضافة مدفوعة ($1 فقط) لكنها تسمح بالاستخدام المجاني إن طلبت منهم ذلك.
يمثّل هذا الموقع مرئيًا لهياكل البيانات والخوارزميات الأشهر في علوم الحاسوب، مما يساعد الطلاب والمعلمين على فهم وتعليم هذه الأمور، لأن رؤيتها وطريقة عملها بفيديو مرئي أسهل بكثير من محاولة فهمها كنص مكتوب. قد تحتاج هذا الموقع لاحقًا في مسيرتك إن كنت طالبًا من طلاب علوم الحاسوب.
عن انتقالنا من منصة هدهد إلى Substack
لعلك لاحظت أن هذه النشرة البريدية لم تصلك من منصة هدهد، بل وصلتك من منصة Substack، وقد كنّا أعلنا عن نيتنا بالانتقال قبل نحو شهرٍ تقريبًا على حساباتنا على مواقع التواصل.
أبرز الأسباب لانتقالنا كانت كالتالي:
منصة هدهد مليئة بالأخطاء والمشاكل التقنية والتي تواصلنا معهم منذ سنة لحلها إلا أنها لم تُحل إلى اللحظة. تخيل مثلًا أن صفحة النشرة لا يمكنها عرض كل الأعداد السابقة، وأن إحصائيات قراءات الأعداد والنقرات ليست صحيحة في الواقع، وأنه هناك أخطاء كثيرة تظهر أثناء تسجيل الدخول ومحاولة عمل عدد جديد… هذه أمور أساسية لا يمكن أن تكون متروكة بهذا الشكل لشهور دون إصلاح، لأن هذا يعني أن المنصة مُهملة.
هدهد يطالبك باشتراك مدفوع بعد 500 مشترك وهذا قليل نسبيًا. في المقابل لديك Substack يسمح لك بعدد لا نهائي من المشتركين وفقط يأخذ منك 10% من الأرباح إن بدأت ببيع الاشتراكات المدفوعة على نشرتك.
شبكة Substack شبكة احترافية لديها الكثير من الخدمات والأدوات الجاهزة بالفعل مثل خيارات الـSEO للنشرات وعمل نشرات فرعية تابعة للنشرة الأم واختيار الصور البارزة وتصميمها والاشتراكات والميزات المدفوعة وغير ذلك الكثير.
هناك بالطبع بعض المشاكل المتعلقة باتجاه RTL أو اللغة العربية عمومًا على Substack، لكننا نرى أن هذه مشاكل بسيطة مقارنةً بما كنا نواجهه على هدهد بالإضافة إلى المميزات الجديدة التي حصلنا عليها. أضف إلى ذلك أنه هناك فرقٌ كبير بين منصة عالمية تكبر وتتطور كل يوم وتحلّ مشاكلها، وبين منصة لا تعرف ما يحصل بها ومجهولٌ مصيرها. سنتواصل مع منصة Substack ونرى كيف يمكن أن نحل هذه المشاكل مع اللغة العربية.
لا نريد المخاطرة بجهدنا وتعبنا مع منصات عربية قد تذهب وتختفي مثلما اختفت المنتديات العربية في السابق. دعمنا هدهد عبر تسويق المنصة بنشراتنا البريدية من باب دعم المشاريع العربية ومحاولة النهوض بها ولكن لا يمكن أن نخاطر بأكثر من ذلك.
في النهاية يمكن لأي إنسان أن يستعمل ما يُريحه… إن كنت مرتاحًا مع منصة هدهد وترى أنها الأفضل فلا حاجة لك بالانتقال، ونحن هنا لا ننصح أحدًا بشيء ولا نحثّ عليه بل فقط نشرح أسبابنا الشخصية للانتقال لا أكثر.
يمكنك تصفح نشرتنا على Substack دومًا من هذا الرابط ورؤية آخر الأعداد أو أي مميزات جديدة قد نطرحها مستقبلًا:
***
هنا ينتهي هذا العدد من نشرة حوسبة، ونلقاكم في العدد المقبل بإذن الله. لا تنسوا مشاركة النشرة مع معارفكم وأصدقائكم ليطّلعوا على المحتوى الرائع الذي نعدّه ❤️
تصدر نشرة حوسبة في عيد كل مسلمٍ يوم الجمعة مرتين في الشهر (مرة كل أسبوعين). وأقسام النشرة البريدية تختلف من عددٍ لآخر، على حسب المتاح.
مؤسف نقصان عدد مستخدمي فايرفوكس
بعد انتقال مايكروسوفت ايدج للاعتماد على كروميوم كمحرك متصفح الويب تقريبا لا يوجد محرك لمتصفحات الويب إلا و يعتمد على كروميوم (عدا فايرفوكس)
تمكن غوغل من السوق بشكل كامل حتما سيؤثر سليا على تجربة المستخدم( قد نرى في المستقبل شبه إخصاء لكافة الإضافات المتعلقة بحجب الإعلانات)
اضافة الى تفرد فايرفوكس ببعض الميزات مثل الحاويات Containers
عودًا حميدا 🤍