PyCharm ist eine der interessantesten Entwicklungsumgebungen. Ich benutze sie für Python. Sie lässt sich allerdings wohl für alle Programmiersprachen einrichten.
Snap ist ein Packungsformat, das alle Abhängigkeiten schon enthält. Snap ist das Ubuntu-eigene Format, daneben gibt es noch Flatpak, was ein allgemeines Liux-Packsystem ist. Falls snap nicht installiert ist, kann man es mit sudo apt install snapd installieren.