Page 80 - Raspberry Pi as a Foundation for Boosting Computer and Technology Literacy
P. 80

6  Programming on the Raspberry Pi
                for implementing Raspberry Pi projects. Nevertheless, it comes pre-in-
                stalled on the majority of Linux distributions, including the Raspberry
                Pi OS. Being a high-level programming language, Perl is comparable
                to Python in terms of runtime efficiency, memory consumption, and
                development time (Prechelt 2000).
                  Similarly to Python, C, and C++, Perl has an extensive support of
                libraries, an example being the aforementioned wiringPi. As a result,
                the users can utilize Perl modules to interface with GPIO pins and,
                therefore, with external hardware (Murray and Bertrand 2018, 29–43).
                The language also provides modules that support inter-integrated cir-
                cuit (I2C) and serial peripheral interface (SPI) communication, making
                it possible to interact with a range of other devices via serial commu-
                nication channels (Murray and Bertrand 2018, 46–59). Finally, Perl’s
                modules make it simple to interact with other electronic boards, such
                as Arduino (Murray and Bertrand 2018, 65–69), through the Firmata
                (Mellis et al., n.d.) protocol, even enabling control over HTTP (Murray
                and Bertrand 2018, 83–87).


                Java
                Java (Arnold, Gosling, and Holmes 2005) is another popular high-level
                programming language that is pre-installed on the Raspberry Pi OS.
                Nevertheless, this language is significantly centred around OOP and
                is designed to be independent of any particular OS. As a result, any
                software written in Java is extremely portable and can be executed
                on any device with the Java runtime environment (JRE) installed. In
                turn, the JRE encompasses the Java virtual machine (JVM), which
                compiles the source code, and basic class libraries. On the other hand,
                to not only run Java software but also to develop it, one would need
                to install the Java development kit (JDK), which already includes the
                aforementioned JRE (Flurry 2021, 44).
                  The Raspberry Pi OS already includes the JDK, along with two IDEs:
                Greenfoot (Kölling 2015) and BlueJ (Barnes and Kolling 2016). Green-
                foot, offers a graphical environment that enables users to visualize and
                interact with the objects and classes they create using the built-in edi-
                tor. On the other hand, BlueJ serves as another IDE specially designed
                for students and teachers, aiming to simplify the learning and teach-
                ing of Java’s OOP concepts. Nevertheless, Flurry (2021, 15–17) still
                advocates for remote development, expressing concerns about perfor-


                            80
   75   76   77   78   79   80   81   82   83   84   85