En Raspberry Pi singleboard-computer er ideel til at lære at programmere på, men hvilket sprog skal du vælge?
Raspberry Pi-serien af singleboard-computere bygger bro mellem fysisk og digital databehandling. Det er bedst defineret som en krydsning mellem en Arduino mikrocontroller og en personlig computer, der giver mulighed for at styre elektroniske kredsløb og også køre et komplet operativsystem.
Men at vælge det korrekte programmeringssprog er afgørende for at realisere en Raspberry Pi's fulde potentiale. Vi gennemgår de mest populære sprog til Raspberry Pi og undersøger de unikke fordele ved hvert sprog for at hjælpe dig med at beslutte, hvilket du skal vælge.
1. Python
Pythons popularitet blandt Raspberry Pi-brugere stammer fra sprogets kombination af brugervenlighed, læsbarhed og fleksibilitet. Python kommer forudinstalleret på Raspberry Pi-modeller (sammen med Thonny IDE) og er det sprog, de fleste brugere som standard bruger, når de programmerer en Raspberry Pi.
Det er fantastisk til projekter, der involverer sensorer, aktuatorer og andre elektroniske komponenter, da det tilbyder rige grænsefladebiblioteker. De fleste Raspberry Pi HAT'er og tilføjelsestavler, du køber, vil ofte indeholde scripts skrevet i Python, ligesom de fleste tutorials vil.
Der er også to populære gafler i Python-sproget til mikrocontroller-kort såsom Raspberry Pi Pico: CircuitPython og MicroPython. CircuitPython er en mere fuldt udstyret version af MicroPython med flere biblioteker og drivere. MicroPython blev designet til at give det mindste minimum til at køre programmer på mikrocontrollerkort; dermed vil dens kode kompilere lidt hurtigere og bruge mindre hukommelse end CircuitPython. Tjek ud det bedste sprog til mikrocontrollere.
Hvis du lige er startet med Python, kan du finde mange nyttige tutorials og kurser for nybegyndere på sider som f.eks. Kodeakademi og Coursera, samt i det officielle Python dokumentation og bøger som "Automatiser de kedelige ting med Python" af Al Sweigart.
2. Kradse
Scratch er et visuelt programmeringssprog udviklet af MIT til små børn, der ønsker at lære at kode. Det giver dig mulighed for at skrive programmer og oprette projekter ved hjælp af en enkel, intuitiv blokbaseret grænseflade.
Træk-og-slip kodeblokkene er det, der gør Scratch så speciel, da de gør programmering til en leg for begyndere uden alt besværet med konventionel kodning. Disse kodeblokke kan kombineres til at udføre handlinger med tekst, billeder, lyd og fysiske elektroniske komponenter.
Den blokbaserede programmeringsstil kan gøre det nemt at afvise Scratch som et værktøj udelukkende til begyndere, men det er et utroligt kraftfuldt og fleksibelt sprog, der kan bruges af alle programmører niveauer.
Det er dog vigtigt at bemærke, at Scratch ikke understøtter nær så mange biblioteker som Python gør, og at redigere tekst er hurtigere end at trække og slippe blokke. Det giver et fantastisk introduktionssprog, og de færdigheder, man har lært fra programmering af Scratch, vil helt sikkert komme til nytte for andre sprog,
Scratch i sig selv giver adgang til et væld af interaktive projekter, komplet med detaljerede instruktioner, på embedsmanden Scratch hjemmeside. Raspberry Pi-projektets hjemmeside har også en Introduktion til Scratch projektvej.
3. Java
Java er et objektorienteret programmeringssprog til generelle formål, der er designet til at køre på enhver platform, der har det nødvendige miljø. Dens enestående portabilitet giver udviklere mulighed for at bygge apps på en enkelt platform og implementere dem med lethed til flere systemer. Hvis du skriver kode på en Raspberry Pi til at køre på andre platforme, bør Java være et af dine bedste valg.
Det giver to hovedbiblioteker til at få adgang til og kontrollere GPIO-benene på Raspberry Pi: Pi4J-biblioteket og Device I/O-biblioteket. Selvom de ikke er lige så funktionelle som Pythons biblioteker, burde de fungere godt nok til de fleste projekter.
Ligesom Python, Scratch og C/C++ leveres Java forudinstalleret med Raspberry Pi OS. Du kan enten bruge BlueJ IDE, der også følger med operativsystemet eller installere Microsoft VS Code for avanceret funktionalitet. Oplev bedste IDE'er til Raspberry Pi som du bør tjekke ud.
Java-kode kører meget hurtigere end Python-kode, på grund af det faktum, at det er et kompileret sprog, mens Python tolkes. Selvom Java mangler hardwareadgang på lavt niveau i C/C++, er det meget nemmere at bruge for de fleste.
Der er flere fremragende bøger om Java-programmering, såsom "Head First Java" af Kathy Sierra og "On Java 8" af Bruce Eckel. Det Oracle Java-dokumentation og Java Programmering massivt åbent online kursus fra Helsinki Universitet kan også varmt anbefales til begyndere.
4. C/C++
Blandt de forskellige programmeringssprog, du kan bruge med en Raspberry Pi, skiller C og C++ sig ud som de ideelle for dem, der kræver uovertruffen ydeevne og perfekt kontrol over hardware. Disse sprog kan have en mere udfordrende indlæringskurve end andre som Python og Scratch, men de potentielle fordele er enorme.
Da både C og C++ har direkte adgang til Raspberry Pis hardwareressourcer, er de de ideelle muligheder for applikationer, der kræver meget hardwarekraft. Når enhedens CPU og GPU er brugt til deres fulde kapacitet, bliver multimediebedrifter, fordybende spil og programmeringsevner på systemniveau mulige.
C++ i sig selv ligner C, men ikke helt det samme. Det beskrives bedst som en udvidet version af det proceduremæssige C-sprog, der introducerer forskellige objektorienterede programmeringskoncepter såsom polymorfi, indkapsling og arv og flere andre funktioner, der er beskrevet i vores guide til kerneforskellene mellem C og C++.
Som tidligere nævnt er C og C++ ikke de nemmeste programmeringssprog at lære. Du kan dog vælge en af dem som det næste logiske trin, når du har opnået rimelige færdigheder i Python eller Java. Oplev bedste websteder til at komme i gang med at lære C++.
5. JavaScript
Uanset hvad nogle mennesker måtte fortælle dig, er JavaScript et komplet programmeringssprog. Mest almindeligt brugt i webudvikling, kan det findes i både front-end og back-end af en række hjemmesider og webapps.
JavaScript og andre web-scriptsprog såsom HTML og CSS vil især være nyttige, når du bygger en webgrænseflade til dine Raspberry Pi IoT-projekter og webservere.
Fysisk computing med JavaScript kræver installation af Node.js, runtime-miljøet til udvikling på serversiden. Der er flere tilgængelige biblioteker for Node.js, som giver dig mulighed for at manipulere GPIO-stifterne og andre grænseflader på Raspberry Pi. De fleste af dem vil være tilstrækkelige til simple Raspberry Pi-projekter. Tjek også hvordan byg en Twitter-bot med foto-tweeting med Raspberry Pi og Node.js.
Hvis du har en webudviklingsbaggrund, kan JavaScript være det naturlige valg for dig. JavaScript-kode vil køre i de fleste browsere, så du behøver ikke en IDE til at programmere med den. Alt du behøver er en teksteditor og Chromium-webbrowseren, der er forudinstalleret med Raspberry Pi OS.
Det Mozilla Developer Network (MDN) har en omfattende JavaScript-håndbog og referencer, der egner sig til nytilkomne og erfarne programmører. Interaktive tutorials og projekter kan findes på hjemmesider som f.eks freeCodeCamp og JavaScript.info.
Hvilken skal du vælge?
Dit nuværende erfaringsniveau, projektets kompleksitet og mængden af tid, du er villig til at forpligte dig til læring er alle nyttige faktorer at overveje, når du vælger et programmeringssprog til brug med Raspberry Pi.
Hvis du allerede er bekendt med et af programmeringssprogene på listen, ville det være det bedste valg til at starte med. Du kan derefter forgrene dig til andre sprog, efterhånden som dine projekter kræver det. Når du først har en fuld forståelse af grundlæggende programmeringskoncepter, vil du have lettere ved at samle op og skrive programmer på forskellige sprog.
Hvert programmeringssprog har sine fordele
Python er et godt valg for både nye og erfarne programmører på grund af dens tilgængelighed og fleksibilitet. For begyndere er Scratch den bedste mulighed, fordi den er både nem at bruge og underholdende. Hvis du har brug for hastighed og præcis kontrol over din computers hardware, er C/C++ det bedste valg. Java står i midten mellem Python og C/C++ med hensyn til brugervenligheden og den ydeevne, den tilbyder. JavaScript udvider de dynamiske webudviklingsmuligheder i Raspberry Pi. Det er op til dig at beslutte, hvilket programmeringssprog der er bedst til dine Raspberry Pi-projekter.