This page is for the space between 280 characters and a full blog post

Sami Badawi

Programmer and mathematician working in data mining, map tech, NLP.


Programming language aficionado

I enjoy learning language and I have worked with a lot of them: Scala, Python, Java, C++, C, C#, F#, Mathematica, Haskell, JavaScript, TypeScript, Rust, Clojure, Perl, R, Ruby, Slang, Ab Initio (ETL), VBA.

A great programming language is a work of art.
It is defined more by what it leaves out than what it puts in.

Languages evolution with poetic license

Looking at language everlution over many years I lost count of how many times I feel in love with a new language and thought this was the untimate language.

Here are my initial impressions for some mainstream languages that I really liked:


The one true programming language of the day.
With the awesome power of OOP.


The untimate language to end all languages.
It had everything that was cool in 1994.


The perfect language that cleaned up everything that went wrong in Java.


They lied to me!
You do not need design patterms and OOP.
You can hack it out in 10 lines of Perl.


Hey you do not need to hack it out in 10 lines of Perl.
You can program it in 15 lines of Python.


Theoretical CS and type theory is not just for academia.
A pearl of a orthogonal, minimal constructs.
Safe, fast and happy.


Wow it is possible to program in mathematics.
I did it!
I scaled mount Haskell and took a snapshot and wrote a blog post.


You do not have to chose between type based language and dynamic data language.
You can have both.


At a low level the computer industry is build on a very insecure foundation.
Type theory can make lowlevel code very fast, safe and elegant.

My 2019 language picks

I did not exactly pick them they picked me.

  • Python
  • Scala
  • TypeScript
  • Rust
  • Terraform
  • Bash

The Bourne shell was cutting edge in 1977, and it still is today. I have aesthetics issues with it, but it has found a new happy home in cloud computing.

Terraform feels like a strange combination of Haskell and TypeSafe config. But it also fills a niche in cloud computing for: Infrastructure as code.

Python and Scala will take you far in backend and data engineering. The gradual types in Python 3.6 and 3.7 are really a great help. But they are very simple compared to TypeScript that probably has the most sophisticated type system these days.

I am trying not to spread myself too thin but it seems like TypeScript and Rust are destined for a great 2019.