Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
p5.js
p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs —
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
It can. I did almost all the days from last year in Prolog (https://github.com/aarroyoc/advent-of-code-2020) so you can take a look. The most important thing is understand DCGs so you can use the pure input or pio library to read the data in a Prolog way. That library is already included in SWI or Scryer.
I found a single crate with a bunch of binaries worked well. It let me use a shared library easily. You can see my crate organization here if that's helpful.
I'm partial to Common Lisp, but both Scheme and Racket would be good choices as well. There's a few of us who've been using CL the last few years to solve (nearly) every puzzle. If you want to see (not always great) solutions to the puzzles in Common Lisp, here's my repo, of course don't look at days you haven't solved yet unless you want spoilers. But it can give you a feel for how CL can be used to solve the problems. I'd intended to revisit them and clean them up, but never got around to it.
For Racket, they also have a lot of packages you can use, but the language is also more on the "batteries included" side (like Go or Python).
You already did Javascript, but how about https://p5js.org which is essentially a visual library for javascript. They have an online code editor where you only have to add code to the drawing loop (but you can do more). I made this for 2017 day 14: https://ednl.github.io/defrag/
You could try a “code golf” language like https://github.com/betaveros/advent-of-code-golf-2020