Program Languages

Collections

Elixir

Announcing Bumblebee: GPT2, Stable Diffusion, and more in Elixir

xrd

Python has such a messy library story. I'm not a python developer, and coming into this ecosystem and trying to make things work with pip, conda, docker, etc. It's a mess.

I like Gradio, and built a few small apps, but it is still messy compared to Bumblebee.

Livebook + Bumblebee is magical. I'm productive in an instant, and the opportunity to build with Elixir and Phoenix makes this so exciting.

Julia

What's bad about Julia?

  1. Compile time latency
  2. Large memory consumption
  3. Julia can't easily integrate into other languages
  4. Weak static analysis
  5. The core language is unstable
  6. The ecosystem is immature
  7. The type system works poorly
    1. You can't extend existing types with data
    2. Abstract interfaces are unenforced and undiscoverable
    3. Subtyping is an all-or-nothing thing
  8. The iterator protocol is weird and too hard to use
    1. The protocol
    2. The problem
  9. Functional programming primitives are not well designed
  10. Misc gripes
    1. There is no Path type...
    2. ..and no Option type

What's great about Julia?

  1. It's both fast and dynamic
  2. The package manager is amazing
  3. Optimising Julia code is pure joy
  4. Multiple dispatch is correct, everything else an approximation
  5. The Julia REPL is amazing
  6. Strong ecosystem tooling consensus
  7. Multithreading is easy
  8. The type system works well
  9. It just keeps getting better
  10. It's weirdly fun

Children
  1. Coroutines and effects
  2. From Common Lisp to Julia
  3. Level of parallelism
  4. Object-Oriented Programming is Bad
  5. Switch vs if…else: A Comparison
  6. The Expressivity Limitations of Object-Oriented Programming
  7. What Color is Your Function?
  8. Why numbering should start at zero