Ah yes. A new year! Exciting for all. I hope everyone reading this got to have some quality time with their loved ones over the break and managed to fend off the vicious beast of capitalism and actually find a way to enjoy yourself without resorting to pulling out the ole money card. I had a very cozy X-Mas / New Years period, which I will detail in full right now!
Here are all the posts in the Programming category
Ah yes. Dead trees with Ink sprayed on them. Truly one of the most morbid ways to describe books, but it’s a way I may have described them in the recent past. However… I have recently developed quite a liking for books, Specifically, Programming books and Personal Development books! And I’m about to go into some sort of depth as to why!
What books do I currently own?
I have purchased a bunch of books within the last few months, More so than I could ever read in those months, but I do intend to go through them all! So, currently on my bookshelf I have
Well… I guess its that time of year again where I try advent of code and see how long it takes before I want to kill myself… And this year… I am committed to doing it in C89.
Why C89?
C89 is a language I have fought with since I did COSC242 in university. It is a very stripped down version of C, with little to no mercy given to the programmer. Especially in things like code structure. I especially dislike the lack of booleans, meaning I need to use integers to represent basic flags.
Ok so… I’ve decided to add some decoration to my desk at work in the form of a bot.
What What in the Bot?
I’m calling the bot “Grimey Bot” which will be a sucessor to steevo bot. I hope that I can write it in C although there are some practical limitations to this project, mostly being that it needs to interface via GPIO to a display output, which I have decided to be e-ink.
I have recently been learning a lisp language, which I thought would be fun to talk about. It’s Racket, and I am again thanking my homie @tA for his continued support in learning this somewhat different language
Evaluation
Everything in racket is evaluated. This means you can do very mathematical looking functions, like the following
(define (quadPos a b c) (
(/
(+ (* b -1) (sqrt (- (* b b) (* 4 a c)) ))
(* 2 a))))
which is the quadratic formula, believe it or not… (for the + anyway)…
Ever since I learnt to program, I have been actively trying to push myself as hard as I can to understand the fundamentals of programming as well as I would ever need to. But recently, I’ve realized how much I just don’t understand, thanks to the brilliant discovery of functional programming.
What is functional programming?
If you are reading this, you 99% know what functional programming is, and why I might be drawn to it. But incase you live under a rock, or are just interested in reading some potentially wrong information, Functional Programming is a paradigm of programming that is based on the concept of composing mathematical functions to compute, as opposed to using state in other paradigms.