Programming Articles and Talks

Here’s a collection of talks or articles that I really enjoy.

The Error Model

Joe Duffy describes the error model in an experimental programming language that he worked on. Starts off by describing different ways that programming languages give programmers to express and deal with errors. He discusses the pros and cons of each strategy, and then goes on to describe how they designed around those problems to create something truly unique.

[Read More]
Tags: lists programming 

When to Use Programming Languages

Java

  • Willing to take a small speed decrease in order to have a much better time programming than C/C++
  • Need to interface with <Obscure Technology>. Because Java probably has a library for it

Kotlin

  • Want/need to use Java libraries but want to feel modern

Groovy

  • I want to write a version of Java that gets rid of everything good about Java while keeping all of the bad

C

  • Need the maximum amount of speed possible

C++

  • Need the maximum amount of speed possible while also having the maximum number of language features that don’t fit together

Javascript

  • Need to write something quick for the browser

Typescript

  • Need to write something large for the browser

Python

  • Short scripts, one-offs
  • Want to have a good time programming while not caring about speed or ease of refactoring

Go

  • Want the power of concurrency, but don’t want to actually learn concurrency

Clojure

  • Want/need to use Java libraries but are a hipster
  • Rich Hickey is my spirit animal
  • Seriously though, Clojure is really good for processing data. It has a lot of functions in the standard library for manipulating lists and maps. It’s my tool of choice when working with large JSON files.

Rust

  • I’m a sub and I want my compiler to be the dom

Haskell

  • Want to prove that all those years of mathematics were useful
  • Want to feel superior to the plebs that can’t understand your beautiful monads

OCaml

  • Want to use a high-level language but am intimidated by Haskell
  • Want a functional language with the opportunity to use imperative programming without having to wrap all values in a ThisIsImpureDontLetItContaminateThePurity monad

PHP

  • No
  • Just no