move Clippings from thpeetz-notes vault
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
---
|
||||
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
|
||||
```
|
||||
Reference in New Issue
Block a user