Računalo s jednom pločom Raspberry Pi idealno je za učenje programiranja, ali koji jezik izabrati?
Raspberry Pi linija računala s jednom pločom premošćuje jaz između fizičkog i digitalnog računalstva. Najbolje ga je definirati kao križanac između Arduino mikrokontrolera i osobnog računala, koji nudi mogućnost upravljanja elektroničkim sklopovima i također pokreće cijeli operativni sustav.
Međutim, odabir ispravnog programskog jezika ključan je za ostvarenje punog potencijala Raspberry Pi-ja. Proći ćemo kroz najpopularnije jezike za Raspberry Pi i ispitati jedinstvene prednosti svakog od njih kako bismo vam pomogli da odlučite koji odabrati.
1. Piton
Popularnost Pythona među korisnicima Raspberry Pi proizlazi iz kombinacije jednostavnosti korištenja, čitljivosti i fleksibilnosti jezika. Python dolazi unaprijed instaliran na modelima Raspberry Pi (zajedno s Thonny IDE) i to je jezik koji većina korisnika koristi prema zadanim postavkama kada programira Raspberry Pi.
Izvrstan je za projekte koji uključuju senzore, aktuatore i druge elektroničke komponente budući da nudi bogate biblioteke sučelja. Većina Raspberry Pi HAT-ova i dodatnih ploča koje kupite često će uključivati skripte napisane u Pythonu, kao i većina vodiča.
Također postoje dva popularna račvanja jezika Python za mikrokontrolerske ploče kao što je Raspberry Pi Pico: CircuitPython i MicroPython. CircuitPython je potpunija verzija MicroPythona s više biblioteka i upravljačkih programa. MicroPython je dizajniran da pruži najmanji minimum za pokretanje programa na mikrokontrolerskim pločama; stoga će se njegov kod malo brže kompilirati i koristiti manje memorije od CircuitPythona. Provjeri najbolji jezik za mikrokontrolere.
Ako tek počinjete s Pythonom, možete pronaći mnoge korisne upute i tečajeve za početnike na stranicama kao što su Codecademy i Coursera, kao i u službenoj Python dokumentacija i knjige poput "Automatizirajte dosadne stvari s Pythonom" Al Sweigarta.
2. Ogrepsti
Scratch je vizualni programski jezik koji je razvio MIT za malu djecu koja žele naučiti kodirati. Omogućuje vam pisanje programa i izradu projekata pomoću jednostavnog, intuitivnog sučelja temeljenog na blokovima.
Blokovi koda za povlačenje i ispuštanje ono su što Scratch čini tako posebnim, jer čine programiranje laganim za početnike bez svih problema s konvencionalnim kodiranjem. Ovi blokovi koda mogu se kombinirati za izvođenje radnji s tekstom, slikama, zvukom i fizičkim elektroničkim komponentama.
Stil programiranja koji se temelji na blokovima mogao bi olakšati odbacivanje Scratch-a kao alata isključivo za početnici, ali to je nevjerojatno moćan i fleksibilan jezik koji mogu koristiti programeri svih razine.
Međutim, važno je napomenuti da Scratch ne podržava ni približno onoliko biblioteka koliko Python, a uređivanje teksta je brže od povlačenja i ispuštanja blokova. Čini ga izvrsnim uvodnim jezikom, a vještine naučene programiranjem u Scratchu svakako će dobro doći za druge jezike,
Sam Scratch omogućuje pristup bogatstvu interaktivnih projekata, zajedno s detaljnim uputama, na službenoj stranici Scratch web stranica. Web stranica Raspberry Pi projekata također ima Uvod u Scratch projektni put.
3. Java
Java je objektno orijentirani programski jezik opće namjene koji je dizajniran za rad na bilo kojoj platformi koja ima potrebno okruženje. Njegova iznimna prenosivost omogućuje razvojnim programerima izradu aplikacija na jednoj platformi i njihovu jednostavnu implementaciju na nekoliko sustava. Ako pišete kod na Raspberry Pi za rad na drugim platformama, Java bi trebala biti jedan od vaših najboljih izbora.
Pruža dvije glavne biblioteke za pristup i kontrolu GPIO pinova na Raspberry Pi: biblioteku Pi4J i biblioteku I/O uređaja. Iako nisu tako bogate značajkama kao Pythonove biblioteke, trebale bi raditi dovoljno dobro za većinu projekata.
Kao Python, Scratch i C/C++, Java dolazi predinstalirana s Raspberry Pi OS-om. Možete koristiti BlueJ IDE koji također dolazi s operativnim sustavom ili instalirati Microsoft VS Code za naprednu funkcionalnost. Otkrijte najbolji IDE za Raspberry Pi koje biste trebali provjeriti.
Java kod radi puno brže od Python koda, zbog činjenice da je to kompajlirani jezik dok se Python tumači. Dok Javi nedostaje hardverski pristup niske razine C/C++, mnogo je lakša za korištenje većini ljudi.
Postoji nekoliko izvrsnih knjiga o programiranju u Javi, poput "Head First Java" Kathy Sierra i "On Java 8" Brucea Eckela. The Oracle Java dokumentacija i Java programiranje masivni otvoreni online tečaj od Sveučilište u Helsinkiju također se toplo preporučuju početnicima.
4. C/C++
Među različitim programskim jezicima koje možete koristiti s Raspberry Pi, C i C++ ističu se kao idealni za one koji zahtijevaju neusporedivu izvedbu i savršenu kontrolu nad hardverom. Ovi jezici možda imaju zahtjevniju krivulju učenja od drugih poput Pythona i Scratcha, ali potencijalne su prednosti goleme.
Budući da i C i C++ imaju izravan pristup hardverskim resursima Raspberry Pija, idealne su opcije za aplikacije koje zahtijevaju puno hardverske snage. Kada se CPU i GPU uređaja iskoriste do svog najvećeg kapaciteta, multimedijski podvigi, impresivno igranje i programiranje na razini sustava postaju mogući.
Sam C++ je sličan C-u, ali nije sasvim isti. Najbolje ga je opisati kao proširenu verziju proceduralnog C jezika koji uvodi različite objektno orijentirane koncepti programiranja kao što su polimorfizam, enkapsulacija i nasljeđivanje, te nekoliko drugih značajki navedenih u naše vodič kroz temeljne razlike između C i C++.
Kao što je ranije spomenuto, C i C++ nisu programski jezici koje je najlakše naučiti. Međutim, možete odabrati jedan od njih kao sljedeći logičan korak nakon što postignete razumnu vještinu u Pythonu ili Javi. Otkrijte najbolja mjesta za početak učenja C++.
5. JavaScript
Bez obzira na to što bi vam neki ljudi rekli, JavaScript je kompletan programski jezik. Najčešće se koristi u web razvoju, a može se pronaći u oba front-end i back-end niza web-mjesta i web-aplikacija.
JavaScript i drugi web-skriptni jezici kao što su HTML i CSS posebno će vam dobro doći pri izradi web sučelja za vaše Raspberry Pi IoT projekte i web poslužitelje.
Fizičko računalstvo s JavaScriptom zahtijeva instaliranje Node.js, runtime okruženja za razvoj na strani poslužitelja. Postoji nekoliko biblioteka dostupnih za Node.js koje vam omogućuju manipuliranje GPIO pinovima i drugim sučeljima na Raspberry Pi. Većina njih bit će dovoljna za jednostavne Raspberry Pi projekte. Također, provjerite kako izradite Twitter bot za tweetanje fotografija s Raspberry Pi i Node.js.
Ako imate iskustvo u web razvoju, JavaScript bi mogao biti prirodan izbor za vas. JavaScript kod će se izvoditi u većini preglednika, tako da vam nije potreban IDE za programiranje s njim. Sve što trebate je uređivač teksta i web-preglednik Chromium koji dolazi unaprijed instaliran s Raspberry Pi OS-om.
The Mozilla Developer Network (MDN) ima opsežan priručnik za JavaScript i reference prikladne za početnike i iskusne programere. Interaktivne upute i projekti mogu se pronaći na web stranicama kao što su freeCodeCamp i JavaScript.info.
Koju odabrati?
Vaša trenutna razina iskustva, složenost projekta i količina vremena kojoj ste spremni posvetiti se učenje su sve korisni faktori koje treba uzeti u obzir pri odabiru programskog jezika za korištenje s Raspberryjem Pi.
Ako ste već upoznati s bilo kojim od programskih jezika na popisu, to bi bio najbolji izbor za početak. Zatim se možete razgranati na druge jezike kako vaši projekti to zahtijevaju. Nakon što u potpunosti shvatite osnovne koncepte programiranja, bit će vam lakše shvatiti i pisati programe na različitim jezicima.
Svaki programski jezik ima svoje prednosti
Python je izvrstan izbor i za nove i za iskusne programere zbog svoje pristupačnosti i fleksibilnosti. Za početnike, Scratch je najbolja opcija jer je jednostavan za korištenje i ugodan. Ako trebate brzinu i preciznu kontrolu nad hardverom vašeg računala, C/C++ je najbolji izbor. Java stoji u sredini između Pythona i C/C++ u smislu jednostavnosti korištenja i performansi koje nudi. JavaScript proširuje mogućnosti dinamičkog web razvoja Raspberry Pi. Na vama je da odlučite koji je programski jezik najbolji za vaše Raspberry Pi projekte.