2021-02-28 21:17:38 +00:00
|
|
|
---
|
|
|
|
title: My first post and introduction
|
|
|
|
author: Suguivy
|
|
|
|
---
|
|
|
|
|
|
|
|
I will start my first post talking **my adventures in the computing world**
|
|
|
|
and **what I will post here**.
|
|
|
|
|
|
|
|
## My adventures
|
|
|
|
|
|
|
|
I have been always interested in computers and computer science, and that
|
|
|
|
field is one of my main motivations in my life.
|
|
|
|
|
|
|
|
### How I started
|
|
|
|
|
|
|
|
I started to programming at 18 years old, when I could have my first decent
|
2021-03-02 23:27:00 +00:00
|
|
|
computer, and started to make small videogames with *Lua* and *Love2D*.
|
|
|
|
|
|
|
|
![](../images/lua&love.png)
|
2021-02-28 21:17:38 +00:00
|
|
|
|
|
|
|
One year after I have started to open more in this world, programming in
|
|
|
|
*C* and *C++* and programming other type of things.
|
|
|
|
|
|
|
|
Later I read more than a half of the [SICP](https://mitpress.mit.edu/sites/default/files/sicp/index.html) book. Is a fantastic book with
|
|
|
|
which I learned a lot of fantastic stuff like:
|
|
|
|
|
|
|
|
- Functional programming.
|
|
|
|
- *Scheme*, a lisp dialect and a beautiful language.
|
|
|
|
- Recursivity and iterativity.
|
|
|
|
|
2021-03-02 23:27:00 +00:00
|
|
|
![](../images/sicp.png)
|
|
|
|
|
2021-02-28 21:17:38 +00:00
|
|
|
### Moving towards Haskell and functional programming
|
|
|
|
|
|
|
|
Months after that, I became interested in *Haskell*. It impressed me
|
|
|
|
because is a language with a beautiful syntax and very expressive. Here
|
|
|
|
an example of the [quicksort](https://en.wikipedia.org/wiki/Quicksort) algorithm:
|
|
|
|
|
|
|
|
``` haskell
|
|
|
|
quicksort :: Ord a => [a] -> [a]
|
|
|
|
quicksort [] = []
|
|
|
|
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
|
|
|
|
where
|
|
|
|
lesser = filter (< p) xs
|
|
|
|
greater = filter (>= p) xs
|
|
|
|
```
|
|
|
|
|
2021-03-02 23:27:00 +00:00
|
|
|
![](../images/haskell.png)
|
|
|
|
|
2021-02-28 21:17:38 +00:00
|
|
|
I started to learn it slowly, and nowadays I'm still learning some things,
|
|
|
|
and using it for my projects.
|
|
|
|
|
|
|
|
### Meeting Rust and Python
|
|
|
|
|
|
|
|
While I was learning Haskell, two languages caught my attention: *Rust* and
|
|
|
|
*Python*.
|
|
|
|
|
2021-03-02 23:27:00 +00:00
|
|
|
![](../images/rust&python.png)
|
|
|
|
|
2021-02-28 21:17:38 +00:00
|
|
|
*Rust* is a systems programming language (like *C* and *C++*), but with lots
|
|
|
|
of nice things, and it has not the flaws that the other two have.
|
|
|
|
|
|
|
|
It called my attention because it has many things in common with Haskell,
|
|
|
|
like the `match` statement and the `enum`s, that are very similar to
|
|
|
|
*Haskell*'s `data`.
|
|
|
|
|
|
|
|
I started to learn it but I got bored. In that days was having a difficult time,
|
|
|
|
I had little motivation, but *Python* caught my attention because it is a
|
|
|
|
language in which you can program quickly a lot of things. And, to be honest,
|
|
|
|
it is a really easy language to learn.
|
|
|
|
|
|
|
|
Nowadays I returned to *Haskell* and I can program in it with enough ease.
|
|
|
|
|
|
|
|
## What I will post
|
|
|
|
|
|
|
|
I will post any thing that goes through my head, manly programming posts, and
|
|
|
|
many of them using my loved one *Haskell*.
|
|
|
|
|
|
|
|
I also thought about doing *chapters* or *series* of posts about things like
|
|
|
|
**Implementing a Lisp**, or **Tasting Haskell and functional programming
|
|
|
|
for newbies**.
|
|
|
|
|
|
|
|
Also I think I won't post too often, because making a post takes time, and I'm
|
|
|
|
not a fan of writing, and also I'm involved in some projects and in my college
|
|
|
|
degree.
|