Kapitola 0: Herní plán

Vítejte v mém tutoriálu Smalltalk. Doufám, že v této sérii článků začnete s programováním. Nepředpokládají se žádné předchozí zkušenosti, ale očekává se, že budete mít minimální počítačovou gramotnost, včetně věcí, jako je spuštění operačního systému, správa plochy, správa nastavení systému, instalace aplikací atd.

Programovací návody se obvykle točí kolem vytvoření vzorové aplikace. Může to být jakákoli aplikace, například pro web nebo mobilní zařízení nebo pro videohry. Webové aplikace jsou nejčastější, protože v našem světě je web všudypřítomný. Ale webové aplikace jsou tak nudné!

V tomto tutoriálu zkusíme něco jiného. Zapojíme se do jedné ze současných oblastí informačních technologií (IT), které jsou vzrušující a průlomové. Oblasti, jako je věda o údajích, strojové učení, virtuální / rozšířená realita, robotika a internet věcí. Vybral jsem internet věcí (IoT). (Robotika je příbuzné pole, protože oba zahrnují vestavěný počítačový hardware.)

Barevný počítač Radio Shack TRS-80

Vybral jsem si IoT, protože je to dobrý způsob, jak vás seznámit s počítačovým hardwarem. Mnoho lidí zahájilo programovací cestu před desítkami let, počínaje počítačovými soupravami jako Tandy Radio Shack TRS-80, Apple II / Macintosh, Commodore PET / VIC-20/64, Atari 400/800 / 1040ST, IBM PC atd., Pomocí programování jazyky jako BASIC, Pascal a assembler. Je dobré pokračovat v této tradici pomocí nejnovějších počítačových sestav, jako je Raspberry Pi. Jak postupujete světem IT, zjistíte, že základní znalost počítačového hardwaru je nesmírně užitečná.

Balíček Raspberry Pi 3

Raspberry Pi je velmi levný malý počítač, který je ideální pro aplikace IoT. Můžete si zakoupit balíček Raspberry Pi 3, který zahrnuje desku Raspberry Pi 3 Model B, 32 GB SD kartu s NOOBS (New Out Of Box Software), počítačovou skříňku a napájecí zdroj za pouhých 75 USD. Kromě Pi budete potřebovat také USB klávesnici, USB myš a HDMI monitor (s kabelem HDMI). (Alternativně můžete použít svůj počítač k připojení k Pi, pokud jej máte.)

NOOBS je správce instalace pro Raspbian, operační systém Linux přizpůsobený pro Raspberry Pi. I když aktuálně používáte Windows nebo MacOS, je dobré, aby se programátor seznámil s Linuxem. Linux je operační systém programátora (na nízké úrovni je podobný systému MacOS). Linux pohání většinu světových počítačových serverů. Většina webových serverů běží na vrcholu Linuxu. Linuxové jádro je jádrem spotřební elektroniky (včetně zařízení Android, set-top boxů, chytrých televizorů, PVR, infotainmentů ve vozidlech, síťových zařízení), průmyslové automatizace, lékařských přístrojů, softwaru pro vesmírné lety atd.

Programování je především o řešení technických problémů. A během vývoje softwaru je třeba vyřešit mnoho různých problémů, například:

  • problémy s hardwarem počítače, včetně věcí, jako je aktualizace firmwaru a hardwarové vady
  • problémy s operačním systémem, včetně věcí, jako jsou aktualizace ovladačů a závady softwaru
  • problémy s instalací aplikace
  • analýza a porozumění nezdokumentovaného zdrojového kódu
  • návrh programu a architektura
  • testování a ladění softwaru
  • nasazení a distribuce aplikací
  • údržba kódu
  • aktualizace a konfigurace vývojového nástroje

V tomto tutoriálu se můžeme dotknout několika z těchto problémových oblastí. Raspberry Pi a Linux jsou skvělou kombinací, jak vás vystavit těmto druhům problémů.

Programovací jazyk, který budeme používat, je Smalltalk. Smalltalk je ideální výukový jazyk pro začátečníky. Je to zvláště dobré pro výuku objektově orientovaného programování (OOP), což je zdaleka nejpopulárnější styl programování v IT.

Smalltalk se dá snadno naučit, protože je jedním z nejmenších, nejjednodušších a nejelegantnějších jazyků, jaké kdy byly vytvořeny. Zároveň je neuvěřitelně silný a všestranný. Být dobrým vyučovacím jazykem není v rozporu s praktickým průmyslovým jazykem.

Existuje několik různých příchutí Smalltalk, ale ta, se kterou budeme pracovat, se nazývá Pharo. Squeak je také oblíbenou volbou, ale Pharo je aktivněji vyvíjeno a komerčně využíváno.

V celém tutoriálu poskytuji odkazy na URL, které byste měli prozkoumat, abyste pochopili věci jako Internet of Things, základní příkazy Linuxu, architektura procesorů ARM atd.

Pojďme tedy začít!