[التدوينة قابلة للتحديث]

في الحقيقة، من المفترض أن يكون العنوان أطول من هذا بكثير. فالعنوان الحقيقي هو:

رحلتي في البحث عن بيئة برمجية مناسبة، ولغة برمجة مناسبة، ونظام تشغيل مناسب، ومترجم (complier) مناسب، ومصحح (debugger) مناسب، ونوع خط مناسب، ولون خلفية مناسبة، وكتاب مناسب، وموقع تعليمي مناسب، و(playlist) على اليوتيوب مناسبة!

نعم.. إن الصراع حقيقي!! (The struggle is real)

أود التنبيه على أني بـ"مناسب" أعني أنه "مناسب لي أنا" وليس أفضل ما على الكرة الأرضية الافتراضية. 

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

من المهم أولا وضع أهداف للتعلم وتحديد المعطيات. مثلا، في حالتي الشخصية، هدفي هو تعلم لغة برمجة تدعم مفهوم البرمجة بالكائنات (Object-Oriented Programming)، وأحد معطياتي هو أني أملك جهاز (MacBook Pro) مما يعني أني سأحتاج إلى ما يدعم نظام الـ(Mac OS X).

بالنسبة للغة البرمجة اخترت (++C) لثلاثة أسباب:
١. اللغة المستخدمة بشكل أساسي في الجامعة (University of California - Davis). 
٢. اللغة المستخدمة في محرك الألعاب (Unreal Engine) وهو ما أنوي تعلمه بإذن الله. 
٣. استمتعت بها حين قرأت عنها :)

في البداية كنت استخدم Xcode.
- ما يميزه هو أنه بيئة برمجية (IDE) كاملة متكاملة والكمال لله وحده. ويوجد العديد من المصادر التعليمية على الانترنت.
- ما يعيبيه -بالنسبي لي- هو أنه ثقيل إلى حد ما، ويحتوي على العديد والعديد والعديد والعديد من الخيارات (لا أحب التعقيد). 
- ما يميزه ويعيبه في نفس الوقت هو أنه يحتوي على كل شيء! تستطيع كتابة شيفرتك البرمجة وترجمتها وتشغيلها وتصحيحها في نافذة واحدة، وهو أمر جميل وعملي ولكني كنت أريد تعلم استخدام الـ(Command Lines).

فتحولت رحلتي الآن من البحث عن بيئة برمجية إلى محرر نصوص، ومصحح شيفرات. 

بالنسبة للـ(Command Lines):
حتى أفهم "الهرجة"، أكثر ما ساعدني على البداية هي الدروس التفاعلية على (CodeAcademy).
 

بالنسبة لمحررات النصوص (Text Editors):
وجدت هذين المقطعين المفيدين جدًا. شرح مبسط وواضح حول ما يمكن برمجة الـ(++C) به على الـ(Mac).
١. https://www.youtube.com/watch?v=CxlhvHYE0KI
٢. https://www.youtube.com/watch?v=frXCEA-NUD8 
وجدت أيضا Sublime Text 2 (غير مجاني). وقع اختياري عليه وعلى emacs حاليا وجاري تعلمهم. 

بالنسبة لتعلم الـ(++C) بشكل عام:
١. كتاب (C++ Without Fear) ساعدني على فهم "طبخة" الـ(++C) والبدء فيه. الكتاب بسيط جدًا ويتطرق للمواضيع الأساسية فقط.
٢. كتاب (Beginning C++ Through Game Programming) كان نعم الكتاب! بحكم اهتمامي الشديد بالألعاب، كانت قراءته ممتعة جدًا جدًا جدًا.  يتطرق أيضا للمواضيع الأساسية فقط. من المهم التنويه أن الكتاب هدفه تعليم البرمجة بشكل عام وليس برمجة الألعاب. الألعاب فقط مستخدمة لشرح المفاهيم البرمجية. 
٣. هذه الـ(playlist) كانت الأنسب لي. ولكن يوجد العديد من الـ(playlists) المفيدة على اليوتيوب. 

وما زالت الرحلة قائمة في البحث عن (Debugger) مناسب على الـ(Mac). اللهم إنا نعوذ بك من وعثاء السفر :( 


بعض الصفحات المفيدة:
١. Mac: Alternatives to notepad++ on Mac OS X 
٢. Working with OS X and Emacs by Ryan McGeary
٣.
٤.
٥.
٦. 

آخر تحديث (جان ٣١، ٢٠١٦).