هذا مثل سؤال ماهي أفضل لغة برمجة؟ مثل هذه الأمور تخضع للعديد من العوامل ولاتستطيع تحديد إجابة واحدة.
ما هو افضل نظام تشغيل للمطورين بشكل عام ولماذا
أهلا بك اخي خليل, سعيد جدا لرؤيتك في هذا الصرح العلمي :)
مثل هذه الأسئلة لا يوجد لها جواب معين كما قال الاخ ثمود فهي تتناسب مع حاجتك وطلباتك فمثلا انت مطور .NET وقلت لك أن أفضل منصة للتطوير هي Linux
هل ستأخذ كلامي بعين الإعتبار ؟؟؟ بالتأكيد لا لأن أفضل منصة عمل لتطوير .NET هي من خلال Windows وليست بحاجة لكلام !
كن أكثر تحديدا اخي وعندها ستجد أجوبة وتحليلات مقنعه
لن اجيب بدبلوماسية هذه المرة,
مباشرة الويندوز هو الأفضل و هاهى أسبابى:
الAPI الخاصة بالويندوز هى الأكثر ثراء بين كل الانظمة الاخرى, و تتنوع ما بين ادارة النظام و الواجهة و الملتميديا و غيرها مما لا يتوفر فى الانظمة الاخرى.
التوافقية بين نسخة العديدة قديمها و جديدها الى اقصى حد ممكن, مما يجعل برنامجك يعيش لأطول فترة ممكنة دون تعديلات حتى مع قيام المستخدم بترقية جهازة و نظام التشغيل, لا تغيرات مفاجئة فى النسخ الجديدة, و ان حدث فان مايكروسوفت دائما ما تعنى بدعم التوافقية مع البرامج المكتوبة للنظم القديمة, برنامج الويندوز قد يعيش ل15 عاما دون أدنى تعديل و ليس عليك الا تعليم المستخدمين بعض الخدع البسيطة (مثلا ان يقوم المستخدم باعطاء صلاحيات المدير لبرنامجك المكتوب على ويندوز XP عند استخدامه ويندوز فيستا او 7). ليس هذا الحال مع لينكس و يونيكس مثلا و الى حد ما مع ماك او أس, غالبا ما يضطر المستخدم الى الحفاظ على الاصدارة التى يعمل عليها برنامجك, أو قد تضطر الى تعديل الكود كل فترة زمنية ليواكب التغييرات, بينما غالبا ما تعمل البرامج التى كتبت من أجل Windows 95 مثلا على ويندوز 7 بكفاءة.
رغم ان الويندوز يعمل على عدة أجهزة مختلفة, الا انها كلها تعمل بشكل واحد و يعمل عليها الويندوز بشكل متناغم, لست بحاجة الى تجربة برنامج على عدة حواسيب.
الحرية, رغم أن الويندوز مغلق المصدر الا انه يوفر حرية كبيرة للبرامج التى تعمل عليه, و التى تستطيع (بعد ان يأذن لها المستخدم) ان تفعل ما تشاء على الحاسوب من خلال API الويندوز الثرية, مما يعطى لبرامجك القدرة الفائقة على التحكم و تطويع الماكينة لكى يعمل برنامجك بشكل صحيح.
تتوفر على ويندوز أدوات تطوير متنوعة و ثرية و عالية الجودة, من Visual Studio الى Embarcadero RAD studio (Delphi & C++ Builder) الى سائر الادوات الاخرى مفتوحة أو مغلقة المصدر.
بالنسبة لل API كل الأنظمة تأتي مع العديد من ال API ، ولم نسمع عن نظام تشغيل قابل للإستخدام دون وجود API. لو رجعت الى أساس أنظمة التشغيل ستجد مفهوم ال Abstraction وهو تجريد الطبقات العليا عن الطبقات الدنيا بواجهة إستخدام، ودون تحقيق هذا الشرط لن يكون هذا بنظام تشغيل.
اما بالنسبة للتوافقية ، سأضرب مثال عن بيئة تطوير KDE التي تعمل عليها مئات من التطبيقات في سطح مكتب KDE.
هذه البيئة مبنية على Qt ، وكليهما (KDE & Qt Libs) لا يحافظان على توافقية الشفرة source code compatibility فقط ، وانما يحافظان حتى على توافقية الملف التنفيذي Binary compatibility ، والاولى تضمن أن ال API لن تتغير وبالتالي ما قمت بكتابته بالإعتماد على نسخة KDE X.a سيتم ترجمته دون أخطاء حتى على KDE X.z ، أما الحفاظ على واجهة الملف التنفيذي ABI تعني أنه يمكنك استخدام نسخة جديدة من المكتبة دون الحاجة الى إعادة ترجمة وربط المشروع ، كل ما عليك هو استبدال المكتبات فقط.
بالنسبة لبرمجة الويب فمن الممكن استخدام الانظمة الثلاثة ويندوز وماك ولينكس لتوفر الادوات على جميع هذه المنصات اما اذا اردت ان تطور برامج للاي او اس فلاتستطيع الا عن طريق الماك في حال اردت برمجة تطبيقات native
بالنسبة للالعاب فالويندوز يعتير هو النظام المفضل لبرمجة الالعاب
فلا يوجد نظام محدد او نظام (افضل ) للمطورين بشكل عام ! اختر نظامك حسب المجال الذي تطور فيه :)
رأيي الشخصي
في موضوع "افضل نظام تشغيل "بشكل عام" للمبرمجين او المطورين"
هو اللنكس
لماذا؟
ﻻن فلسفته وبكل بساطة "البرمجيات الحرة والمفتوحة المصدر"
تتيح الشفرة للجميع
اي انها تساعد على تطوره كمبرمج بشكل سريع
بالاضافة الى ان لنكس يحتم عليك استخدام الطرفية %Terminal%
ولو بشكل بسيط
وهذا يساعد ايضا على فهم كل تعليمة ومعناها
لكن قد تواجه مشاكل ان كنت تطور برامج لبيئة اخرى
طبعا ان كان خيارك للغة البرمجة مخالفا عن الجافا او اللغات المحمولة عموما
التعليقات