الفصل 0: خطة اللعبة

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

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

في هذا البرنامج التعليمي ، سنجرب شيئًا مختلفًا. سنشارك في واحدة من المجالات الحالية لتكنولوجيا المعلومات (IT) التي هي مثيرة ورائدة. مجالات مثل علوم البيانات ، والتعلم الآلي ، والواقع الافتراضي / المعزز ، والروبوتات وإنترنت الأشياء. لقد اخترت إنترنت الأشياء (IoT). (Robotics هو حقل ذو صلة حيث أن كلاهما يتضمن أجهزة كمبيوتر مدمجة.)

راديو شاك TRS-80 لون الكمبيوتر

لقد اخترت إنترنت الأشياء لأنها طريقة جيدة لتعريفك بأجهزة الكمبيوتر. بدأ العديد من الأشخاص رحلة البرمجة الخاصة بهم منذ عقود بدءًا من مجموعات أجهزة الكمبيوتر مثل Tandy Radio Shack TRS-80 و Apple II / Macintosh و Commodore PET / VIC-20/64 و Atari 400/800 / 1040ST و IBM PC وغيرها ، باستخدام البرمجة لغات مثل BASIC و Pascal و المجمّع. من الجيد الاستمرار في هذا التقليد مع أحدث مجموعات الكمبيوتر مثل Raspberry Pi. مع تقدمك في عالم تكنولوجيا المعلومات ، ستجد أن وجود فهم أساسي لأجهزة الكمبيوتر مفيد للغاية.

حزمة التوت بي 3

Raspberry Pi هو كمبيوتر صغير غير مكلف للغاية ومثالي لتطبيقات إنترنت الأشياء. يمكنك شراء Raspberry Pi 3 Bundle ، التي تتضمن لوحة Raspberry Pi 3 Model B ، وبطاقة SD سعة 32 جيجابايت مع NOOBS (برنامج جديد خارج الصندوق) ، وحالة الكمبيوتر ، ومصدر الطاقة مقابل 75 دولارًا فقط. بالإضافة إلى Pi ، ستحتاج أيضًا إلى لوحة مفاتيح USB وماوس USB وشاشة HDMI (مع كابل HDMI). (بدلاً من ذلك ، يمكنك استخدام الكمبيوتر الخاص بك للاتصال بـ Pi إذا كان لديك واحدة.)

NOOBS هو مدير التثبيت لـ Raspbian ، نظام التشغيل Linux المخصص لـ Raspberry Pi. حتى لو كنت تستخدم Windows أو macOS حاليًا ، من الجيد أن يكون المبرمج على دراية بنظام Linux. Linux هو نظام تشغيل مبرمج (على مستوى منخفض ، يشبه نظام التشغيل MacOS). يعمل نظام Linux على تشغيل معظم خوادم الكمبيوتر في العالم. تعمل معظم خوادم الويب على نظام Linux. تقع Linux kernel في قلب الأجهزة الإلكترونية الاستهلاكية (بما في ذلك أجهزة Android وصناديق الاستقبال وأجهزة التلفاز الذكية وأجهزة تسجيل الفيديو الرقمية والإعلام الترفيهي في السيارة ومعدات الشبكات) والأتمتة الصناعية والأجهزة الطبية وبرامج رحلات الفضاء وما إلى ذلك.

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

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

في هذا البرنامج التعليمي ، قد نتطرق إلى بعض مجالات المشاكل هذه. يعتبر Raspberry Pi و Linux مزيجًا رائعًا لتعريفك بهذه الأنواع من المشاكل.

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

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

هناك العديد من النكهات المختلفة لـ Smalltalk ، لكن النكهة التي سنعمل معها تسمى Pharo. صرير هو أيضا خيار شعبي ولكن Pharo هو أكثر بنشاط تطوير واستخدامها تجاريا.

خلال البرنامج التعليمي ، سأوفر روابط URL التي يجب عليك استكشافها من أجل فهم أشياء مثل Internet of Things ، وأوامر Linux الأساسية ، وهندسة معالج ARM ، إلخ.

لذلك دعونا نبدأ!