Programming Languages

Simplicity over complexity.

Lately, I’ve been gravitating toward “little languages”—programming languages (PL) that are simpler and more focused. But why? Most importantly - what do I mean by “little languages”? I’ll try to define this later in this blog. For now, here are some notable examples of such PL:


When choosing a programming language, two primary factors matter most:

  1. Personal preference.
  2. Job requirements.

Everything else—including others’ opinions (often just their preferences)—is secondary. Here’s my perspective on language choice as a computational biologist, seen through these two lenses:

Personal Preference

A programming language should be easy to learn, especially when it’s simply a tool to accomplish specific tasks (unless you’re diving in purely to build skill). I’ll be honest: I’m not a programming expert. My approach is built on a foundational understanding of programming concepts and the ability to explore what different languages offer through their APIs.


Case 1:

For scripting and quick data visualizations, Python remains unparalleled, particularly compared to R or Julia. Libraries like matplotlib enable clean, publication-ready plots in just a few lines—perfect for scientific workflows. With minimal setup, Python allows you to create complex visualizations like this:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-10, 10, 400)
plt.plot(x, np.sin(x), label="Sine")
plt.legend()
plt.show()

Python’s simplicity, extensive libraries, and versatility make it indispensable. Tools like Ruff and UV are also pushing Python’s performance forward. Recent changelogs show a strong emphasis on optimization.

Python is battle-tested. It produces beautiful charts and plots, with support for LaTeX labels and titles, and can output high-quality PDFs!


Example: Plotting with Python

Plot 1

[To be continued…]