David-Wobrock / advent2017

25 advent days in 25 different languages

Home Page:https://adventofcode.com/2017/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Advent of code 2017

Motivation

Many programming languages exist for which I don't have enough time to look into. I need an excuse to spend a small amount of time on some languages I have never tried. But how? The advent of code offered good criteria for this purpose:

  • Different problems (no monotony)
  • Small problems (small amount of spent time)
  • Language agnostic (try all the languages!)

Circumstances

I managed to do the problems the day they came out until day 16. Also, most problems took me less than 2 hours to do (apart from day 16 and 21 basically), taking into account that I used a language I never used before (and counting setting up the compiler/interpreter).

This, somehow, proves to me again that a programming language is a just tool, and that the main concepts and paradigms are similar in all languages. Or at least, in each language "family". I mainly tried imperative and functional languages, since those are the most used. I neglected logical programming on purpose because I already had the opportunity to work with Prolog to build an AI for a game.

I finished the calendar on January 1st 2018.

Languages

  • Day 1 - Rust
  • Day 2 - Julia
  • Day 3 - Ruby
  • Day 4 - Haskell
  • Day 5 - Perl
  • Day 6 - OCaml
  • Day 7 - Go
  • Day 8 - Elixir
  • Day 9 - Dart
  • Day 10 - F#
  • Day 11 - Kotlin
  • Day 12 - Scala
  • Day 13 - Hy
  • Day 14 - D
  • Day 15 - Lua
  • Day 16 - Groovy
  • Day 17 - R
  • Day 18 - Common Lisp
  • Day 19 - PHP
  • Day 20 - Fortran
  • Day 21 - Erlang
  • Day 22 - Crystal
  • Day 23 - CoffeeScript
  • Day 24 - Scheme
  • Day 25 - Smalltalk

That's it

Thank you very much Eric Wastl for this awesome advent project. This is the first year I join the adventure, and I hope it will not be the last.

Merry Christmas!

About

25 advent days in 25 different languages

https://adventofcode.com/2017/


Languages

Language:Erlang 15.9%Language:Common Lisp 8.7%Language:PHP 6.4%Language:Fortran 6.4%Language:Scheme 6.2%Language:Smalltalk 5.4%Language:F# 5.2%Language:Go 5.1%Language:Hy 4.9%Language:Crystal 4.3%Language:D 3.9%Language:OCaml 3.6%Language:Groovy 3.3%Language:Elixir 3.3%Language:Dart 2.8%Language:Kotlin 2.4%Language:Ruby 2.3%Language:Scala 2.0%Language:Lua 1.8%Language:CoffeeScript 1.7%Language:Rust 1.5%Language:Haskell 1.0%Language:Perl 0.8%Language:Julia 0.7%Language:R 0.6%