قبل انا اجرب اول توزيعة من لينكس وكان ابونتو سمعت الكثير والكثير من الناس يقولون ان نظام لينكس هو نظام للمطورين وحين ان جربته اتصدمت من انه نظام كالويندوز وان الويندوز افضل منه بكثير.
لماذا يقولون على انه نظام للمطورين؟
صحيح هو نظام مناسب للمطورين، حيث أن تثبيت أدوات التطوير أكثر سهولة، فكل أدوات التطوير التي تتخيلها موجودة في مايعرف بالـ Repository، ومن جهة أخرى فمجانيته جعلته خيار جيد للمطور الذي يحتاج لعدد من اﻷجهزة وبالتالي عدد من نُسخ أنظمة التشغيل، لذلك فخيار لينكس هو خيار اقتصادي بالنسبة له.
هُناك ميزة أخرى، وهو عندما تعمل في نظام لينكس لا تنشغل بأشياء أخرى، يمكن أن تعمل به ثلاث سنوات أو أكثر (حسب التجربة) وتقوم بتثبيت عدد كبير من البرامج فيه دون أن تحس بأن النظام أصبح بطيء، وهو أكثر إستقراراً ولا يستهلك الموارد، فهو بذلك أكثر إنتاجية حسب رأيي، لكن البعض يقول أن نظام ماك هو أكثر إنتاجية ومناسب أكثر للمطورين، عموماً فهي ليست قاعدة، كل شخص له تجربة ناجحة مع نظام مختلف
يوجد توزيعات كثيرة منها للمستخدمين النهائيين و أخرى للمستخدمين المتقدمين و يوجد ما هو للخوادم
أما أن يقال أنه للمطورين فلم أسمع بهذا من قبل
لكن من المشاكل التي تواجهها هو اعتماد نظام التحزيم بدل إدارة التطبيقات و هذا ما يجعل البعض يعتبره للمطورين
نظام التحزيم يفرض أن يكون كل البرنامج أو أجزاءه و اعتمادياته مقسمة على شكل حزم متعددة
يوجد ميزة واحدة لنظام التحزيم هي توفير المساحة في القرص الصلب و هذا بسبب مشاركة المكتبات و الاعتماديات
لكن عيوبه كثيرة سواء من ناحية المطور أو المستخدم
فبعض المطورين يضطرون للاعتماد على مكتبات قديمة لدعم بعض التوزيعات
و المستخدمين للتوزيعات القديمة لا يمكنهم تثبيت أحدث التطبيقات إلا بعمليات معقدة تشمل ترجمة مصدر البرنامج على الغالب
يوجد محاولات لحل مشكلة التحزيم منها نظام تحزيم click في ubuntu touch
يعتمد على جمع البرنامج و اعتمادياته في حزمة واحدة
الموضوع يعتمد على ما الذي تريد تطويره ؟ هل تركيزك سيكون على الادوات التي ستسخدمها في التطوير كبئيات التطوير ؟ اما تركيزك على منصة النظام نفسها ؟ بالنسبه للادوات فالموضوع فيه مرونه فبعض المحررات مثلا تجدها هنا وهناك كمحرر sublime text 2 مثلاً .
اذا كنت مثلاً تريد التطوير للويب بشكل محلي باستخدام php او RoR او احدى تقنيات الويب المفتوحة المصدر الاخرى قبل النشر فبديهي يكون اللينكس كبئية عمل الانسب لان الادوات التي سوف تحتاجها (خادم apache و mysql .. الخ) ستكون متوفره بشكل سهل . أما اذا كنت تنوي التطوير لصالح منصه ASP.NET فبديهي يكون الويندوز وجهتك للعمل.
اذا كنت تريد التطوير لسطح المكتب فالموضوع يعتمد كذلك على ما الذي عمله ؟ هل تريد البرمجة تطبيقات ويندوز فقط ؟ اما هل برمجة Cross platform app باستخدام الـ Qt مثلاً ؟ هنا قد تحتاج الى النظامين للتجربة والتأكد ان كل شئ يعمل بشكل صحيح.
هل مثلاً تريد التطوير لصالح الـ embedded system ؟ هل العتاد هنا سيتخدم نواة لينكس وادواتها ؟ اذا اللينكس افضل هنا . ام العتاد سيتخدم Windows CE ؟ الويندوز هنا افضل .
كخلاصة , ابدأ العمل على الذي انت متقألم معه اكثر , فبعد فتره وعند اتقانك للبرمجة ستجد نفسك تنتقل بين الانظمة بشكل سلس بحسب حاجتك . فقط ابدأ !!
افضل بيئة للتطوير تعتمد على البيئة التي تستهدفها:
تطبيق سطح مكتب لبيئة الويندوز استخدم ويندوز.
تطبيق سطح مكتب لبيئة الماك استخدم ماك.
تطبيق سطح مكتب لبيئة لينكس استخدم لينكس.
تطبيق جوالات ابل استخدم ماك.
تطبيق جوالات اندرويد ... اعتقد انها متساوية!
تطبيق ويب يركب على بيئة لينكس (PHP, Python, Ruby, Java) استخدم لينكس.
تطبيق ويب يركب على بيئة ويندوز (ASP.NET, C#, Java) استخدم ويندوز.
شخصيا انا استخدم نظام ماك لكني اطور على اجهزة لينكس بالدخول عليها عن طريق SSH، قد يكون جهاز لينكس مستضافا في نفس الشبكة او على الانترنت.
بالنسبة لرائي في تطوير الويب فانا طبعا افضل لينكس لان معظم الادوات والبرامج الخاصة بالخادمات تطور عليه وتشتغل عليه، كما ان المنافسة في برامج المصادر المفتوحة اعلى من المصادر المغلقة مما يعني تنوع الخيارات، حتى ان اغلب الشركات التطوير التجارية تحولت عليها.
يبقى لميكروسوفت حضور قوي داخل القطاعات الحكومية والخاصة خصوصا الصغيرة والمتوسطة، فاذا كنت تبحث عن وظيفة مضمونة فهي خيار جيد.
توزيعت جنو/لينوكس عموما في رأيي أفضل بيئة لأجل المطورين والمبرمجين.
طبعا ليس كلهم، حيث نجد مطوروي دوت نت مكانهم الوحيد هو ويندوز بطبيعة الحال.
ما يميز جنو/لينوكس هو وفرة أدوات التطوير لأغلب لغات البرمجة، كما ان إدارة البرامج فيها تتمد عن طريق نظام المستودعات وليس مثل الويندوز، يجب ان تحبث على النت عن البرنامج وتنصبه. بل في لينوكس فقط اكتب اسم الحزمة وثبتها.
اما كوني كمستعمل للغة C++ أجد أن هذه البيئة هي الأفضل بلا منازع، حيث يمكنني تنصيب مترجم g++ الرائع بسطر اوامر واحد، على ويندوز كنت اجد تنصيبه عملية معقدة قليلا ومتعبة. اما في لينوكس فهي أسهل ما يكون.
اما إن كنت مبرمج بايثون فلا يوجد مكان أكثر ملاءمة لك من لينوكس، حيث أن أكثر من 90 بالمئة من التوزيعات تأتي بحزمة البايثون منصبة إفتراضيا، يعني نصب النظام وابدأ التطوير.
كذلك الأمر بالنسبة لروبي وبيرل وغيرها الكثير..
أيضا أرى أنه ما دامت أغلب السيرفيرات تعمل على لينوكس، فلم لا يستعمل مطور الويب لينوكس كي يرى كيف يعمل برنامجه في بيئته النهائية.
لكن إن كنت تنوي إستعماله فأوبونتو ليس الخيار الأكثر صوابا حاليا. يفضل أن تستعمل لينوكس منت، فهي أكثر شعبية حتى من أمها اوبونتو.
السبب أو بالأحرى الأسباب التي جعلت نظام لينكس يسمى نظام موجه هي:
1- هو نظام مفتوح المصدر:و بالتالي فالكود البرمجي للنظام و الأدوات متاح،مما يساعد المطورين و المبرمجين على الإطلاع عليه،و هذا له فائدة كبيرة في تطوير مستوى المبرمج أو المطور
2- العديد من ادوات التطوير متاحة و بشكل مجاني،و بالتالي ستجد العديد من الخيارات عكس ويندوز و الماك،جل الأدوات بمقابل مرتقع نسبيا في العديد من المرات
3- بالنسبة لمطوري الويب،فمعظم السيرفرات تعمل على لينكس مما يمنحهم خبرة اكبر عند التعامل مع سيرفراتهم إن أرادوا الإنطلاق لبناء مشروع جديد
امتياز نظام لينكس انة مفتوح المصدر على عكس الانظمة المغلقة المصدر
حيث انك فى نظام لينكس تسطيع تطويع و تغير الكود المصدرى للنظام باكملة عدا بعض الاكواد او الاسطر التى قد تكون ممنوع التغير عليها ولاكنها تتيح قابلية الاتطلاع عليها.
بمعنى انة نظام تسطيع معرفت ما بداخلة من كود بالاضافة الى انة مجانى.
اما الانظمة المغلقة هى انظمة مجرد اسطوانات يتم حرقها وكل ما تسطيع فعلة بها هو تثبيتة و اذا اصيب بضرر لا تسطيع الا اعادة تثبيتة بالاضافة الى ان بيئة التطوير الخاصة بة تكون عبارة عن مكتبات تتعامل مع النظام بشكل مباشر و مغلقة ولا تستطيع التغير عليها او الاطلاع عليها حيث انها مجرد دوال و متغيرات فقط.
وكل ذالك متاح لك بشكل مفتوح على نظام التشغيل لينكس و غيرة من الانظمة المفتوحة المصدر
التعليقات