hallo,
du programmierst den Pi am besten entweder in C/C++ (gcc) oder in Python.
Für die GPIOs verwendest du am besten Libs wie wiringPi (C und Python) oder pigpio (C); Interrupts sind möglich, auch WiFi, BT, USB usw. - du kannst aber auch die file-IO bzw. BCM-Funktionen verwenden (etwas umständlicher).
Wenn du einen kurzen Überblick über C/C++ Programmierung incl. Vorbereitungen sehen möchtest, guck mal hier:
https://github.com/dsyleixa/Raspberr...uide_Raspi.pdf
(für absolute Einsteiger geschrieben, teilw. stark vereinfacht, ursprünglich für Pi2 und Jessie konzipiert, aber grundsätzlich auch gültig z.B. für Pi3 und Stretch)

Bei C/C++ handelt es sich um gcc/gpp in veschiedenen verfügbaren Versionen (Stretch: vorinstalliert ab 6.3, selber nachinstallierbar auch bis zu vers. 9) mit offiziellen ANSI/ISO-Standards (C99, C11, C++14 bzw. 17), Python steht in Versionen 2 und 3 vorinstalliert zur Verfügung.

Du darfst aber nicht übersehen, dass C und C++ Library-basierte Sprachen sind, d.h. die Linux-libs z.B. für file-IO mit ihren Funktionen sehen schon etwas anders aus als die entsprechenden libs für AVRs.