---
title: "Uncle Bob’s favorite programming language— but why 🤔"
source: "https://blog.devgenius.io/uncle-bobs-favorite-programming-language-but-why-8fc3f85c77a8"
author:
  - "[[Kirubakaran]]"
published: 2024-09-19
created: 2024-10-29
description: "Robert C. Martin, also fondly known in the technology circle as “Uncle Bob,” is a highly influential figure in the software development world. He’s a renowned author, speaker, and consultant, best…"
tags:
  - "clippings"
---
[

![Kirubakaran](https://miro.medium.com/v2/da:true/resize:fill:88:88/1*V1LJQCPF_vlwk2Edo9JH_A.gif)

](https://kirubaspace.medium.com/?source=post_page---byline--8fc3f85c77a8--------------------------------)

[

![Dev Genius](https://miro.medium.com/v2/resize:fill:48:48/1*CvejhRq3NYsivxILYXEdfA.jpeg)

](https://blog.devgenius.io/?source=post_page---byline--8fc3f85c77a8--------------------------------)

Robert C. Martin, also fondly known in the technology circle as “Uncle Bob,” is a highly influential figure in the software development world.

![](https://miro.medium.com/v2/resize:fit:700/0*M1hI0UNWMe1f9uYf.jpg)

Image from wikipedia

He’s a renowned author, speaker, and consultant, best known for his teachings of clean code principles, agile methodologies, and software craftsmanship.

> He’s the author of numerous influential books like “Clean Code” and “The Clean Coder,” and he was one of the original signatories of the Agile Manifesto.

Do you want to know what his clean code advice ?

Uncle Bob’s work has significantly improved modern software development practices, emphasizing the importance of code quality, maintainability, and professionalism among developers.

Out of all the programming languages we have, Uncle Bob chooses “Clojure”. You want to find it why?

> Clojure’s minimalist syntax and importance of functional programming allow to write elegant code that makes easier to read and understand.

ex: Filtering and transforming data

```
(->> (range 10)   ; Create a sequence of numbers from 0 to 9     (filter even?) ; Keep only the even numbers     (map inc)      ; Increment each number by 1     (reduce +))    ; Sum the resulting numbers
```

> Clojure gives importance to functional programming & immutability

ex: Updating a nested data structure

```
(def data {:user {:name "Alice" :age 30}})(assoc-in data [:user :age] 31) ; Returns a new map with the updated age
```

> Clojure leverages Java ecosystem which helps to use many tools/libraries

```
(import java.time.LocalDate)(LocalDate/now) ; Get the current date using Java's LocalDate class
```

Clojure’s built-in concurrency support help to leverage the modern computing systems

```
(defn square [x] (* x x))(pmap square (range 10)) ; Compute squares in parallel
```