Глава 0: План за игри

Добре дошли в моя урок Smalltalk. В тази поредица от статии се надявам да започнете да пътувате по програмиране. Не се предполага предишен опит, но се очаква да имате минимална компютърна грамотност, включително неща като зареждане на операционна система, управление на работния плот, управление на системните настройки, инсталиране на приложения и т.н.

Ръководствата за програмиране обикновено се въртят около създаването на примерно приложение. Това може да бъде всякакъв вид приложение, да речем, за уебсайт или за мобилно устройство или за видео игри. Уеб приложенията са най-често срещани, защото в нашия свят мрежата е всеобхватна. Но уеб приложенията са толкова скучни!

В този урок ще опитаме нещо различно. Ще се ангажираме в една от актуалните области на информационните технологии (ИТ), които са вълнуващи и новаторски. Области като наука за данни, машинно обучение, виртуална / разширена реалност, роботика и Интернет на нещата. Избрах Интернет на нещата (IoT). (Роботика е свързано поле, тъй като и двете включват вграден компютърен хардуер.)

Радио Шак TRS-80 Цветен компютър

Избрах IoT, защото това е добър начин да ви запозная с компютърен хардуер. Много хора започнаха своето програмно пътуване преди десетилетия, като започнаха с компютърни комплекти като Tandy Radio Shack TRS-80, Apple II / Macintosh, Commodore PET / VIC-20/64, Atari 400/800 / 1040ST, IBM PC и др., Използвайки програмиране езици като BASIC, Pascal и асемблер. Добре е да продължите тази традиция с най-новите компютърни комплекти като Raspberry Pi. Докато преминавате през света на информационните технологии, ще установите, че да имате фундаментално разбиране за компютърен хардуер е изключително полезно.

Raspberry Pi 3 пакет

Raspberry Pi е много евтин малък компютър, който е идеален за IoT приложения. Можете да закупите пакет Raspberry Pi 3, който включва платка Raspberry Pi 3 Model B, 32 GB SD карта с NOOBS (нов софтуер извън кутията), корпус за компютър и захранване само за 75 долара. Освен Pi, ще ви трябват и USB клавиатура, USB мишка и HDMI монитор (с HDMI кабел). (Друга възможност е да използвате компютъра си, за да се свържете с Pi, ако имате такъв.)

NOOBS е инсталационният мениджър за Raspbian, Linux операционната система, персонализирана за Raspberry Pi. Дори ако в момента използвате Windows или macOS, е добре програмист да се запознае с Linux. Linux е операционна система на програмист (на ниско ниво, тя е подобна на macOS). Linux захранва повечето компютърни сървъри в света. Повечето уеб сървъри работят на Linux. Ядрото на Linux е в основата на потребителската електроника (включително устройства с Android (приспособления за Android, приемници, интелигентни телевизори, PVR, инфотейнмънт в автомобила, мрежово оборудване), индустриална автоматизация, медицински инструменти, софтуер за космически полети и др.

Програмирането се отнася до техническото решаване на проблеми. И има много, много различни видове проблеми, които трябва да се решат в хода на разработката на софтуер, например:

  • проблеми с компютърния хардуер, включително неща като актуализация на фърмуера и хардуерни дефекти
  • проблеми с операционната система, включително неща като актуализации на драйвери и дефекти в софтуера
  • проблеми с инсталацията на приложението
  • анализ и разбиране на недокументиран изходен код
  • дизайн и архитектура на програмата
  • тестване на софтуер и отстраняване на грешки
  • внедряване и разпространение на приложения
  • поддръжка на код
  • актуализация и конфигурация на инструмента за разработка

В този урок може да се докоснем до няколко от тези проблемни области. Raspberry Pi и Linux са фантастична комбинация за излагане на тези видове проблеми.

Езикът за програмиране, който ще използваме, е Smalltalk. Smalltalk е идеалният език за преподаване за начинаещи. Той е особено добър за преподаване на обектно-ориентирано програмиране (OOP), което е най-популярният стил на програмиране в ИТ.

Smalltalk е изключително лесен за научаване, като е един от най-малките, най-простите и елегантни езици, създавани някога. В същото време е невероятно мощен и универсален. Това, че сте добър преподавателски език, не противоречи на това да бъдете практичен, индустриален език.

Има няколко различни вкуса на Smalltalk, но този, с който ще работим, се нарича Pharo. Squeak също е популярен избор, но Pharo е по-активно разработен и използван с търговска цел.

По време на урока ще ви предоставя URL връзки, които трябва да проучите, за да придобиете разбиране за неща като Internet of Things, основни Linux команди, ARM процесорна архитектура и т.н.

Така че, да започнем!