ما هو مونو ولماذا يمكن أن يكون خطيرا؟

Mono هو اسم مشروع مفتوح المصدر بدأه Ximian ويتم الترويج له حاليًا بواسطة Novell (بعد الاستحواذ على Ximian) لإنشاء مجموعة من الأدوات المجانية ، استنادًا إلى GNU / Linux ومتوافقة مع .NET كما هو محدد بواسطة ECMA. لماذا يكرهها العديد من مستخدمي جنو / لينكس؟

ما هو مونو؟

لا ، لا علاقة له بجزيرة القرد. بالأبيض والأسود هو التنفيذ المجاني لـ CLI (البنية التحتية للغة العامة) و C # (كلاهما أنشأته Microsoft) ، وفقًا للمواصفات المرسلة إلى ECMA لتوحيدها. هذا التنفيذ مفتوح المصدر.

يتضمن Mono CLI ، الذي يحتوي على الجهاز الظاهري المسؤول عن تحميل الفئات ومجمع jit (Just-in-time) ومجمع البيانات المهملة ؛ كل هذا مكتوب من الصفر حسب المواصفات Ecma-334.

يتضمن Mono أيضًا مترجم C # ، والذي كتب بشكل متناقض في C # ومثل CLI ، هذا المترجم يتبع المواصفات Ecma-335.

بالإضافة إلى ذلك ، يحتوي Mono على كتالوج للمكتبات المتوافقة مع مكتبات .Net Framework ، ولكنه يحتوي أيضًا على سلسلة من المكتبات غير الموجودة في Microsoft .NET Framework ؛ مثل GTK # الذي يسمح بإنشاء واجهات رسومية أصلية لمجموعة أدوات GTK + ، Mono.LDAP ، Mono.Posix ، إلخ.

أصل مونو

تم تصميم Mono من قبل ميغيل دي إيكازا ، وكان المشروع تحت رعاية شركته Ximian في ذلك الوقت ؛ في الوقت الحاضر نوفيل هي الراعي لمشروع Mono ، منذ أن استحوذت Novell على Ximian.

الدافع وراء إنشاء Mono يرجع إلى البحث عن الأدوات التي ستساعد في الإنشاء السريع للتطبيقات في بيئة Linux.

الأنظمة الأساسية المدعومة أحادية

يعمل Mono حاليًا على منصات x86 و PPC و SPARC و S390 في 32 بت ؛ و x86-64 و SPARC في 64 بت ؛ إمكانية إنشاء التطبيقات وتنفيذها في أنظمة التشغيل: Linux و Windows و OSX و BSD و Solaris.

هل أحادية متوافقة مع .Net Framework؟

يتمثل أحد أهداف Mono في تحقيق درجة عالية من التوافق مع API 1.1 ، على الرغم من وجود الكثير من العمل بالفعل على التوافق مع API 2.0 من .Net Framework.

هذا لضمان إمكانية تشغيل برنامج ثنائي تم تجميعه في Windows باستخدام .Net Framework على أي من الأنظمة الأساسية Mono دون الحاجة إلى إعادة ترجمة الملف الثنائي ، وهذا بدوره يمكنه الاستفادة من مكتبات النظام Mono -Ej المتوافقة. البيانات ، System.Xml ، إلخ -.

المكتبات التي توفرها Mono متوافقة بنسبة 100٪ مع نظيرتها من .Net Framework. أحدث إصدار 2.6.1. يتضمن من بين الميزات الهامة الأخرى:

  • CLI
  • مترجم C #
  • ADO.NET
  • ASP.NET
  • خدمات ويب
  • نظام
  • نوافذ

هذا الأخير - WindowsForms - الذي يتطلب المزيد من العمل ليتم إكماله بالكامل. على الرغم من أنه يجب ملاحظة أن المشروع لا يفكر في إنشاء مكتبات متوافقة لخدمات المؤسسة.

ما أنواع التطبيقات التي يمكنني إنشاؤها حاليًا باستخدام Mono؟

حسنًا ، من الممكن إنشاء تطبيقات من نوع الويب وخدمات الويب باستخدام وحدة mod_mono التي تسمح لخادم ويب Apache بخدمة صفحات ASP.NET (aspx) وخدمات الويب (asmx).

من الممكن أيضًا إنشاء تطبيقات تصل إلى قواعد البيانات مثل Microsoft SQL و Oracle و Postgresql وما إلى ذلك.

على جانب تطبيقات الواجهة الرسومية ، فإن الاقتراح هو استخدام GTK # ، لأن مجموعة الأدوات التي يعتمد عليها (GTK +) ، تسمح بتنفيذ التطبيقات الرسومية في بيئات Linux و Windows و OSX دون تغييرات ؛ يصبح هذا الاقتراح مهمًا ، لأن التنفيذ المتوافق مع نماذج Windows في Mono لم يكتمل بعد.

هل هناك متطلبات لكي يكون تطبيقي متوافقًا مع Mono و .Net Framework ، أي محمول؟

لا توجد بالفعل أي تطبيقات محددة ، طالما أنه تطبيق يستند إلى CLI ؛ على الرغم من وجود بعض النقاط التي يجب أخذها في الاعتبار:

  1. Linux حساس لحالة الأحرف في أسماء الملفات والدليل ؛ لذلك من الضروري أن يكون هناك توافق مع الأسماء التي نستخدمها.
  2. يختلف فاصل المسار في Windows () عنه في Linux (/) ، لذلك يوصى باستخدام API Path.DirectoryPathSeparator ، للحصول على الفاصل الصحيح عند تنفيذ التطبيق.
  3. إذا تم استخدام مكتبات غير تابعة لـ CLI (على سبيل المثال: مكتبة في C و C ++ وما إلى ذلك) ، باستخدام p / Invoke ، تأكد من وجود المكتبة في البيئات المختلفة حيث سيتم تنفيذ التطبيق.
  4. لا تستخدم التقنيات الموجودة فقط في بيئة معينة (على سبيل المثال: التسجيل على Windows أو GConf على Linux -Gnome-) ؛ أو توفر حلاً يسمح للتطبيق بالعمل بشكل صحيح في البيئة التي يعمل بها.
  5. قد لا تعمل التطبيقات المستندة إلى نماذج Windows والتي تكون معقدة للغاية في الوقت الحالي ، لأن نماذج Windows في Mono ليست كاملة.

ما هي أدوات التطوير الموجودة في Mono؟

حسنًا ، من الممكن من Windows تطوير تطبيق باستخدام Visual Studio. على جانب لينكس هناك مونو ديفيلوب، IDE يعتمد على SharpDevelop.

يسمح MonoDevelop بإدارة المشروع ، وتلوين بناء الجملة ، وكود الإكمال التلقائي ، وتجميع التطبيق وتشغيله من نفس IDE.
من خلال الإضافات (الوظائف الإضافية) ، تم توسيع الوظيفة لتشمل ، على سبيل المثال:

  • الاتصال بقواعد البيانات من IDE
  • تضمين مصحح أخطاء يسمح ، مثل Visual Studio ، بتنفيذ التعليمات البرمجية سطرًا سطرًا ، ومراجعة قيم المتغيرات.

يوجد حاليًا عمل لدمج مصمم النماذج ، على الرغم من أن هذا المصمم يركز على إنشاء نماذج لـ GTK # وليس نماذج Windows.

تم تقديم الطلبات لـ Mono.

يوجد عدد كبير من التطبيقات المطورة لنظام Linux في Mono ، للحصول على فكرة ، إليك قائمتين مع هذه التطبيقات:

من بين هذه التطبيقات المتميزة:

  • MonoDevelop: هو IDE لبرمجة برامج Mono في Linux. يتكون IDE في C #.
  • F-سبوت: برنامج لفهرسة الصور بالإضافة إلى القدرة على إجراء بعض التعديلات الرقمية على الصور.
  • كلب صيد: أداة تقوم بفهرسة المعلومات والبحث فيها بين عدد من أنواع المستندات المختلفة في Linux.
  • المسترجلة: برنامج لتخزين الملاحظات التي يتم ربطها بكلمات رئيسية.
  • مويني: هو مشغل صوت يعتمد على GStreamer.
  • PyMusique: برنامج يوفر واجهة رسومية للوصول لشراء الموسيقى من خلال خدمة iTunes من Apple.
  • MonoUML: هو محرر لعمل الرسوم البيانية بمعيار UML.
  • هل جنوم: قاذفة تطبيق سريعة وفعالة.
  • Docky: إرساء لسطح المكتب الخاص بك.
  • الشؤم: مشغل وسائط يعتمد على Gstreamer.

القرد والتراخيص

Mono هو تطبيق مفتوح المصدر لـ Microsoft .Net Framework ، استنادًا إلى المعايير الصادرة عن ECMA ؛ نظرًا لأنه تطبيق يعتمد على أحد منتجات Microsoft ، فقد تسبب استخدام Mono في Linux في جدل - بين مستخدمي Linux والمطورين - الحجة هي أن Mono قد تنتهك براءات اختراع Microsoft ، والتي يمكن أن تصبح دعوى قضائية ضد قرد.

وفقا ل صفحة من مشروع Mono ، طالما أن CLI و C # يلتزمان بالمعايير المقبولة من قبل ECMA ، فإن هاتين القطعتين آمنة ، فيما يتعلق بمكتبات Mono المحددة ، فإنها لا تتعرض لأي مخاطر ؛ لكن تنفيذ المكتبات المتعلقة بـ ASP.NET و ADO.NET و Windows Forms حساسة لانتهاك بعض براءات اختراع Microsoft - على الرغم من عدم وجود معرفة في الوقت الحالي بأن هذا هو الحال - ؛ لهذا السبب ، يقترح مشروع Mono 2 خيارات للحالة الأخيرة:

  • أعد تنفيذ الوظيفة - لتجنب براءة الاختراع - في محاولة للحفاظ على توافق واجهة برمجة التطبيقات.
  • القضاء على الأشياء التي لا يمكن إعادة تنفيذها.
  • ابحث عن العناصر التي يمكن أن تبطل براءة الاختراع.

وفقًا لـ Wikipedia ، لم يخضع تنفيذ Mono لمكونات .NET لـ ECMA لقد أثار توحيدها بعض المخاوف بشأن الانتهاك المحتمل لبراءات اختراع البرمجيات خلال عمر المشروع. على وجه الخصوص ، تطور النقاش حول ما إذا كان بإمكان Microsoft تدمير المشروع الأحادي من خلال دعاوى قضائية بشأن براءات الاختراع المنتهكة.

يوجد حاليًا نقاش حيوي حول استصواب (in) قبول واستخدام Mono في مجتمع مطوري جنو / لينكس. الحجة الرئيسية ضد Mono هي أنها ليست خالية من براءات اختراع البرامج ، وهناك خطر أن تطلب Microsoft تراخيص لاستخدام C # / CLI.

من ناحية أخرى ، المشروع عفريت تطور لغة بديلة ، فاكرها، التي تم إنشاؤها خصيصًا لتطوير تطبيقات لـ Gnome ، ولكنها خالية من التهديدات المحتملة من Microsoft.

توصيتي

يوجد حاليًا بعض البرامج الرائعة المكتوبة بلغة Mono. يمكنك فقط التفكير في F-Spot أو Gnome Do أو Docky. لكن ، مع وجود بدائل مجانية لا تحتوي على كل هذه المشاكل ، أفضل عدم الاعتماد على Mono.
حول القرار المثير للجدل الأخير من قبل Debian و Ubuntu بتضمينه بالأبيض والأسود في التثبيت الافتراضي ، على عكس Fedora الذي أزاله ، فقط بتضمين ملف شعبي تطبيق المسترجلة، المكتوبة في C # ، ريتشارد ستالمان بضع كلمات من الحكمة يجب أن تلهم توزيعات أخرى.

الاعتماد على C # أمر خطير ، لذا يجب أن لا نشجع استخدامه.
المشكلة ليست فريدة في Mono ، أي تطبيق مجاني لـ C # سيواجه نفس المشكلة. يكمن الخطر في أن Microsoft تخطط على الأرجح لفرض جميع تطبيقات C # المجانية خارج الصندوق يومًا ما باستخدام براءات اختراع البرامج (الخاصة بهم). هذا خطر كبير ولن يتجاهله سوى الحمقى حتى يوم حدوثه بالفعل. نحن بحاجة إلى اتخاذ الاحتياطات لحماية أنفسنا.
يجب أن نرتب الأشياء للاعتماد على تطبيقات C # المجانية بأقل قدر ممكن. بمعنى آخر ، يجب أن نثني الناس عن كتابة برامج C #. لذلك يجب ألا ندرج تطبيقات C # في التثبيت الافتراضي لتوزيعات GNU / Linux ، ويجب أن نوزع وننصح بتطبيقات بخلاف تطبيقات C # بدلاً من تطبيقات C # المماثلة كلما أمكن ذلك.

قم بإلغاء تثبيت Mono

أرغب في إزالة mono من توزيع Ubuntu الخاص بي (وبالتالي ، توفير مساحة كبيرة تشغلها تبعياتها ، وفي حالة Ubuntu ، لا يوجد أكثر من "دعم" تطبيقين مثبتين افتراضيًا: F-Spot و المسترجلة). إذا كنت لا تستخدم أيًا من هذين الخيارين ، فقم بإلغاء تثبيتهما من Synaptic وكذلك جميع الحزم التي تقول Mono أو CLI.

لإلغاء تثبيت Mono في Ubuntu ، يمكنك أيضًا فتح Terminal وكتابة:

sudo apt-get remove --purge mono-common libmono0 libgdiplus sudo rm -rf / usr / lib / mono

بدائل Mono

كما رأينا ، أولاً وقبل كل شيء ، إذا كنت مبرمجًا ، فلا تبرمج في C #. هناك لغات أخرى لا حصر لها ، بل أفضل. بالإضافة إلى ذلك ، أصدر Gnome مؤخرًا لغة جديدة بوظائف تشبه Mono جدًا تسمى Vala.
لقد حذفت للتو Mono ومعها تم حذف بعض برامجي المفضلة ... ما هي البرامج البديلة الموجودة لتحل محلها:

مزيد من المعلومات

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


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

26 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   ارييل قال

    لا أعتقد أن Microsoft ستستخدم براءات اختراعها ضد Mono و Monodevelop و Xamarine في المستقبل. علاوة على ذلك ، أعتقد أن هذه الأدوات ستسهل عليك بطريقة ما التوسع إلى منصات أخرى تستعيد مكانتها المميزة في عالم تطوير البرمجيات بشكل عام كل يوم. أعتقد أن Mono تقوم بعمل رائع في نقل تقنيات C # و .NET إلى منصات أخرى ، مما يجعلها غنية بالفرص التكنولوجية الجديدة فيما يتعلق بالنعومة. تعرف Mono ما تعنيه براءات الاختراع وتتخذ بالتأكيد جميع الاحتياطات حتى لا تقع في الانتهاكات. من ناحية أخرى ، تتخذ JAVA موقعها الريادي من خلال منصة JAVA EE6 الخاصة بها ، والتي تتخطى حسب ذوقي القدرات التي يوفرها Visual Studio حاليًا. ولهذا السبب ، أكثر من أي شيء آخر ، أعتقد أن Microsoft ستجد أنه من الملائم نقل C # إلى Linux و MacOSX و BSD و Solaris و Android وما إلى ذلك ... من ناحية أخرى ، لا أوافق على أخذها إلى حد ما المواقف المتعصبة من قول لا لـ Microsoft في Linux أو قول لا لـ Linux في Microsoft ، أعتقد أن التطور الحقيقي في التنوع وأن إنكار الحقيقة هو الانحدار.

  2.   لنستخدم لينكس قال

    حتى الآن لم يتغير شيء. إذا كنت مهتمًا بالقدرة على تشغيل برامجك على أنظمة مختلفة ، فإنني أوصي باستخدام Java أو python. إذا كنت راضيًا عن بناء جملة c # ، فإن vala هي أيضًا بديل جيد.
    عناق! بول.

  3.   بابلو قال

    مهلا.

    منذ وقت ليس ببعيد ، قررت ترحيل اللغة واخترت C # ، لأتمكن من استخدام الكود وتجميعه للاستخدام على كل من أنظمة Linux و Windows.

    الآن ، عند رؤية هذا المنشور ، أتساءل عما إذا كنت قد أبليت بلاءً حسنًا (أقول هذا من كتابة ريتشارد ستولمان).

    هل يمكن أن تخبرني ما إذا كان هذا الوضع قد تغير شيئًا ما حتى الآن؟

    (أعلم أن عمر هذا المنشور لا يقل عن عامين)

  4.   سيرجيو قال

    كما علق الاسم نفسه ، لا أعتقد أن Microsoft يجب أن تحد من قدراتها التوسعية ، في الواقع ، لا تكسب عيشها منها. أراهم قادرون حتى على تحرير اللغة ، لأنهم يكسبون المال من التطبيقات والأطر و IDEs.

    بدأت أعتقد أن السيد ستالمان كبير في السن قليلاً بالنسبة لهذه الأشياء اليوم. لقد استمتعت بقراءة اقتباسك وتفكيرك ، بينما كان المجتمع يركز على C # ، رفعت Oracle أول دعوى قضائية ضد Android ، على الرغم من أن ابن العم المسكين ، لا ينبغي أن ننسى أنه Linux ، بسبب انتهاك براءات الاختراع لـ استخدام… جافا!

    رأيي هو أنه لا يمكن السماح لمجتمع Linux ، لمجرد الفخر ، أن يغض الطرف عن البدائل وأبوابه أمام عدد كبير من مطوري الجودة ، حاملين شعار "التكيف أو الالتفاف". في العزلة يوجد الموت حتى لو كان بطيئا.

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

    1.    خافيير إل قال

      يتحدثون عن MS كما لو أنهم لا يعرفون تحركاتها على مستوى التسويق ، أو أنهم نسوا بالفعل حادثة 99 عندما قام MS بتعديل جزء من منصة JAVA بحيث لا يعمل البرنامج المكتوب في مجموعته الخاصة في متصفح آخر لم يكن IE6 ، عندما لاحظ العالم أن الدعاوى القضائية تمطر في كل مكان ، ولكن الأهم من ذلك ، كان لا بد من إعادة تطبيق الكثير من البرامج المكتوبة. MS هي شركة تريد الربح بكل الوسائل. إذا كنت تستخدم برنامجًا مجانيًا ، فليس من الملائم استخدام أدوات احتكارية إذا كان هناك العديد من الأدوات المجانية المتاحة.

    2.    jlboch قال

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

      1.    ماكس AC. قال

        سيظل برنامج Anti-Microsoft مليئًا دائمًا بالممارسات الاحتكارية المفترضة ، وعلى الرغم من أنه من الصحيح أنه خلال السنوات الماضية ، أظهرت Microsoft سلوكيات ليست ممتعة جدًا للمستخدم النهائي ، دعونا لا ننسى أنها شركة تجارية وما سيفعلونه دائمًا التعامل مع منتجاتهم هو عمل. لكن العالم تغير ، وأصبح معولمًا ، ورفضت Microsoft قبوله في ذلك الوقت ، لكن لم يكن خيارًا ، دمج معيار Open-XML في MSOffice يثبت ذلك ، حتى أنه تم إجبارها على "مشاركة" الكود من منصتها التي فرضتها قواعد مكافحة الاحتكار وكان عليها القيام بذلك ، تم تسجيل Net Framework ولغاته في هيئة ECMA الأوروبية التي تهدف إلى توحيد تقنيات المعلومات ، بالنسبة لـ C # فهي تتوافق مع ECMA-334 ، بالنسبة لـ CLI (التي تنفذ Mono) ECMA-335 و C ++ / CLI هي ECMA-372 ، وهذا يضمن أن هذه اللغات والأنظمة الأساسية متاحة لعامة الناس ، لذلك لن تفرض Microsoft أي شيء في المستقبل فيما يتعلق لتلك اللغات. إن محاولة مكافحة Microsoft لتثبيط استخدام لغة C # عبثية ، فهي لعبة قذرة مثل تلك التي تندد بها Microsoft ، ومواصفات اللغة مفتوحة ، وهناك لغات أخرى وفي هذا العالم الأفضل المنافسة التي يؤدي إلى تحسينات في جميع المجالات ، يجب على المبرمج بمفرده اكتشاف اللغات والتقنيات المختلفة ومعرفة خصائصها وسيكون هو الشخص الذي يقرر بنفسه أي منها يبقى لتنفيذ تطوراته.

  5.   لنستخدم لينكس قال

    مساهمة جيدة. شكرا!

  6.   ادريان قال

    هذا ستالمان !! شاهد المتآمرين من Microsoft تحت السرير XD.

  7.   سيرجيو قال

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

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

    من الصحيح أيضًا أن Microsoft قد فرضت رسومًا دائمًا حتى على أغبى تطبيق ولديها الآن في مجموعتها ، على سبيل المثال ، إصدارات مجانية وظيفية بالكامل من الاستوديو المرئي لـ .net وبدون قيود بواسطة الترخيص وليس الشيء الوحيد (Truespace for المثال ذهب أيضًا إلى الجانب المجاني).

    هذه معركة بين Java و .Net ، وكما هو الحال في جميع الحروب ، نرحب بأي حليف.

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

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

    تحية.

  8.   e2fletcher قال

    مع Microsoft لا تعرف أبدًا.

  9.   كين توريالبا قال

    التحيات،

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

    كما أفهمها ، فإن C # هو تطور J ++
    هذا التنفيذ الإشكالي لـ Java الذي كلفته Microsoft دعوى قضائية من قبل Sun ، والتي فازت بها Sun ، نظرًا لأن Microsoft لديها مكتبات (حزمة) لا يمكن تنفيذها إلا على Windows ، وهو عكس شعار Java "تكتب ما تراه ، أنت تنفذ كلما وأينما ".

    تخطيط Microsoft Scrap J ++ و C #

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

    أخيرًا ، تجدر الإشارة إلى أن ميغيل دي إيزكاسا يشعر بالإحباط لعدم قدرته على العمل لدى شركة مايكروسوفت ، بسبب جواز سفره ... ، مما جعله ينشئ برنامجًا متوافقًا مع Windows من Linux ، حتى يدركوا "ما فاتهم" "

  10.   كوك قال

    أنا لا أحب هذا 🙁

  11.   المطورين قال

    أعتقد أن أحد أسباب استخدام GNU / Linux هو أنه مفتوح المصدر وإذا بدأنا في استخدام برنامج تم إنشاؤه بواسطة Microsoft فسوف نشارك في تناقض ، أيضًا لماذا تحتاج إلى برنامج Microsoft عندما يكون هناك مجتمع كبير في عالم مفتوح المصدر لدعم بعضنا البعض (أصل المصدر المفتوح) وبالتالي تحسين أي تطبيق غير مفتوح المصدر ، ألا تعتقد ذلك؟

    دعونا نتذكر أن .NET في البداية لم تكن مجانية وإذا تم إصدارها (الجزء الذي تم إصداره) فذلك لأن المطورين لم يستخدموه بسبب تطبيقه المحدود وبهذا فقدت Microsoft وجودها بين جميع المطورين.

    إذا كان ما نريده هو أن تعمل تطبيقاتنا على منصات مختلفة ، فلماذا لا تستخدم Java أو Python. التطبيقات الجديدة التي أنشأتها Xamarin لتطوير iOS أو android ، هي فقط طريقة # احتكار التطوير تحت لغة واحدة ، لأنه كما نعلم جميعًا ، من الأفضل دائمًا استخدام اللغة الأم.

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

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

    لا تصدق ذلك؟؟؟

  12.   أدريان فرنانديز قال

    لا أعتقد أن M $ سيفعل أي شيء حيال القبض على أي شخص ينتهك براءات الاختراع C #. لم يفعل ذلك من قبل ، ولم يفعل ذلك اليوم ، لذلك فهو بالكاد يفعل ذلك في أي وقت قريب. من ناحية أخرى ، يُعرف Stallman بجنون العظمة المستمر تجاه ما هو ليس برمجيات حرة (حتى أنه غير راضٍ عن نواة Linux) ، تخيل لمدة 20 عامًا ، عالمًا من المطورين مضطهدين من أجل M $.
    على أي حال. Monodevelop هي أداة ممتازة للعمل معها. وإذا كان أي شخص خائفًا من استخدام C # مما رأيته ، فلا يزال هناك Basic ، والذي يعد حاليًا قادرًا مثل C # في معظم التطورات.

  13.   دانيال نورييجا قال

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

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

  14.   صورة Jose Manuel Alcaraz قال

    طبعا لا تكرس نفسك للعرافة ... لقد سمرتها ... الشبكة الان مفتوحة المصدر ... xD

  15.   الكسيس قال

    ehhh كما قلت مرات عديدة ... لقد هزمت ريتشارد ستالمان ... إنه يعبر عن رأيه ويقفز المعجبون كما لو كانت كلمته وصية مقدسة ... على الرغم من أن MS يمكن أن تستفيد من براءات اختراعها في المستقبل ، لا يقل صحة أن (على الأقل في المكان الذي أعيش فيه) المنصات السائدة على مستوى المؤسسة هي .NET و Java ... لذا فإن تعلم التعامل مع Mono سينتهي به الأمر بالفائدة على مهنة محتملة كمطور ؛ ليس من الصحي جدًا لعالم Linux أن يسحق أي بديل يختلف عن "مُثُل" السيد Stallman ، أنا شخصياً أستخدم Mono للتجربة والتعلم (بما أنني لا أقوم بتثبيت النوافذ على جهاز الكمبيوتر الخاص بي ، لكن لا يمكنني فرض هذا على موقع عملي) وأنا لا أشعر بأنني آثم هههههه تحياتي.

  16.   JOU قال

    لا يهمني حقًا ما إذا كانت C # تشكل خطرًا أو إذا كانت لغة أخرى مفتوحة أم غير ذلك ، طالما أنها تتكيف مع أي نظام تشغيل وتكون مربحة وتدر المال ، فهذا جيد ، أنا حاليًا مبرمج جمبري لينكس يستخدم اللغة الأساسية تشبه Windows Visual Basic وإذا رأيت أنها تسهل البرمجة السهلة والاحترافية وتتوسع إلى العديد من الأنظمة الأساسية ، فستكون موضع ترحيب.

  17.   رعب قال

    أيها السادة ، منذ أن اشترت Microsoft بالفعل Xamarin في عام 2016 ، ما زال أمام Mono طريق طويل لتقطعه. توقف عن التعصب الرخيص وابدأ في العمل على خيارات البرمجة الأخرى. أصبح .NET رسميًا قابلاً للنقل على الأنظمة الأساسية التي لا تعمل بنظام Windows منذ عام 2014 (مع إنشاء DotNet Foundation) وتزايد تنفيذ .NET شيئًا فشيئًا في البيئات غير التابعة لنظام Windows. لم تعد تفكر فقط في تلك الأشياء الخاصة بخدمات معلومات الإنترنت أو خوادم Windows كما كان من قبل ، ولكن عليك التفكير في Apache Web Server / Nginx مع .NET. في حالتي: لقد صممت تطبيقات ASP.NET MVC 4/5 على IIS ثم على Apache Web Server على Linux Ubuntu لمدة عام تقريبًا حتى الآن ، وحتى الآن ، لم أواجه أي مشاكل في تشغيل تطبيق ASP.NET MVC على اثنين منصات الويب المختلفة.

    هذه هي مساهمتي ، إذا كنت مهتمًا بترحيل تطبيقات ASP.NET MVC إلى Apache / Ubuntu:

    جزء 1:
    https://radioterrormexico.wordpress.com/2016/06/22/ejecutar-aplicaciones-asp-net-en-plataformas-no-windows-parte-13/

    جزء 2:
    https://radioterrormexico.wordpress.com/2016/06/23/ejecutar-aplicaciones-asp-net-linux-ubuntu-server-parte-23/

    مثال جيثب:
    https://github.com/boraolim/MonoServe-2016

  18.   المستبد قال

    هذا النقاش له نفحة سياسية قوية ... hahahaaaa XD

  19.   الألمانية A. COPERTINO قال

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

  20.   إلفينو مفقود قال

    حسنًا ، في أوقات العولمة وانهيار العولمة ، من الجيد أن نتذكر بعض المناورات الاحتكارية للبعض
    أو تصرفات للتلاعب ، ليس من أجل لا شيء ، تكتسب رواية Ximian ، لكنها تقرأ
    ما حدث مع Mysql / Sun Microsystm ثم Oracle تمتص الشمس ومعها Mysql لكي تختفي
    استغرق الأمر من مونتي (مبتكر Mysql) بعض الشيء لإدراك ذلك ، لكنه أعاد تعويم مشروعه وأنجب MariaDB وانتهى به الأمر إلى أن يكون بمثابة ألم في المؤخرة في Oracle
    لكن الشيء نفسه يمكن أن يحدث مع Mono.
    أنا مبرمج Cobol و C و Java و Harbour Multilanguage Networking ، وبهذا الترتيب تحت Aix و Linux و Windows
    أقوم بخلط التطبيقات عن طريق Socket ، وأقوم بتوصيل التطبيقات بين لغات مختلفة ومنصات مختلفة للبنك

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

  21.   سميتي قال

    صافي النواة + C # = المستقبل

  22.   جيسو آرس قال

    كانت الملاحظة تسير على ما يرام حتى ظهرت عبارة "إذا كنت مبرمجًا ، فلا تستخدم C #" ... في تلك المرحلة فقدوا كل مصداقيتهم.

  23.   جافيت جرانادوس قال

    في عام 2020 ، ثبت بالفعل أنه لم يحدث شيء مما قيل في هذا المنشور. قامت Microsoft بإنشاء .NET Core وجعله مجانيًا. الآن مع 3 منصات مع مكتبات أساسية متشابهة جدًا ولكن في النهاية مختلفة (منذ إنشائها من الصفر) ، كانت الخطوة التالية هي توحيد الثلاثة في واحد ، وهذا هو بالضبط ما يتم عمله مع .NET 5 (بدون الكلمة "Core" أو "Framework") ، كما قيل ، عبارة عن نظام أساسي جديد ، ولكنه الآن مفتوح المصدر ومتعدد الأنظمة الأساسية ، ويمكن استخدامه لتطوير تطبيقات الويب وتطبيقات سطح المكتب وتطبيقات الأجهزة المحمولة وإنترنت الأشياء والذكاء الاصطناعي والسحابة وغيرها .. حدث هذا التطور بفضل العدد الكبير من المطورين الذين ساهموا بفضل حقيقة أن .NET أصبحت الآن مفتوحة المصدر. كان يجب أن يحدث هذا نظرًا لوجود المزيد من الشركات والمطورين الذين يستخدمون .NET بطريقة مفتوحة ، فتحت Microsoft إمكانية بيع خدماتها (بشكل رئيسي في السحابة) ، والتي لا تقتصر على استخدام .NET أو C # أيضًا. مايكروسوفت ليست غبية ، فقد كان إغلاق برامجها وبدء الدعاوى القضائية أمرًا خطيرًا بالنسبة لها. لكن مهلا ، أنا لست متزوجًا من .NET أو أي لغة أخرى. لكني أرى ما يتم فعله في المجتمع المذكور مثيرًا للاهتمام. من خلال الحصول على دعم من شركة كبيرة ، يمكن أن ينمو المجتمع المجاني بشكل أسرع ، خاصة وأن هناك .NET Foundation هي المسؤولة عن مراجعة المشاريع الحالية مفتوحة المصدر في .NET ، والتي تضمن وجود طلب ، وعمليات تصحيحها من Microsoft نفسها لمراجعة المشاريع المذكورة.