Geany
December 6, 2024It's been just over ten years now that I started my bachelor's degree in physics. I remember quite vividly my first semester at the university: timidly meeting new people, keeping up with the exercises, working on complex assignments. Those early days were a whirlwind of learning and adapting. But not just to the academic environment, also to the tools we needed for our studies.
One of the biggest cha(lle)nge for me was programming. And as a physics student, coding wasn't just a supplementary course: it was a core course, arguably even as significant as the analysis or linear algebra courses. We spent hours practising coding programs in C++, gradually learning the key concepts of this language.
I especially remember that during the first lesson, we had to familiarise ourselves with Geany (the only text editor that was recommended). I didn't realise at the time, but this text editor was really good, especially for beginners like me. At first glance, Geany can look unimpressive. It isn't flashy, and doesn't contain a lot of fancy features. But it contains the essential. And that is precisely its charm.
To install Geany, one would have to run the following commands on Linux (Ubuntu):
$ sudo apt-get install geany
Once installed, codes can be written, edited, compiled, built, and run, all in the same place. Additional features, such as an integrated terminal, are also available. It is especially nice for testing code snippets without leaving the interface, which on Linux actually looks like the screenshot below (version 2.0).
Geany isn't just a small and lightweight Integrated Development Environment (IDE). First of all, according to its official website, Geany supports over 70 programming languages, which are:
Abaqus, Abc, ActionScript, Ada, Arduino, Asciidoc, ASM, Batch, BibTeX, C, C#, C++, CAML, Clojure, CMake, COBOL, CoffeeScript, Conf, CSS, CUDA, Cython, D, Diff, Docbook, Erlang, F77, Ferite, Forth, Fortran, FreeBasic, Genie, GLSL, Go, Graphviz, Groovy, Haskell, Haxe, HTML, Java, Javascript, JSON, Julia, Kotlin, LaTeX, Lisp, Lua, Make, Markdown, Matlab/Octave, Meson, Nim, NSIS, Objective-C, Pascal, Perl, PHP, Po, PowerShell, Python, R, reStructuredText, Ruby, Rust, Scala, Sh, Smalltalk, SQL, Swift, Tcl, Txt2tags, TypeScript, Vala, Verilog, VHDL, XML, YAML and Zephir. I'll not ask you to point out which of these are pokemon. I'm giving here the total list only to highlight the fact that Geany is versatile.
Geany is also highly customizable. From themes to plugins, you can tailor Geany to fit your workflow. Popular plugins include Git integration, file browser extensions, and markdown previewers.
And I think this shows that Geany remained true to its core philosophy: delivering powerful coding tools without unnecessary complexity. And has been doing so since its creation by its developer Enrico Tröger in 2005.
Geany isn't trying to be the flashiest or most feature-packed tool. It will however help you get the job done with minimal fuss. This specificity has always encouraged me to keep Geany. Nowadays, I'm mostly using Visual Studio (VS) Code to create my projects. But from time to time I find myself opening Geany for specific tasks, and not just out of nostalgia.