learning-languages/README.md
2025-03-13 19:45:14 +01:00

48 lines
1.9 KiB
Markdown

# Learning new languages and documenting my journey
Repository which documents my journey in learning new languages.
Currently learning:
<style>
#rust {
filter: invert(1);
}
</style>
<p align="center">
<span id="rust">
<img src="https://raw.githubusercontent.com/devicons/devicon/master/icons/rust/rust-original.svg" alt="Rust" width="50" height="50"/>
</span>
<img src="https://raw.githubusercontent.com/devicons/devicon/master/icons/haskell/haskell-original.svg" alt="Haskell" width="50" height="50"/>
<img src="https://raw.githubusercontent.com/devicons/devicon/master/icons/swift/swift-original.svg" alt="Swift" width="50" height="50"/>
<img src="https://dashboard.snapcraft.io/site_media/appmedia/2021/01/coq.png" alt="Coq" width="50" height="50"/>
</p>
(and C++, but that is gonna happen in embedded systems, so I won't document it here)
## Idea
I will spend about 5 hours a week learning each language. This is **NOT** a priority, but rather a side project to keep me entertained and to learn new things.
The main idea is to use these new languages to solve relevant problems!
## Structure
```
.
├── language
│ ├── sessions -- if I am doing a course or something
│ │ ├── 13_03 -- date (dd_mm)
│ │ │ ├── notes.md
│ │ │ └── exercises/ -- if I have any
│ |-- algorithmic -- if I am doing algorithmic problems
| |-- practical -- if I decide to do something practical (usually documentation and a submodule of the main repo)
│ |-- README.md -- main README
```
## Current language goals
<!-- table -->
| Language | Idea | Category | Algorithmics? | Practical? | Course? |
| --- | --- | --- | --- | --- | --- |
| Rust | Daily drive | Embedded | ❌ | ✅ | ❌ |
| Swift | Daily drive | General | ✅ | ✅ | ❌ |
| Haskell | Understand functional programming | Theory | ✅ | ❌ | ✅ |
| Coq | Understand formal verification | Theory | ❌ | ❌ | ❌ |