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

Overview of development environments  6.4
            mance limitations, delays, and the challenges of conducting realistic
            testing on a Raspberry Pi device.
              Ultimately, Java offers a comparable set of possibilities to the afore-
            mentioned languages concerning software development and interfac-
            ing with external hardware (through GPIO, I2C, and SPI). However,
            the advantages of Java for Raspberry Pi projects further include mod-
            ularity and reusability due to its emphasis on OOP, improved safety
            through static typing, resulting in a lower probability of bugs, the ca-
            pability to develop and test on separate hardware (due to JVM), a com-
            prehensive array of libraries, greater industry support, and superior
            performance, at least when compared to Python (Flurry 2021, 6–14).

            Bash
            Bash scripts can incorporate any of the GNU core utilities and be used
            to automate various laborious or frequent tasks. For instance, create
            a project directory, log program output, rename files in bulk, check
            file existence, and concatenate long commands, among numerous oth-
            ers. The versatility and utility of these scripts have great potential to
            streamline users’ workflows and enhance their efficiency.

            6.4  Overview of development environments    6.4
            In contrast to the typical relationship between a programming lan-
            guage and an IDE, certain development environments are entirely
            self-sufficient. This implies that all required dependencies are already
            included and securely isolated within the environment itself. As a re-
            sult, the entire development process, from writing to executing the
            source code, can be done within this self-contained framework. Thus,
            such development environments provide a safe platform for experi-
            mentation and learning, significantly reducing the risks of dependen-
            cy conflicts and system breakdowns.

            Scratch
            Undoubtedly, Scratch (Maloney et al. 2010) stands out as the most rec-
            ommended first tool for novice users to explore programming. This
            is further emphasized by its consistent appearance in the introducto-
            ry chapters of books dedicated to programming and the Raspberry Pi
            (Richardson and Wallace 2012, 57; Philbin 2017, 41; Halfacree 2020, 54).
            In turn, ‘Scratch’ is a name for both a visual block-based programming
            language and an IDE. Thus, users utilize blocks as basic elements to


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