# Programming Languages for Raspberry Pi

### <mark style="color:blue;">These are languages that can be used to create applications on the Pi</mark>

<mark style="color:green;">Scratch</mark>

A visual programming environment designed for teaching children, officially supported by the Raspberry Pi Foundation and pre-installed on Raspberry Pi OS. It provides access to GPIO pins without the need for text-based programming.

<mark style="color:green;">Node-RED</mark>

Another visual programming environment built on Node.js, also geared towards teaching programming and pre-installed on Raspberry Pi OS.

<mark style="color:green;">Python</mark>

The most common text-based programming language used on the Pi, with official libraries for accessing GPIO pins (GPIO Zero and RPi.GPIO). Python is pre-installed on Raspberry Pi OS.

<mark style="color:green;">C/C++</mark>

The GCC compiler is pre-installed on Raspberry Pi OS. Although there is no higher-level library for GPIO access, it can be done using lower-level Linux code or the PIGPIO library.

<mark style="color:green;">Bash scripting</mark>

The default shell on Raspberry Pi, allowing for easy creation of programs to run at specific times or perform various operations. GPIO pins can be accessed through the Linux pseudo-filesystem or the GPIO command-line tool.

### <mark style="color:purple;">Python is your best choice</mark>

Python is the best choice for programming on the Raspberry Pi, even for those who are not familiar with the language.&#x20;

The reasons are:

1. Built-in library for GPIO pin access
2. The majority of Raspberry Pi code samples are written in Python
3. Learning a new language is beneficial for personal growth
4. Python is a popular language in general

In summary, while there are many programming language options available for the Raspberry Pi.

&#x20;<mark style="color:yellow;">Python is recommend</mark> as the most suitable choice due to its extensive support, ease of use, and popularity within the Raspberry Pi community.&#x20;
