66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
---
|
||
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"
|
||
---
|
||
[
|
||
|
||

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

|
||
|
||
](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.
|
||
|
||

|
||
|
||
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
|
||
``` |