المتابعون للمدونة

الثلاثاء، 20 سبتمبر 2016

من الصفر إلى الاحتراف: سي شارب 2015



لمشاهدة جميع كتبي وإصداراتي وأماكن بيعها، اضغط هنا
للراغبين في شحن كتبي إليهم، التفاصيل هنا 
 

- اسم الكتاب: من الصفر إلى الاحتراف: سـي شـارب 2015
- اسم المؤلف: م. محمد حمدي غانم
- رقم الإيداع بدار الكتب: 8878/2016
- الترقيم الدولي: 2-68-5310-977-978
- عدد الصفحات: 500
- الثمن: 80 جنيها 

لمشاهدة جميع كتبي وإصداراتي وأماكن بيعها، اضغط هنا
للراغبين في شحن كتبي إليهم، التفاصيل هنا  

مقدمة الكتاب 

بسم الله الرحمن الرحيم:
في نهاية شهر يوليو 2015، أطلقت شركة ميكروسوفت الإصدار السادس من لغة البرمجة الصاعدة سي شارب C Sharp ضمن بيئة Visual Studio.NET 2015، لتتوج بذلك 13 سنة من تاريخ سي شارب على منظومة دوت نت، حققت فيها سي شارب شهرة واسعة ونجاحا كبيرا، استنادا إلى عراقة أصلها، بانتمائها إلى عائلة لغات C، إضافة إلى تميزها بالسهولة الفائقة مقارنة بلغات أخرى مثل ++VC، فلغة سي شارب تجمع أفضل ما امتازت به C++ و Java و VB.NET، مع ثروةٍ من الأدوات والدوال الجاهزة التي توفرها فئات إطار العمل Framework Classes في بيئة دوت نت .NET، والتي تريحك من عناء البدء من الصفر، والتي تعلو بك كذلك عن تركيب الجهاز بل ونظام التشغيل Operating System، بحيث يستطيع برنامجك أن يعمل على أي نظامٍ، دونَ أن تخشى من مشاكل عدم التوافق Incompatibility بينهما.

فمرحبا بك في عالم البرمجة.. ومرحبا بك في سي شارب.. ومرحبا بك في دوت نت 2015. 

منهج الكتاب:
ها الكتاب مصمم لتعليمك أساسيات البرمجة، في الوقت الذي يعلمك فيه لغة سي شارب.. يجب أن نتفق إذن على أن أمامنا ثلاث مهام كبيرة:

1-   تعلم البرمجة.

2-   تعلم لغة سي شارب.

3-   أخذ خلفية عن بيئة دوت نت.

أعلم أن هذا التقسيم قد يدهشك، فمن وجهك نظرك أن تعلم (البرمجة بسي شارب دوت نت) يعني إمكانية تعلم كل تلك المراحل الثلاث معا.

هنا يجب أن أخبرك بحقيقة هامة:

البرمجة علم واسع، ولا يمكن تبسيطها إلى مجرد استخدام لغة برمجة أيا كانت.. فلنقل مثلا إننا نريد تعلم اللغة العربية.. يمكنك أن تتعلم بعض الكلمات والإملاء والنحو والصرف لتقرأ وتكتب اللغة العربية، لكن هذا لا يجعلك متخصصا في أي علم مكتوب باللغة العربية، كالتاريخ والجغرافيا والأحياء والفيزياء.. إلخ.. لهذا فإن مجرد تعليمك كيف تستخدم لغة سي شارب لتـُعرّف متغيرا Declare a variable أو تكتب حلقة تكرار Loop statement أو تنشئ ملفا Create a file، لا يعني أنك صرت مبرمجا.. يعني فقط أنك (تتحدث بلغة السي)، لكنك لا زلت مجرد تلميذ في مدرسة البرمجة.

لهذا يبدأ هذا الكتاب من الصفر، ليبحر بقارئه في الفصل الأول في رحلة سريعة في تاريخ لغة سي شارب.

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

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

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

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

بعد هذا يقدّم الكتاب قارئه إلى عالم البرمجة الموجهة بالكائنات
Object Oriented Programming (OOP).. وحتى لا تكون المفاهيم التي يشرحها الكتاب نظرية، قرّرت في هذا الكتاب تجاهل إطار عمل دوت نت .NET Framework الذي يقدم آلاف الكائنات الجاهزة التي تفعل كل شيء لمستخدمها تقريبا دون عناء منه.. قررت تجاهل ذلك، تماما كما يقرر المدرس تعليم التلميذ جدول الضرب وتجاهل الآلة الحاسبة!.. لكننا في هذا الكتاب لن نكتفي بتعلم جدول الضرب، بل سننشئ الآلة الحاسبة بأنفسنا أيضا!.. أجل: كتدريب على كل مفهوم نتعلمه في البرمجة الموجهة بالكائنات OOP والوراثة Inheritance واستخدام الواجهات Interfaces سنتعلم كيف ننشئ كائنات خاصة بنا تحاكي كائنات إطار العمل التي تتعامل مع تراكيب البيانات Data Structures وغيرها.. هذا سيجعل استخدامك لإطار العمل بعد ذلك مجرد "لعب عيال" لو جاز لي استخدام هذا التعبير، لأنك قد أنشأت جزءا منه بنفسك وتفهم سر الصنعة.. تعرف طبعا أن استخدام الشيء أسهل من صناعته.. وستجد إشارة في كل موضع في الكتاب إلى فئة إطار العمل التي تؤدي الوظيفة جاهزة، مع إشارة إلى الفصل الذي يحتوي على شرحها في كتابنا المستقل "من الصفر إلى الاحتراف: برمجة إطار العمل في سي شارب" الذي يعد ملحقا لهذا الكتاب.

 

في الحقيقة هذا الكتاب جمع بين دفتيه عدة كتب معا في إيجاز وافٍ:

1- مقدمة في تاريخ الحاسب والبرمجة والجبر الثنائي Boolean Algebra.

2- أساسيات سي شارب، بما في ذلك أحدث التطويرات في إصدار 2015.

3- البرمجة الموجهة بالكائنات OOP بلغة سي شارب.

4- تراكيب البيانات Data Structures بلغة سي شارب، حيث سنتعلم كيف ننشئ قائمة مترابطة Linked List ونستخدمها لإنشاء فئات الرصة Stack والطابور Queue والشجرة Tree، لنستخدم هذه الفئات في إنشاء محلل نصي Parser لحل أية عملية حسابية يكتبها المستخدم، أو التعويض عن متغير في أية معادلة يكتبها المستخدم.

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

 

لا غروَ إن قلنا إن هذا الكتاب غير مسبوق في منهجه، وهو يقدم لك ثروة هائلة من الأفكار بدون أية ثرثرة.

وتطّلب تحقيق كل الأهداف السابقة إهمال أي نوع خاص من أنواع البرمجة يحتاج إلى استخدام إطار العمل.. لهذا لم يتعمق الكتاب في برمجة نماذج الويندوز
Windows Forms أو قواعد البيانات Databases أو الشبكات Networks أو صفحات المواقع Web Pages أو غير ذلك، فكل مجال من هذه يحتاج إلى كتاب مستقل بذاته يعطيه حقه.. ويمكنك التعرف على هذه المجالات بتعمق وشمول مع أمثلة عملية وافية وشيقة في كتبنا الأخرى، مثل:

-      من الصفر إلى الاحتراف: برمجة إطار العمل في سي شارب.

-      من الصفر إلى الاحتراف: برمجة نماذج الويندوز في سي شارب.

-      من الصفر إلى الاحتراف: برمجة قواعد البيانات في سي شارب.

-      أساسيات لWPF مبرمجي سي شارب

لاحظ أيضا أن هذا الكتاب موجه لتأسيس مبرمج محترف، يفهم الخوارزميات وطرق التفكير البرمجية، وليس مجرد مبرمج يجيد استخدام أدوات لغة البرمجة.. لهذا ربما يكون مفيدا للمبتدئ المتعجل، أن يقرأ كتابنا "المدخل العملي السريع إلى سي شارب" فهو يشرح لغة سي شارب من خلال مشروعين عمليين كاملين مشروحين خطوة بخطوة، أحدهما يتعامل مع قواعد بيانات SQL Server باستخدام تقنية LinQ To SQL.. لكن في كل الأحوال، لا بد أن يعود إلى هنا، لأنه لن يكون مبرمجا دون أن يفهم البرمجة بهذا العمق.. فالبرمجة مشاكل وحلول، قبل أن تكون تعريفا لفئات واستدعاء لوسائل.. فبدون الفكر لن تعرف فيم تستخدم الأداة!

 

خذ نفسا عميقا وسمِّ الله، وتعال نبدأ معا رحلتنا الممتعة على طريق البرمجة.

 

لقراءة فهرس الكتاب اضغط هنا.

لمشاهدة جميع كتبي وإصداراتي وأماكن بيعها، اضغط هنا

للراغبين في شحن كتبي إليهم، التفاصيل هنا

 

هناك تعليق واحد:

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر