En Raspberry Pi enkortsdator är idealisk för att lära sig programmera på, men vilket språk ska du välja?
Raspberry Pi-serien med enkortsdatorer överbryggar klyftan mellan fysisk och digital datoranvändning. Det definieras bäst som en korsning mellan en Arduino-mikrokontroller och en persondator, som erbjuder möjligheten att styra elektroniska kretsar och även köra ett komplett operativsystem.
Men att välja rätt programmeringsspråk är viktigt för att förverkliga en Raspberry Pis fulla potential. Vi går igenom de mest populära språken för Raspberry Pi och undersöker de unika fördelarna med var och en för att hjälpa dig att bestämma vilket du ska välja.
1. Pytonorm
Pythons popularitet bland Raspberry Pi-användare härrör från språkets kombination av användarvänlighet, läsbarhet och flexibilitet. Python kommer förinstallerat på Raspberry Pi-modeller (tillsammans med Thonny IDE) och är det språk som de flesta användare som standard använder när de programmerar en Raspberry Pi.
Det är bra för projekt som involverar sensorer, ställdon och andra elektroniska komponenter eftersom det erbjuder rika gränssnittsbibliotek. De flesta Raspberry Pi-hattar och tilläggskort du köper kommer ofta att innehålla skript skrivna i Python, liksom de flesta tutorials.
Det finns också två populära gafflar av Python-språket för mikrokontrollerkort som Raspberry Pi Pico: CircuitPython och MicroPython. CircuitPython är en mer fullfjädrad version av MicroPython med fler bibliotek och drivrutiner. MicroPython designades för att ge det minsta möjliga för att köra program på mikrokontrollerkort; sålunda kommer dess kod att kompilera något snabbare och använda mindre minne än CircuitPython. Kolla upp det bästa språket för mikrokontroller.
Om du precis har börjat med Python kan du hitta många användbara handledningar och kurser för nykomlingar på sajter som Codecademy och Coursera, såväl som i den officiella Python dokumentation och böcker som "Automate the Boring Stuff with Python" av Al Sweigart.
2. Repa
Scratch är ett visuellt programmeringsspråk utvecklat av MIT för små barn som vill lära sig koda. Det låter dig skriva program och skapa projekt med ett enkelt, intuitivt blockbaserat gränssnitt.
Dra-och-släpp-kodblocken är det som gör Scratch så speciellt, eftersom de gör programmering till en lek för nybörjare utan allt krångel med konventionell kodning. Dessa kodblock kan kombineras för att utföra åtgärder med text, bilder, ljud och fysiska elektroniska komponenter.
Den blockbaserade programmeringsstilen kan göra det lätt att avfärda Scratch som ett verktyg enbart för nybörjare, men det är ett otroligt kraftfullt och flexibelt språk som kan användas av alla programmerare nivåer.
Det är dock viktigt att notera att Scratch inte stöder nästan lika många bibliotek som Python gör, och att redigera text är snabbare än att dra och släppa block. Det ger ett bra introduktionsspråk och de färdigheter som lärts från programmering Scratch kommer definitivt att komma väl till pass för andra språk,
Scratch i sig ger tillgång till en mängd interaktiva projekt, komplett med detaljerade instruktioner, på tjänstemannen Scratch hemsida. Raspberry Pi-projektens webbplats har också en Introduktion till Scratch projektväg.
3. Java
Java är ett objektorienterat, allmänt programmeringsspråk som är designat för att köras på alla plattformar som har den nödvändiga miljön. Dess exceptionella portabilitet tillåter utvecklare att bygga appar på en enda plattform och enkelt distribuera dem till flera system. Om du skriver kod på en Raspberry Pi för att köras på andra plattformar bör Java vara ett av dina bästa val.
Det tillhandahåller två huvudbibliotek för åtkomst och kontroll av GPIO-stiften på Raspberry Pi: Pi4J-biblioteket och Device I/O-biblioteket. Även om de inte är lika funktionsrika som Pythons bibliotek, borde de fungera tillräckligt bra för de flesta projekt.
Precis som Python, Scratch och C/C++ kommer Java förinstallerat med Raspberry Pi OS. Du kan antingen använda BlueJ IDE som också följer med operativsystemet eller installera Microsoft VS Code för avancerad funktionalitet. Upptäck bästa IDE för Raspberry Pi som du borde kolla in.
Java-kod körs mycket snabbare än Python-kod, på grund av att det är ett kompilerat språk medan Python tolkas. Även om Java saknar hårdvaruåtkomst på låg nivå för C/C++, är det mycket lättare att använda för de flesta.
Det finns flera utmärkta böcker om Java-programmering, som "Head First Java" av Kathy Sierra och "On Java 8" av Bruce Eckel. De Oracle Java-dokumentation och Java Programmering massiv öppen onlinekurs från Helsingfors universitet rekommenderas också starkt för nybörjare.
4. C/C++
Bland de olika programmeringsspråken du kan använda med en Raspberry Pi, framstår C och C++ som de idealiska för dem som kräver oöverträffad prestanda och perfekt kontroll över hårdvaran. Dessa språk kan ha en mer utmanande inlärningskurva än andra som Python och Scratch, men de potentiella fördelarna är enorma.
Eftersom både C och C++ har direkt tillgång till Raspberry Pis hårdvaruresurser är de idealiska alternativen för applikationer som kräver mycket hårdvarukraft. När enhetens CPU och GPU används till sin fulla kapacitet blir multimediaprestationer, uppslukande spelande och programmeringsförmåga på systemnivå möjliga.
C++ i sig liknar C men inte riktigt likadant. Det beskrivs bäst som en utökad version av det processuella C-språket som introducerar olika objektorienterade programmeringskoncept som polymorfism, inkapsling och arv, och flera andra funktioner som beskrivs i vår guide till kärnskillnaderna mellan C och C++.
Som nämnts tidigare är C och C++ inte de lättaste programmeringsspråken att lära sig. Du kan dock välja en av dem som nästa logiska steg när du har uppnått rimliga kunskaper i Python eller Java. Upptäck bästa webbplatserna för att komma igång med att lära sig C++.
5. JavaScript
Oavsett vad vissa kanske säger till dig är JavaScript ett komplett programmeringsspråk. Används oftast inom webbutveckling, den finns i både front-end och back-end av ett antal webbplatser och webbappar.
JavaScript och andra webbskriptspråk som HTML och CSS kommer särskilt väl till pass när du bygger ett webbgränssnitt för dina Raspberry Pi IoT-projekt och webbservrar.
Fysisk datoranvändning med JavaScript kräver installation av Node.js, runtime-miljön för utveckling på serversidan. Det finns flera bibliotek tillgängliga för Node.js som låter dig manipulera GPIO-stiften och andra gränssnitt på Raspberry Pi. De flesta av dem kommer att räcka för enkla Raspberry Pi-projekt. Kolla också hur man gör bygg en Twitter-bot för fototwittring med Raspberry Pi och Node.js.
Om du har en webbutvecklingsbakgrund kan JavaScript vara det naturliga valet för dig. JavaScript-kod kommer att köras i de flesta webbläsare, så du behöver ingen IDE för att programmera med den. Allt du behöver är en textredigerare och webbläsaren Chromium som är förinstallerad med Raspberry Pi OS.
De Mozillas utvecklarnätverk (MDN) har en omfattande JavaScript-handbok och referenser som passar nykomlingar och erfarna programmerare. Interaktiva handledningar och projekt finns på webbplatser som freeCodeCamp och JavaScript.info.
Vilken ska du välja?
Din nuvarande erfarenhetsnivå, projektets komplexitet och hur lång tid du är villig att ägna dig åt lärande är alla användbara faktorer att tänka på när du väljer ett programmeringsspråk att använda med Raspberry Pi.
Om du redan är bekant med något av programmeringsspråken på listan, skulle det vara det bästa valet för att börja. Du kan sedan förgrena dig till andra språk allteftersom dina projekt kräver det. När du väl har ett fullständigt grepp om grundläggande programmeringskoncept kommer du att ha lättare att plocka upp och skriva program på olika språk.
Varje programmeringsspråk har sina förtjänster
Python är ett utmärkt val för både nya och erfarna programmerare på grund av dess tillgänglighet och flexibilitet. För nybörjare är Scratch det bästa alternativet eftersom det är både lätt att använda och roligt. Om du behöver snabbhet och exakt kontroll över din dators hårdvara är C/C++ det bästa valet. Java står i mitten mellan Python och C/C++ när det gäller användarvänligheten och den prestanda den erbjuder. JavaScript utökar de dynamiska webbutvecklingsmöjligheterna för Raspberry Pi. Det är upp till dig att bestämma vilket programmeringsspråk som är bäst för dina Raspberry Pi-projekt.