Skip to content

Latest commit

 

History

History
39 lines (32 loc) · 3.3 KB

README.md

File metadata and controls

39 lines (32 loc) · 3.3 KB

Advent of Code 2020

About

Advent of Code is an annual programming puzzle challenge organized by Eric Wastl. From December 1 to December 25, a new puzzle is uploaded every day.

I'm following a self-imposed challenge to use a new programming language every day, for as long as possible.

Running the Code

To run the code from a particular day, check the README in that day's folder.

Languages/Tools

  • Day 1: F#, a functional programming language from Microsoft
  • Day 2: Forth, one of the oldest and most popular stack-based programming languages
  • Day 3: XSLT, an XML-based language specifically designed to transform XML
  • Day 4: A batch file, run with the technically-Turing-complete cmd.exe
  • Day 5: Inform 7, a natural-language-based domain specific language for writing interactive fiction
  • Day 6: x86-64 assembly, as low-level as I'm willing to get in a day
  • Day 7: AWK, a text processing tool often used in shell scripts
  • Day 8: COBOL, a verbose old language designed for "business use"
  • Day 9: TCL, a homoiconic scripting language where everything is a string
  • Day 10: J, a successor to APL with the same concepts but using ASCII identifiers
  • Day 11: Lua, a lightweight prototype-based embeddable scripting language
  • Day 12: Factor, a stack-based language with types that supports functional programming
  • Day 13: Perl, a concise scripting language heavily inspired by shell scripts.
  • Day 14: Zig, a low-level programming language meant to compete directly with C.
  • Day 15: Crystal, a very user-friendly language inspired by Ruby, with static typing
  • Day 16: Prolog, the most popular and widely used logic programming language
  • Day 17: Fortran, an extremely efficient language useful for array-oriented programming
  • Day 18: Clojure, a popular JVM language in the Lisp family
  • Day 19: Erlang, a highly concurrent language useful for distributed applications
  • Day 20: Smalltalk, a very influential early OOP language with an active following today
  • Day 21: Elixir, a functional language built on top of the Erlang VM, with Ruby-like syntax and powerful metaprogramming features
  • Day 22: Julia, a high-performance dynamic language supporting multiple dispatch, metaprogramming, and lots of useful syntactic sugar.
  • Day 23: OCaml, a performant strongly-typed language that supports functional and imperative programming.
  • Day 24: Chicken Scheme, an extremely minimal but portable scheme dialect
  • Day 25: Futhark, a small language designed to compile to efficient GPU or multithreaded CPU code