post

#4 كتابةُ التطبيقِ الأول – البرمجة بواسطة #C

رمز فتح مرحلة هذا الدرس في تطبيق طورني : PEA

تَعلُمُ البرمجةِ للمبتدئينَ كلياً بواسطةِ #C –  كتابة التطبيق الأول

بدء التطبيق العملي :

السلامُ عليكم ورحمةُ اللهِ وبركاته، وأهلاً بكمْ في الدرس الرابع من دروسِ سلسلةِ، تَعلُمِ البرمجةِ للمبتدئينَ كلياً بواسطةِ السي شارب، أو كما أحب أن أناديها بالسي شوربة، بعدَ المقدمةِ النظريةِ الثقيلةِ في المحاضراتِ السابقة، أنا متأكدٌ أنكَ متشوقٌ للبدءِ الفعلي بكتابةِ الأسطرِ البرمجية، فلقد جُبلنا على حُبِّ التطبيقِ العملي، بعيداً عنِ المعلوماتِ النظريةِ المملة، وفي هذا الدرسِ سنقومُ بكتابةِ برنامجٍ بسيط، يقومُ بطباعةِ جملةٍ بسيطةٍ على شاشةِ الـ Console،

تعريف الـ Console :

ويمكنُ تعريفُ الـ Console على أنه، شاشةٌ سوداءُ تقومُ بإظهارِ نصوصٍ على شكلِ أسطرٍ متتالية، وسيسألُ بعضكم: لماذا نستخدمُ الشاشةَ السوداءَ الـ Console؟ بدلاً مِن تطويرِ تطبيقاتٍ بواجهةٍ رسومية؟ الحقيقةُ أنَّ تطبيقاتِ الـ Console تتميزُ ببساطتها، ومناسبتِها لشرحِ أساسياتِ لغاتِ البرمجة، ولو أننا قمنا بالانتقالِ مباشرةً إلى الواجهاتِ الرسومية، ستجدُ العديدَ منَ الأمورِ الصعبةِ والمبهمة.

وهدفنا منْ هذا التَّطبيقِ، هو تعلمُ كيفيةِ كتابةِ الأسطرِ البرمجيَّةِ، لذلكَ لنْ أقومَ بتفسيرِ لماذَا قمنا بكتابتها، بلْ سأقومُ بالتركيزِ على كيفيةِ الكتابةِ بحدِّ ذاتِها، لأنها ستكونُ أساساً لكلِّ الأمثلةِ اللاحقةِ، الَّتي سنقومُ بكتابتِها معاً مستقبلاً، بالإضافةِ إلى أنَّنا سنتعلمُ في هذا الدرسِ أموراً، مثل:
– كيفيةُ إنشاءِ مشروعٍ جديدٍ وحفظِهِ.
– التعرفُ على النافذة المُخصصةِ لكتابةِ الأسطرِ البرمجيَّةِ.
– تعلمُ كيفيةِ تنفيذِ التَّطبيقِ والحصولُ على مخرجاتهِ.
– وسنتعلمُ ماذا نفعلُ إنْ واجهتنا مشكلةٌ في الأسطرِ البرمجيَّةِ؟ 

لذلكَ، لا تقلقْ إنْ لمْ تستوعبْ جزئيةً معينةً في هذهِ اللحظةِ؛ لأنَّ كلَّ الدروسِ اللاحقةِ ستتكفلُ بالردِّ على تساؤلاتِكَ الحاليةِ. سنغوصُ في بحرِ البرمجة، فهل أنتَ مستعدٌ لتعلمِ السباحةِ الآن؟

إنشاء مشروع جديد :

الآنَ قُمْ بفتحِ البرنامَجِ الذي اخترتهُ في الدرسِ السابق، ولا تقلق إن وجدتَ اختلافاً في واجهةِ البرنامَجِ عندكَ، لأنَّ الأساسياتِ الَّتي سنتعلمُهَا موحدةٌ في الجميع. ولكي نقومَ بإنشاءِ مشروعٍ جديدٍ، سنذهبُ إلى قائمةِ:

File –> New –> Project ،

حيثُ ستظهرُ لكَ نافذةٌ جديدةٌ بعُنوان New Project، بها قائمةٌ مِنَ الاختياراتِ قدْ تختلفُ منْ نُسخةٍ لأُخرَى، لكنْ ستجدُ بالتأكيد #Templets –> Visual C، بعدَها قمْ باختيارِ النَّوعِConsole Application ، وقمْ أيضاً بإعادةِ تسميةِ المشروعِ إلى  HelloWorld، لاحظ أني قمتُ باختيارِ اسمِ مشروعٍ مطابقٍ لوظيفته، وهذَا سيساعدُنِي لاحقاً في معرفةِ وظيفةِ هذا المشروعِ، وأنَا أوصِي شخصياً بهذهِ الطريقةِ في كُلِّ مشاريعِكَ المُستقبليةِ، لكي تتذكرَ منَ الاسمِ فقطْ، لِمَ قمتَ بكتابةِ هذا التَّطبيقِ. ولاحظْ أيضاً أنِّي قمتُ باستخدامِ حروفٍ كبيرةٍ، ببدايةِ كلِّ كلمةٍ من كلمات الاسم، وقمتُ بلصقِ الكلمتينِ معاً ولمْ أضعْ مسافةً بينَهما، وذلكَ لاستخدامِها لاحقاً في أمورٍ معينة. بعدَ ذلكَ سأقومُ بالضغطِ على زرِّ التأكيدِ OK، لتختفِي شاشةُ الأنواع، ويظهَرَ أمامَنا المشروعُ بمكوناتِهِ،

والمنطقةُ الأكثرُ اتساعاً في شاشةِ البرنامَجِ، هيَ المكانُ المخصصُ لكتابةِ الأسطرِ البرمجيَّةِ، حيثُ تمَّ إنشاءُ ملفٍ يحملُ الاسم program.cs ، يحتوِي على بعضِ الأسطرِ البرمجيَّةِ التي تمَّ إنشاءُهاً تلقائياً، لتساعدَنا في البدءِ الفعليِّ لكتابةِ مضمونِ التَّطبيقِ. حيثُ إنَّنا سنتجاهلُ مبدئياً كلَّ هذهِ السطورِ، إلا المنطقةَ الموجودةَ بداخلِ الأقواسِcurly braces  هنا، وتجدرُ الإشارةُ هنا أنَّهُ يجبُ التَّمييزُ بينَ أنواعِ الأقواسِ، فهناكَ :
الأقواسُ المربعةُ brackets،
وهناكَ الأقواسُ الحادةُangle brackets ،
وهناكَ الأقواسُ الدائريةُ Round brackets .

كتابة التطبيق الأول :

لكتابةِ الأسطُرِ البرمجيَّةِ سأقومُ بحجزِ مساحةٍ كافية، وذلكَ بالضغطِ على زِرَّEnter ، بعدَ نهايةِ القوسِ في السطرِ رَقَمِ اثني عشرَ، وسأبدأُ بكتابةِ الآتي: Console منَ الانتباهِ الحادِّ أنَّها تبدأُ بحرفٍ كبيرٍ، ولاحظْ ظهورَ نافذةٍ صغيرةٍ مساعدةٍ خلالَ كتابتِي، سأتجاهلُهَا الآنَ لكنْ لاحقاً ستصبِحُ أعزَّ أصدقاءِك، ثمَّ سأقومُ بإتباعها بالنقطةِ dot، وكتابةُ كلمةِ WriteLine ملتصقتينِ معاً، معَ الانتباهِ أيضاً إلى أنَّ حرفي الدبليو والإل سيكونانِ بحروفٍ كبيرةٍ، ثمَّ سأقومُ بفتحِ أقواسٍ دائريةٍ (Round brackets)، وانتبهْ هُنا إنَّنا نحتاجُ أقواساً دائريةً وليسَ أقواساً مُربعةً، وبداخلِ هذهِ الأقواسِ سأقومُ بإضافةِ علامَتَي تنصيصٍ ثُنائيةٍ “، وانتبه لاستخدامَ علامتي تنصيصٍ وليسَ علامةٌ واحدة، وسأقومُ بكتابةِ الجملةِ Hello World ، بداخلِ علامتيِّ التَّنصيصِ وليسَ في أيِّ مكانٍ آخرَ، وفي نهايةِ السطرِ سأقومُ بإضافةِ فاصلةٍ منقوطةٍ ( semicolon ; ) ، وسأقومُ بالضغطِ على زرِّEnter للانتقالِ إلى السطرِ التالِي وكتابةِ:

 Console.ReadLine(); 

ولضمانِ عدمِ ضَياعِ ما قُمنا بكتابتهِ، سنقومُ بحفظِ البرنامجِ منْ قائمةِ File –> Save All، أو بإمكانكَ الضغطُ على هذهِ الأيقونةِ ( شكل القرصين ). الآنَ سأطلبُ منكَ إيقافَ الفيديو، وكتابةَ السطرينِ السابقينِ، وأتمنَّى منكَ التَّأكدَ منِ استخدامِ حروفٍ كبيرةٍ في بدايةِ الكلماتِ، ونفسِ علاماتِ الترقيمِ والأقواسِ الَّتي استخدمتُها هنا.

تنفيذ التطبيق للحصول على المخرجات :

أنَا مُتأكدٌ أنَّكَ متشوقٌ لرؤيةِ نتيجةِ ما قُمنَّا بكتابتَه، ولفعلِ ذلكَ قمْ بالضغطِ على المُثلثِ الأخضرِ، الموجودِ في الأعلى بجانبِ كلمةِ Start، أو إنْ لمْ تجدْهُ لسببٍ ما يمكنُكَ الذَّهابُ إلى قائمةِ Debug –> Start Debugging، أو بإمكانِكَ الضغطُ على مفتاحِ F5 إنْ كنتَ منْ مُحبيّ الاختصاراتِ السَّريعةِ. بتنفيذِ التَّطبيقِ سنلاحظُ ظهورَ نافذةٍ سوداءَ، مكتوبٌ فِيها Hello World وتحتَهَا مُؤشرٌ يظهرُ ويختَفِي، وعندَ الضغطِ على زرِّEnter منْ لوحةِ المفاتيحِ، ستختفِي شاشةُ ال Console، وسيعودُ برنامجُ Visual Studio إلى شكلهِ السابقِ.

تهانينا لكَ، فلقدْ نجحتَ بكتابةِ تطبيقِكَ الأولِ. قُمْ الآن بطباعة جملةٍ تعرفنا فيها عن نفسك، وتضع فيها هواياتك، وشاركها معنا بهاش تاق #طورني، ولا تنسى أن تقوم بعمل Mention لحسابي الشخصي، لأقوم بالرد عليك، أراك في الدرس التالي إن شاء الله.

ملاحظة هامة : 

إن واجهتك مشكلة مفادها : Visual Studio cannot start debugging because the debug target ‘c:\XXXXXX’ is missing ، قم بالتأكد من أن مسار المخرجات صحيح وذلك بالذهاب إلى قائمة : Project > Properties > Build > Output path ثم بعد ذلك قم بالتأكد من أن ال main/entry للمشروع في نافذة Build > Configuration Manager تم إختيار عمل Build له، إذا لم يكن قد تم إختياره قم بوضع علامة صح عليه.

 

مصطلحات الدرس :

Console : شاشة سوداء تقوم بطباعة أسطر متتالية، تتميز ببساطتها وقوة بنيتها
File : ملف
New : جديد
project : مشروع
Templets : نوع مشاريع معد مسبقاً يحوي إعدادات خاصة
#Visual C : لغة #C المرئية
Console Application : تطبيقات من النوع Console
Hello world : هو أول مشروع يتم تعليمه في كل اللغات لسهولته، حيث تقوم بتعلم كيفية طباعة جملة
Program.cs : الملف الرئيسي الذي يتم بدء تنفيذ التطبيق منه
WriteLine : دالة تقوم بطباعة نص معين ثم النزول إلى سطر جديد
semicolon : الفاصلة المنقوطة ;
ReadKey : دالة تقوم بقراءة مدخلات من المستخدم، وتمنع تطبيقات الـ Console من الوصول إلى نهاية التطبيق والخروج دون رؤية النتائج
Save All : حفظ جميع الملفات التي تم تعديلها سابقاً
Start : بدء تنفيذ التطبيق وهي بمثابة تشغيله بعد إنهاء ترجمته
Debug : تصحيح الأخطاء
Start Debugging : بدء تصحيح الأخطاء
Mention : تنويه وذكر

post

#3 تنصيب Visual Studio – البرمجة بواسطة #C

رمز فتح مرحلة هذا الدرس في تطبيق طورني : BFV

تَعلُمُ البرمجةِ للمبتدئينَ كلياً بواسطةِ #C –  تنصيب الـ Visual Studio

روابط البرنامج :
رابط موقع الـ Visual Studio
رابط نسخة الـ Community لنظام الويندوز
لتحميل آخر نسخة الرجاء التوجه للصفحة الرئيسية هنا ، أو يمكنك الحصول على نسخة أقدم في حال لم تكن تمتلك آخر نسخة ويندوز  هنا 
رابط نسخة الـ Visual Studio لنظام الماك
رابط نسخة الـ Visual Studio Code لكافة الأنظمة
رابط الـ MonoDevelop البديل للفيجوال ستوديو لكافة الأنظمة
رابط موقع Fiddle محاكي أونلاين ، يمكن تشغيله على كافة الأنظمة
رابط لتطبيق Compiler محاكي على الأندرويد *لا ينصح به لأن كتابة الأسطر البرمجة من خلال الهواتف صعب ويضيع وقت

بيئةُ تطويرٍ تكاملية :

السلامُ عليكم ورحمةُ اللهِ وبركاته، وأهلاً بكمْ مجدداً في دروسِ سلسلةِ، تَعلُمِ البرمجةِ للمبتدئينَ كلياً بواسطةِ السي شارب.
لكي تقوم بكتابة الأسطر البرمجية، أنت بحاجة إلى بيئة تجعلك قادراً على فعل ذلك، والبَرنامجِ الرئيسيِّ الذي سوفَ نستخدمُهُ في هذهِ السِّلسلةِ، هوَ برنامجُ الـ Visual Studio المُقدمُ منْ شركةِ Microsoft، وهذا النَّوعُ منَ البرامجِ يُطلقُ عليهِ، بيئةُ تطويرٍ تكامليَّةٍ (IDE)، المُشتقُ منَ المُصطلحِ integrated development environment، منَ الأفضلِ اصطلاحاً أنْ نُطلقَ على الـ Visual Studio اسمَ: بيئةُ تَطويرٍ تكامُلية، ولكنْ منْ بابِ الاختصارِ والمجاز، سَنُطلِقُ عليهِ اسمَ برنامج. ويمكنُ تعريفُ الـ IDE بشكلٍ مُبسطٍ على أنَّهُ، تطبيقٌ برمجيٌ يُقدمُ حُلولاً مُتكاملةً تُسهلُ عَملَ المطورينَ.

أقسام ال IDE :

ويتكونُ غالباً منْ أقسامٍ رئيسيَّةٍ أهمها:

1 – محرِرٌ للنُّصوص: (Code Editor)

وهو المكانُ المُخصصُ لكتابةِ الأسطرِ البَرمجيَّةِ، ويمتلكُ العديدَ منَ الميزاتِ أهمها، خاصية الـ IntelliSense، التي تقوم بإظهار نافذة تقترح عليك الأوامر المطابقة لما تكتب، وتقوم أيضاً بتصحيح الكلمات إن نسيت حرفاً، وتقوم بإعطائك معلومات عن الأمر الذي قمت بكتابته.

2 – المُصَحِّحُ: (Debugger)

ويقومُ بترجمةِ التطبيق ليساعِدَكَ على إيجادِ الأخطاء، لتتمكن من إصلاحها قبل الانتقالِ إلى المرحلة النهائية،

3 – أدواتٍ مُساندةٍ: تُسهِّلُ بناءَ واجهاتِ التَّطبيقِ GUI،

أيضاً لديهِ القدرةُ على تشغيلِ أدواتٍ خارجيةٍ Plug-ins، تزيدُ من فعاليتهِ على كافةِ الصُعُد.

يدعم الفيجوال بيسك لغات برمجة عديدة :

C, C++, VB.NET, C#, F# ، Python, Ruby, Node.js, M ، XML/XSLT, HTML/XHTML, JavaScript, CSS

الحصول على البرنامج :

ولكي نحصلَ على البَرنامجِ سنقومُ بتصفُّحِ موقعِ visualstudio.com، حيثُ أنَّنا سنجدُ زرُ الحُصولِ على النُّسخةِ المجانيَّةِ منَ البرنامجِ. وبعدَ الضغطِ عليهِ سَتلاحظُ أنَّ هنالِكَ ثلاثةُ أنواعٍ رئيسيةٍ قدْ يَختلفُ عددُها مُستقبلاً،

فالنوعُ الأوَّلُ هو نسخةُ Visual Studio Community، وهي التي سَنستخدمها في هذهِ السِّلسلة، وتحتوي على كل الميزات التي تساعدك في إنجاز تطبيقك.

أما النسخةُ Visual Studio Team services، فهي نسخةٌ مُتقدمةٌ لإدارةِ المشاريعِ الكبيرةِ. وبواسطتها يمكنُكَ تنظيمُ مشروعٍ كبيرٍ وإدارتهِ بشكلٍ دقيقٍ ومُفصّلٍ، حيثُ تُجَزِّءِ المشروع إلى مهام صغيرة، وتُسندها إلى فريقِكَ ليتم برمجتها ثم تجميعها لاحقاً.

أمَا الـVisual Studio Code، فهو نُسخةٌ خفيفةٌ جداً منْ الـ Visual Studio، وهو يعتمد على نظام الإضافات، فمثلاً لجعله يقوم بمعالجة أسطر لغة السي شارب، أنت بحاجة لإضافة extension من داخل البرنامج، بحيث يقوم البرنامج بتنزيل ما يحتاجه فقط، وهو متميز جداً وستعتمده مستقبلاً، لكن لا ينصح به في هذه السلسلة، لأنه متقدم ويفتقر للواجهة الرسومية المبسطة، ومنْ أهمِّ ميِّزات هذه النسخة، أنَّهُ يمكنكَ تشغيلها ليسَ فقطْ على نظامِ الـ Windows، بلْ أنظمةٍ أُخرى مثل نظام الـ Mac.

النسخة المعتمدة في هذه السلسلة :

ننوه هنا أننا سنعتمد نظام Windows لهذه السلسلة أيضاً، ففي حال امتلاكك لنظام Mac يمكنك زيارة الرابط أسفل الفيديو، أو في حال استخدامك لنظام آخر يمكنك اختيار برنامج آخر، كما ويمكنك تتبع الدروس من الهاتف المحمول، بتطبيق الدروس أونلاين على الموقع أسفل الفيديو، لكن يفضل التطبيق المباشر على نسخة Community، وننوه أيضاً أنني سأقوم باستخدام نسخة 2017، فإن كان جهازك لا يدعم هذه النسخة، يمكنك تحميل إصدار أقدم مثل 2015 أو 2012.

تنصيب البرنامج :

بعد تحميل نسخة Community، ستقومُ شاشة التنصيب بإظهارِ مجموعات Workloads، تم تجميعها مسبقاً من شركة Microsoft، تسألك عن المنصة المستهدفة التي تود تطويرها، حيث ستجد 3 أقسام رئيسية وهي:

Windows و Web & Cloud و Mobile & gaming.

وبما أننا في هذه السلسلة سنهتم بأساسيات البرمجة، فسنقوم بالتعامل مع تطبيقات الـ Console، لذلك سنقوم باختيار .Net Desktop Development فقط، ثم تقوم بتنصيبها، وبعدَ الانتهاءِ منْ تنصيبِ البَرنامجِ، ستكون جاهزاً لكتابةِ الأسطُرِ البرمجيَّةِ. أراكَ في الدرسِ التالي إنْ شاءَ الله.

مصطلحات الدرس :

IDE : بيئة تطوير تكاملية وهو إختصار لـ Integrated Development Environment ويتيح لك الحصول على ميزات تساعدك في التطوير
Code Editor : محرر للنصوص، تستطيع بواسطته كتابة الأسطر النصية ( الأسطر البرمجية في حالنا هنا )
IntelliSense : ميزة ذكية تعطيك مساعدات وملاحظات حول ما تقوم بكتابته
Debugger : المصحح ويقوم بإستكشاف الأخطاء
Tools : أدوات مساعدة
GUI : الواجهات الرسومية وهي إختصار لمصطلح Graphic User Interface
Plug-ins : تطبيقات وبرامج مساعدة يتم إضافتها للبرنامج لتعطي إمكانيات أكثر
Visual Studio Community : نسخة البرنامج المجانية التي تستطيع تطوير التطبيقات بها
Visual Studio Team services : نسخة البرنامج التي تستطيع تطوير التطبيقات بها، وهي متقدمة حيث يمكنك العمل مع فريق عن بعد بإعطاء وظائف مجزئة
Visual Studio Code : نسخة البرنامج المجانية التي تستطيع تطوير التطبيقات بها، وهي قليلة الحجم وقوية ولكنها تعتمد على الإضافات plugins
extension : إضافات إلى البرامج تزيد من إمكانيته، وهو مصطلح مشابه لـ Plug-ins
Workloads : مجموعات تم تحضيرها مسبقاً متواجدة داخل إعدادات تنصيب برنامج Visual Studio مناسبة لتحديد الفئة المستهدفة للتطوير، سواء للويندوز أو للموبايل أو للويب
Windows : تطبيقات النوافذ لنظام Windows
Web and Cloud : نطبيقات صفحات الإنترنت وما يتعلق بها
Mobile and Gaming : تطبيقات للهواتف الذكية وتطوير الألعاب
Console : شاشة سوداء تقوم بطباعة أسطر متتالية
Net Desktop Development : الفئة المطلوبة لتطوير التطبيقات للنوافذ 

post

#2 لماذا السي شارب – البرمجة بواسطة #C

رمز فتح مرحلة هذا الدرس في تطبيق طورني : VDF

تَعلُمُ البرمجةِ للمبتدئينَ كلياً بواسطةِ #C –  لماذا لغة السي شارب؟

مهارات تطوير التطبيقات :

السلامُ عليكم ورحمةُ اللهِ وبركاته، وأهلاً بكمْ مجدداً في دروسِ سلسلةِ، تَعلُمِ البرمجةِ للمبتدئينَ كلياً بواسطةِ السي شارب.
يَدخُلُ بَعضُ المُطورينَ إلى عالمِ البرمجةِ مِنْ أجل التحدي، وكثيرٌ مِنهم يَدخُلونَهُ للحصولِ على وظيفةٍ لِيجني مِنها مالاً، ولكِن الذي لا يَخطُرُ على بَالِ الكثيرين، أنَّ تَطويرَ التَطبيقاتِ ضروريٌ ومُهم، حتى إن لم يَرغَبوا بامتِهانِه كوظيفةِ عَمَل، ولأنَّ الحاسوبَ أصبحَ جزءاً مِن حياتنا اليومية، فَتَعَلّمُ تَطويرِ التطبيقاتِ مِنَ المَهاراتِ التي يَجِبُ اكتِسابُها. لأنَّ البَرمَجَةَ لا تُطوِّرُ تَفكيرَكَ لِحَلِّ المَشاكِلِ فَحسْب، بَل تُحسِّنُ مِنْ أدائكَ وتَجعُلكَ أكثرَ تَنظيماً وأكَثرَ إنتاجية.

مثال واقعي :

بعيداً عَنِ التنظيرِ وكمثالٍ واقعي، يَعملُ أحَدُ طُلابي السابقينَ في مجالِ إنتاجِ الفيديو، حيثُ أنَّهُ يَتعاملُ مَعَ أنواعٍ شَتى مِنَ المَلفات، إن كانَت صوراً أو مَلفاتِ نُصوصٍ وأصوات، ولأني عَهِدْتُهُ مُنَظَّمَاً مُحِباً للتَرتيب، يَقومُ بتوزيعِ الملفاتِ في مُجلداتٍ فرعيةٍ حَسَبَ نَوعِها، ويَقومُ بتِكرارِ العمليةِ السابِقةِ في كُلِّ مَشروعٍ جَديدٍ له، مِما يَستَهلكُ مِنْهُ وقتاً كثيراً فضلاً عَنْ رُوتينِيةِ الأمر، لكِنهُ بَعدَ تَعلُمِ تَطويرِ التطبيقات، قامَ بتطويرِ تَطبيقٍ بسيط، حَيثُ يُدْخِلُ فيهِ اسمَ المشروعِ ومَعلوماتٍ بسيطة، ليقومَ بِضَغْطَةِ زِرٍّ واحدةٍ بإنشاءِ جَميعِ المُجلداتِ التي سَيستَخدِمُها، هُوَ بذلك قامَ بتحويلِ جُهدِ دَقائِقْ إلى بِضْعِ ثَوان، ناهيكَ عَنْ شُعورِهِ بالفَخرِ لإنهائِهِ مُعاناةَ القيامِ بِذلكَ يَدوياً، هُو لا يزالُ يُمارِسُ إنتاجَ الفيديو، لكنَّهُ استَفادَ مِنَ البَرمَجَةِ لتَسهيلِ عَمَله.

البرمجة موجودة حولنا :

والحَقيقةُ أنَّ العَديدَ مِنَ البَرامِجِ التي تَستخدِمُها في حَياتِكَ اليومية، تَحتَوي بِطَريقَةٍ ما على أسطُرٍ بَرمَجِيةٍ قَامَ مُطوِّرٌ بِكتابتها، فعلى سبيلِ الِمثالِ بَرنامِجُ الـ Excel، يَسمحُ لكَ باستخدامِ مَاكرو Macro سَريعة، أيضاً العديدُ مِنْ بَرامِجِ أدوبي Adobe، مِثلُ الفُوتوشوب Photoshop والأفتر إيفيكتس After Effects، تَحتوي على إجراءاتٍ بَرمَجيةٍ أوتوماتيكية، تَقومُ بتَنفيذِ عَشراتِ الأوامِرِ المُتتاليةِ بِضَغطةِ زِرٍّ واحدة، كُلُّ ذلكَ يَحتاجُ مِنكَ أنْ تَكونَ على عِلمٍ بِكتابةِ الأسطرِ البرمجية.

أفكار تسهل حياتك :

بَعيداً عَنِ البرامِجِ السابقة، أنا مُتأكِدٌ أنكَ تَمتلكُ العديدَ مِنَ الأفكار، التي إن قُمتَ ببرمجتِها لأصبَحتْ حَياتُكَ أسهَل، ووجَدتَ فرقاً في سُرعَةِ أداءُكَ، هذِهِ التطبيقاتُ تَحتاجُ مِنك نِصفَ ساعة، ولكنَّها سَتوفرُ عَناءَ عَشراتِ الساعات. بالإضافةِ إلى أنَّ البرمجةَ بِحدِّ ذاتها مُمتعة، وسَتشعرُ بالسعادةِ عِندما تَقومُ بحلِّ مشاكلك.

خصائص لغة السي شارب #C :

والسي شارب لغةٌ مِن لغاتِ برمجةِ الحاسوب، تَسمحُ لكَ بتطويرِ أنواعِ تطبيقاتٍ مختلفة، قامَتْ شَركةُ Microsoft بتطويرها، لتعتمِدَها بشكلٍ أساسيٍ في إنتاجِ تطبيقاتٍ لمِنَصَاتها المختلفة.

1 – مناسبةٌ للمبتدئين:

لأنها لغةٌ بسيطةٌ وسهلةُ الاسِتخدام، ولأنَّها تُعتبرُ لغةً عاليةُ المُستوى High Level Language، فيمكنُ للإنسانِ الذي يُتقنُ اللغةَ الإنجليزية، فهمَ مُعظمِ مصطلحاتها، لأنها تُوفِرُ كلماتٍ مَحْجوزةٍ مَفهومة، تَضعُها بينَ يَديكَ لأداءِ إجراءاتٍ معينة، ثمَّ تُحوِلُها إلى لُغةٍ وسيطة Intermediate Language، ثمَّ إلى لغةِ الآلة Machine Language، فكلُ كلمةٍ مِن كلماتِ لغةِ السي شارب، يُقابِلها عَشراتُ الجُملِ في لغةِ الألة، مما يَدَعُكَ تُركِزُ على فِكرةِ تطبيقك، ولا تقلقُ بِشأنِ الإجراءات المُعَقدَةِ تلك، فمثلاً استِخدامُكَ للكلِمَةِ المَحجوزَةِ Write، يُخِبر الحاسوبَ بِأنْ يَقومَ بِطِباعَةِ جُملةٍ على الشاشة، فنحنُ هنا لا نَهتمُّ أبداً كيفَ قامَ بالطباعة، بلْ نَهتمُ أنَّهُ قامَ بِذلكَ فقط، الأمرُ الذي إن حاولتَ كتابتَهُ بِلُغَةِ الألة، قَدْ يَستغرقُ مِنكَ عَشراتِ الجمل، فضلاً عَنِ الوَقتِ المهدور.

2 – تَزيدُ مِن إنتاجيَتِك :

لأنَّها لُغَةٌ تَعتمِدُ على نِظامِ الكِتابَةِ Static Type، فإمكانيةُ اكتشافِ الأخطاءِ في تَطبيقكَ قَبلَ بناءه، تَسهلُ عليكَ تتبُعَها وتَبسيطَها لحَلِها لاحقاً، بالإضافةِ إلى أنَّ لُغَةَ السي شارب، تَفرُضُ عليكَ قواعِدَ مُعينةً لكتابَةِ الأسطرِ البرمجية، مما يجعلُ برنامَجَكَ سَهْلَ الصيانةِ وذو مُرونةٍ عالية.

3 – عددُ مُستخدميها كبير :

فتِعدادُ مستخدمي اللغةِ مِن أهمِّ عَواملِ قُوتِها، فكُلما زادَ عَددُ مُستخدميها زادَ غِناها وتَنَوعِها، وسَتُدرِكُ قيمةَ ذلكَ إنْ تَخصَّصْتَ في تَطويرِ التطبيقات، خصوصاً إنْ واجهتكَ مُشكلةٌ ولمْ تَستطعْ حَلها، فلو قُمتَ بالبَحثِ عَنها سَتجدُ أنَّها قَدْ طُرحَتْ سابقاً، وأنهُ تمَّ الإجابةُ عنها أيضاً، بالإضافةِ إلى أنَّكَ سَتجدُ أدواتٍ تَمَّ كِتابتُها بواسِطةِ مُطورين، قاموا ببنائِها لتُسهلَ عليك عَمَلكَ وتَزيدُ مِنْ إنتاجِيَتِكَ بِشكلٍ أفضل. وبما أنَّ لغةَ السي شارب من تطويرِ مايكروسوفت فإنَّ عَدَدَ مُستخدميها كبير، وهنا بَعضُ الشركاتِ الكبيرةِ، Blizzard , Starbucks، التي تَستخدمُ هذِهِ اللغةُ بشكلٍ أساسيٍ في مُعظمِ تطبيقاتها.

4 – اللغةُ الأساسيةُ في مُحركِ الألعاب Unity:

بالإضافةِ إلى أنَّ لغةَ السي شارب، هيَ اللغةُ الأساسيةُ في مُحركِ الألعاب Unity، وهوَ مِنْ أكثرِ مُحركاتِ الألعابِ رَواجاً في الوقتِ الحالي، ويُمكنكَ بواسطتِهِ تَطويرَ ألعابٍ للعديدِ مِنَ المِنَصَّات، وسَيكونُ المُحركَ المُعتمدَ بِشكلٍ أساسيٍ في مِنَصةِ طورني، حَيثُ سَيتمُ البدءُ بسِلسِلةِ دُروسٍ لهُ فورَ انتهاءِ هَذهِ السِلسِلةِ إن شاءَ الله. لذلك، إنْ كُنتَ تَنوي امتهانَ مَجالِ تَطويرِ التطبيقات، أو حتى لم تكن تنوي ذلك، فتعلُمُ تطويرِ التطبيقاتِ يُنمي مَهاراتٍ عَديدةً لديك.

أفضل نسخة :

وهنا نأتي إلى السؤالِ الذي يُطرحُ دائماً لمُعَلِمي لغةِ السي شارب، ألا وهو: مَنْ يُعتبرُ الأفضل؟ لغةُ الـ C أم لغةُ الـ C++ أم لغة الـ C#؟ والحقيقةُ أنَّ الإجابةَ على هذا السؤالِ يَتطلبُ مُحاضرةً كاملةً لوحدها، ولكنْ يُمكننا القَولُ إنَّ لُغَةَ السي والسي ++، تُعتبرُ أسرعُ مِنْ لغَةُ السي شارب لأنَهُمَا أقربُ إلى لُغةِ الألة، لكنَّكَ لنْ تَشعُرَ بِهذا الفَرْق، إلا إذا كانَ تطبيقُكَ يتعاملُ بشكلٍ أساسي، بإظهارِ صُورٍ ثُلاثيةِ الأبْعادِ أو يقومُ بمُعادلاتٍ رياضِيَةٍ مُعقدة، بالمقابلْ فإنَّ لغةَ السي شاربْ تَحتوي على العديدِ مِنَ الميزات، التي لا تتواجدُ في اللغتينِ السابقتين، ناهيكَ عَنْ أنها أقربُ صيغةً للُغَةِ الإنسان، ويمكنُ اختصارُ السابقِ بمُقارنتكَ لسيارةٍ مِنْ طِرازِ (ألف وتسعمئة وثمانون) 1980، بسيارةٍ حديثةٍ من طرازِ (ألفين وسبعة عشر) 2017، هل يُمكنكَ تَخيُلُ الفرقِ الآن؟ ليس بعد؟ حسناً . أُطلبْ مِنْ صَديقٍ لكَ يَعيشُ في دُولِ الخليج، أنْ يَشرحَ فَائدةَ المُبرِّدِ المَوجودِ في إحدى السيارتين .

سي شارب أم جافا :

نأتي الآنَ إلى سؤالٍ يُطرَحُ كثيراً أيضاً، مَنِ الأفَضلُ كلغةِ بَرمجة؟ السي شارب أم الجافا Java؟ الحقيقةُ أنَّ السي شاربْ والجافا أداتانِ تؤديانِ نَفْسَ الوظيفة، ويُمكنُ تَطبيقُ المثالِ السابقِ هُنا أيضاً، فيمكنُ اعتبارُ اللغتينِ كَنوعيْ سيارة، حيثُ أنكَ سَتجدُ مَيزاتٍ هُنا غيرَ متواجدةٍ هُناك، وسَتَجِدُ مَيزاتٍ هُناكْ غَيرَ مُتواجدةٍ هُنا، قُمْ باختيارِ إحداهُما وابدأ بِتعلمه، أما في سلسلتنا هذه، سَنَستَمِرُّ على لغةِ السي شارب إن شاء الله.

تمرين الدرس :

وأخيراً، قم بالإجابةِ عَنِ السؤالِ التالي، وطرحِ الإجابةِ على شبكاتِ التواصلِ الاجتماعي، معْ عَمل Mention لحسابي الشخصي :

ما هُوَ التطبيقُ الذي تَعتقدُ أنَّكَ لو قُمْتَ ببرمجتِهِ سَتصْبِحُ حَياتُكَ أسْهل؟

مصطلحات الدرس :

 Macro : أسطر برمجية متتالية تقوم بعمل وظائف، وهي مستخدمة بكثرة في برامج Microsoft Office
 High Level Language : لغة عالية المستوى أي أنها أقرب للإنسان فهماً وقراءةً
 Intermediate Language : لغة وسيطة بين اللغة العالية المستوى واللغة المتدنية المستوى
 Machine Language : لغة الآلة ( الحاسوب ) وهي لغة بها أوامر بسيطة لكنها معقدة يصعب فهمها بلغة Assembly Language .
Write : دالة تقوم بطباعة جملة على شاشة الـ Console.
Static Type : نظام كتابة يتيح لك إكتشاف الأخطاء الإملائية آنياً.
Unity : محرك ألعاب تستطيع بواسطة تطوير ألعاب ثلاثية البعد وثنائية البعد.

post

#1 المقدمة – البرمجة بواسطة #C

رمز فتح مرحلة هذا الدرس في تطبيق طورني : TKE

تَعلُمُ البرمجةِ للمبتدئينَ كلياً بواسطةِ #C –  المقدمة

 لمْحَةٌ تَعريفيةٌ عَنِ السلسلة :

السلامُ عليكم ورحمةُ اللهِ وبركاته، وأهلاً بكمْ في مقدمةِ سلسلةِ، تَعلُمِ البرمجةِ للمبتدئينَ كلياً بواسطةِ السي شارب، حيثُ سنتعرفُ على مفهومِ البرمجةِ بشكلٍ عام، وعلى أساسياتِ لغةِ السي شارب بشكلٍ خاص، فعِلمُ البرمجةِ أو تطويرُ التطبيقاتِ لا يقتصرُ على حفظِ بضعِ كلمات، بلْ يُطورُ قدرةَ العقلِ على تحليلِ المشاكل، وهذا ما دعا شخصياتٍ بارزةً للحثَّ على تعلمه، بل ذهبَ بعضهم إلى ربطهِ بتحفيزِ الثقةِ والإبداعِ والقوة.

وسلسلةُ الدُروسِ هذهِ، موجهةٌ لمن ليسَ لديهِ أيُّ خِبرةٍ بَرمجيةٍ سابقةٍ، فإنْ كُنتَ جديداً على تطويرِ التطبيقاتِ، أو لا تَمتلكُ مَعلوماتٍ كافيةٍ عن لُغةِ الـ #C، فإنَّ هذهِ السلسلةَ مخصصةٌ لك، لأننا لنْ نتعلمَ كيفيةَ كتابةِ الأسْطُرِ البرمَجيةِ فحسب، بلْ سَنأخذُ الوقتَ الكافيَ لِشرحِ كلِ شيءٍ نقومُ بكتابتهِ معاً، حيثُ سأشرحُ ماذا نكتبُ، وكيفَ نكتبُ، ولماذا قُمنَا بكتابتهِ أصلاً، وسأطرحُ الأسئلةَ التي أتوقعُ أنْ تَخطُرَ ببالِكَ وسأجيبُ عنها.

فبعدَ تأليفي لكتابِ (الكاملِ في السي شارب) في عام 2005، والذي تجاوزَ عددُ تحميلهِ المليونَ مرة، وصلني العديدُ منَ الاقتراحاتِ والمُلاحظاتِ، التي تَهدفُ لتطويرِ المادةِ للأفضل، من حيثِ إستخدامِ التقنياتِ الحديثة، مما دفعني إلى تدشينِ مِنصةِ (طورني)، وتسجيلِ دروسِ هذهِ السلسلة، على شكلِ مقاطعِ فيديو عاليةِ الجودة، والتي ستكونُ أساساً لكل الموادِ التي سأطرحها لاحقاً إن شاء الله، لذلكَ فأنا على يقينٍ تامٍ أنَّكَ ستجدُ أُسلوباً سَلِساً فيها، فقدْ بذلتُ جهداً في تَبسيطِ المعلومَةِ لِيَسهلَ فَهمُها.
وسأضمنُ لكَ أنَّكَ سَتجدُ فيها، الطريقَ المناسبَ لتعلمِ البرمجةِ بشكلٍ عام، وتعلمِ لغةِ الـ #C بشكلٍ خاص.

 البرنامجُ الرئيسيُ للسِلسِلة :

ولكي تكون على استعدادٍ تامٍ لهذهِ السلسلة، يجبُ عليكَ أولاً الحصولَ على البرنامجِ الرئيسي لها، ألا وهو برنامج Visual Studio، المقدمُ من شركة Microsoft. فإن كنتَ قد قمتَ بتنصيبهِ سابقاً، فأنتَ مستعدٌ للخطوةِ التالية، أما إن لم يكن متوفراً عندكَ بعد، فسنقومُ بشرحِ كيفيةِ الحصولِ عليه في درسٍ قادمٍ إن شاءَ الله. وأنوهُ هُنا أنهُ يُمكنُكَ استخدامُ أيَّ نُسخةٍ منْ نسخِ البَرنامجِ، لكنكَ ستجدُ اختلافاتٍ بسيطةٍ بينَ ما تشاهدَهُ على شاشتِك، وبينَ ما سَتشاهدَهُ على شاشتي، لذلكَ لن أتطرقَ لأي إختلافاتٍ قد تمنعُكَ منَ المتابعة، بلْ سأقومُ بالتركيزِ على أساسياتِ لغةِ الـ #C، والتي ستَبقى نفسها لأيِ برنامجٍ تقومُ باستخدامه.

كيفَ تكونُ تلميذاً نجيباً :

وأودُّ التَّنويهَ أيضاً، إلى ضَرورةِ أنْ تكونَ تلميذاً نجيباً، وذلكَ بالحرصِ على النقاطِ التالية:

* أولاً: قُم بكتابةِ الأسطرِ البرمجيةِ في كلِّ مرةٍ أقومُ بذلك،

قمْ بإيقافِ الفيديو وإمنح نفسكَ وقتاً للحاقِ بي، لأنهُ لا توجدُ طريقةٌ أخرى لتعلمِ البرمجة، أفضلُ منَ القيامِ بكتابةِ الأسطرِ البرمجيةِ بنفسك، ويمكن تشبيهُ ذلكَ برغبتكَ تعلمُ العزفِ على الكمانِ دونَ استخدامِ يديكَ وفي ذلك استحالة.

* ثانياً: لا تفقدِ الأملَ إن واجهتكَ أيُّ صعوبةٍ في التَّعلمِ،

قمْ بتكرارِ مُشاهدةِ الدَّرسِ أكثرَ منْ مَرةٍ، لربُّما تصلكَ المعلومَةُ بعدَ المرةِ الثانيةِ أو الثالثةِ، أو قُمْ بإيجادِ مصادرَ أخرى لها، فهُناكَ العديدُ منَ المقالاتِ على موقع msdn.microsoft.com، أو مقاطعُ فيديو على Youtube.com، أو حتى يمكنكَ زيارةُ منتدى 6wrni.com، لطرحِ استفساركَ ليقومَ الأعضاءُ بمساعدتكَ لاحقاً.

*ثالثاً: قم بتحميلِ تطبيقِ طورني منَ المتجر الذي يتطابقُ معَ هاتفك،

سواءً كانَ iOS أو Android، حيثُ ستجدُ أسئلةً مخصصةً لكلِ درس، قُم بالإجابةِ عنها للحصولِ على نقاط، لكي تستخدمَها في مُنافِسَةِ طلابٍ آخرين، بالإضافةِ إلى الحصولِ على شهادةِ إكمالٍ في هذهِ المادة، وللحصولِ على نُقاطٍ إضافية، قم بمشاركةِ جملةٍ تُلخصُ فيها الدرس، وانشرها على شبكةِ فيسبوك وتويتر، مع إرفاقِ هاشتاك #طورني، وعملِ Mention لحسابي الشخصيِّ على فيسبوك أو تويتر ، حيثُ سأقومُ دورياً بإضافةِ نقاطٍ لأفضلِ خمسةِ مشاركات،

بادر فأنت قادر :

الحقيقةُ أني لا أخفيكَ مدى سعادتي لإختياركَ هذهِ السلسلة، فمنَ الجميلِ أنْ ترى كيفَ تتحولُ الفكرةُ في رأسِك، من مجردِ خيالٍ إلى حقيقةٍ تدبُ الحياةُ فيها، وأنا على يقينٍ أنَّكَ ستصلُ إلى تلكَ المرحلةِ، لأنِّي رأيتُ العديدَ من الأشخاص، الذينَ لم يكونوا يعلمونَ شيئاً عنْ البرمجةِ، وبمثابرَتِهمْ أصبحوا مُطورينَ متقدمين، لذلكَ إنْ كُنتَ قدْ حاولتَ مُسبقاً الدخولَ إلى عالَمِ البرمجةِ ولمْ تُفلحْ، فإنِّي أعِدُكَ (إن بذلتَ جُهداً) وقُمتَ بتتبعِ الدُّروسِ إلى النهايةِ، أنكَ سَتصبحُ قادراً على فهمِ لُغةِ الـ C#، وستصبحُ قادراً على الانتقالِ إلى تطبيقاتٍ مُتقدمةٍ، سواءً كانتْ لتطويرِ المواقعِ الإلكترونيةِ، أو لتَطويرِ تطبيقاتِ الهواتفِ الذكيةِ، أو حتَّى لتَطويرِ الألعابِ، الذي دفعَنِي شَخصياً للدُّخولِ إلى عالَمِ البرمَجةِ. أتمنَّى أنْ تكونَ مستعداً،  لأنَّنا سَنقضِي أوقاتاً ممتعةً معاً.