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