learning-languages/README.md
2025-03-21 20:57:08 +01:00

112 lines
3.0 KiB
Markdown

# Learning new languages and documenting my journey
Repository which documents my journey in learning new languages.
Currently learning:
<style>
/* center all content within cells */
table {
width: 100%;
border-collapse: collapse;
}
th, td {
text-align: center;
}
</style>
<table align="center">
<tr>
<th>Language</th>
<th>Idea</th>
<th>Category</th>
<th>Algorithmics?</th>
<th>Practical?</th>
<th>Course?</th>
</tr>
<tr>
<td><a href="https://www.rust-lang.org/">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Rustacean-orig-noshadow.svg/220px-Rustacean-orig-noshadow.svg.png" alt="Rust" height="50"/>
</a></td>
<td>Daily drive</td>
<td>General</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a href="https://www.swift.org/">
<img src="https://raw.githubusercontent.com/devicons/devicon/master/icons/swift/swift-original.svg" alt="Swift" height="50"/>
</a></td>
<td>Daily drive</td>
<td>General</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a href="https://www.haskell.org/">
<img src="https://raw.githubusercontent.com/devicons/devicon/master/icons/haskell/haskell-original.svg" alt="Haskell" height="50"/>
</a></td>
<td>Understand functional programming</td>
<td>Theory</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a href="https://coq.inria.fr/">
<img src="https://dashboard.snapcraft.io/site_media/appmedia/2021/01/coq.png" alt="Coq" height="50"/>
</a></td>
<td>Understand formal verification</td>
<td>Theory</td>
<td></td>
<td></td>
<td>🤷</td>
</tr>
<tr>
<td><a href="https://futhark-lang.org/">
<img src="https://hackage.haskell.org/package/futhark-0.25.28/docs/assets/ohyes.png" alt="Futhark" height="50"/>
</a></td>
<td>Understand data parallelism</td>
<td>Theory/Fun</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
(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
```
## Writeups
Sometimes, I find some question and/or topic so interesting, that I decide to write a blog post about it.
Check out the `writeups` folder for more information.
> [!NOTE]
> Once a writeup is finished, I will remove it from the folder and [post it here](https://confest.im).