Introduction

Note: This post is a Gemini copy of my post originally published on August 7, 2018 at

https version of Introduction

Hi! I'm Vera. A long time ago, I took computer science courses at university. I used my coding skills occasionally when I was working as a scientist, but it wasn't a big focus at all of the work I was doing.

Fast forward many years from there, and I installed Linux on my computer. My computer ran so much faster and lighter that I could get a lot more done in less time. Woohoo!

Fast forward another year, and I decided that running Linux without doing any scripting or programming was a bit like owning a sports car and driving it only to the supermarket and back. So, I decided to (re)-learn some programming.

There were good and bad points this: good, that I had learned programming when younger. Bad, that enough time had passed that I had forgotten a lot of what I'd learned. On a positive note, this freed me up to not tie me to a particular language. I'd have to learn a full language from scratch anyway, so why not let it be a language that would work for the problems I wanted to solve?

I set about looking for a high-level language. I wanted to run it with or call it from a shell script. I needed the language to handle math (which the shell runs agonizingly slowly) but most of all, I needed it to be flexible. I wanted to change things, create things, switch things around and make new programs really fast. So, after a little research, I decided on Lisp.

Lisp definitely had the features I wanted, but I also decided on a secondary programming language for if I specifically wanted to create lower-level number-crunching binaries for whatever reason. So I decided on Pascal for that.

So here we are, with shell scripting to handle high-level file manipulations and most non-mathematical processing, Lisp to use for most math purposes, and Pascal for if I'm doing something very math-intensive. My laptop has only 2G ram, which frankly is an excellent incentive to make my algorithms efficient and to pick the best language for whatever I need at the time.

I realize these languages are not many compared to what others are doing, and I also realize that these are not "popular" languages. That is OK by me; I'm using these on my machine for my own algorithms, so I don't need to pick a language based on interfacing with anything anyone else is writing.

However, the downside of the less popular languages is that there is less documentation around. So, I'm writing this blog mostly as a series of notes and reference links that I find useful.

I hope that you might find it useful also.