Files
second-brain/Clippings/Uncle Bob’s favorite programming language— but why 🤔.md

66 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Uncle Bobs 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. Hes 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
Hes a renowned author, speaker, and consultant, best known for his teachings of clean code principles, agile methodologies, and software craftsmanship.
> Hes 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 Bobs 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?
> Clojures 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
```
Clojures built-in concurrency support help to leverage the modern computing systems
```
(defn square [x] (* x x))(pmap square (range 10)) ; Compute squares in parallel
```