بدأت في تعلم لغة السي شارب منذ اسبوعين تقريبا .... اللغة جميلة وشبيه الى حد ما بلغة الفيجوال بيسك ... لكن سؤالي هنا : مع وجود البيئة المرئية ماهي الحاجة الى الطرفية او Console.
اهمية Console في السي شارب
أولا طالما أنك مهتم بالسي شارب فألفت انتباهك لوجود مجتمع للسي شارب
أما بالنسبة للإجابة على سؤالك
يوجد عدة أنواع من المشاريع
مكتبة فئات Class Library
وتطبيق كونسول Console Application
وتطبيق واجهات ويندوز Windows Forms Application
وتطبيق WPF واسمه Wpf Application وهو اختصار Windows Presentation foundation
كما يوجد أنواع أخرى منها مكتبة محمولة و خدمات ويندوز وأنواع يمكن معرفتها عند فتح مشروع جديد في بيئة فيجوال ستوديو
بالنسبة للمكتبة فيكون خرجها ملف DLL
أما الكونسول و الويندوز فورم و WPF فهي تطبيقات ويندوز و خرجها ملف تنفيذي EXE
التطبيقات لها عدة تصنيفات منها ما يحتوي واجهة مرئية تظهر للمستخدم من أجل الإدخال والإخراج
ومنها ما يكون له واجهة واحدة هي واجهة الكونسول أي شبيهة بواجهة نظام الدوس القديم
وهذا النوع يكون مجردا من مكتبات الواجهات ويكون انطلاقه من خلال إجراء له صفة Attribute تحدد أنه يمثل نقطة دخول التطبيق
وهو غالبا يستخدم لأغراض التجريب والأمثلة و بناء تطبيقات تعمل في الخلفية أو يمثل تطبيق لإدارة عدة تطبيقات أخرى
أما بالنسبة للتطبيقات التجارية فالأفضل حاليا هو WPF لأن Windows Form يعتبر قديم وبقاؤه ودعمه من باب أن مايكروسوفت تريد المحافظة على سوق أنظمتها السابقة ومستخدميها السابقين ولوجود مطورون لا زالوا يستخدموها حتى الآن
أما الWPF فهو المعتمد لوجود فرق شاسع من حيث الميزات والمتانة والمرونة
ويكفي أن مايكروسوفت استخدمتها في بناء ويندوز 8 و أوفيس وكل تطبيقاتها لويندوز 8 ومنها تم اشتقاق السلفر لايت وويندوز فون
1- ليس كل شيء يحتاج لبيئة مرئية. مثلاً برمجة بعض المكتبات التي تهدف لخدمة مبرمجين آخرين إن صنعت ببيئة مرئية سيصعب نشرها وإعادة استخدامها في برامج أخرى. مثل مكتبات الرياضيات و مكتبات قراءة وكتابة الملفات ومكتبات الوقت والتاريخ وغيرها حيث البيئة المرئية تكون حاجز يحد من استخدامها.
2- الأداء والموارد: البيئة المرئية تجعل البرنامج أكبر بكثير ويستغرق وقتاً أطول للبرمجة والتشغيل. وهو أمر لا داعي له في أحيان كثيرة مثل إيجاد الحلول لبعض المشاكل. قبل أسبوعين كتبت برنامجاً بسيطاً في عدة دقائق في 28 سطراً للتأكد من نتيجة معينة. ستكون أجمل لو كتبتها ببيئة مرئية لكنها ستأخذ وقتاً أطول بكثير فلماذا أضيع وقتي في شيء سأستخدمه لمرة واحدة. الأمر نفسه ينطبق على المسابقات البرمجية
3- البيئة المرئية محدودة بنوع وأحياناً نسخة نظام التشغيل. أعلم أن من يستخدم سي# يتجه للبرمجة للوندوز لكن هذا بدأ بالتغير ومشروع مونو نشر هذه اللغة لأنظمة أخرى وليست جميع المحتويات المرئية مدعومة في كل الأنظمة.
قد يتخلل كلامي بعض الأخطاء فأنا لا أستخدم السي# بكثافة.
التعليقات