Sunday, May 21, 2017

Couple of things in the last few months

Since last posting to the blog, I have moved from problem 106 on to problem 109, in the following steps:

A notable point about the sort of problems now: after getting through the series of problems which were all about a similar concept and were thus annoying to solve in different languages due to not being able to take advantage of redundancies, the next few problems are all completely independent, but the difficulty of problems in the hundreds is definitely getting to the point where high-enough level constructs are desired that to use a very weak programming language that feels like writing in assembly or worse is very tedious. With that said, here were the steps:

After using C++TMP on problem 50, I was free to use postscript again. Turned out that despite me being relatively familiar with writing programs in the language, I didn't feel like it was expressive enough to tackle 107 directly, so I used it to solve problem 38. This in turn freed up Lua, which I used to solve problem 107. For the next problem, I found about about dc, the predecessor to bc, and with my postscript-thinking hat still on, it was pretty easy to use to solve problem 14. This then freed up Clojure, which after clearing up some cobwebs in my head about how it and other lisp-like languages worked wasn't too hard for problem 108.

Then for a while I didn't find any languages or problems that piqued my interest, but then I looked at the fledgling language list, which is a great source for neat things to use, though more than half the languages there either don't have compilers or have compilers so funky that I spent some time trying to set them up and failed. I found the C2 programming language, which is basically an attempt at packaging C with a lot of syntactic sugar and a module-based build system. Some of the ideas about the build system seemed neat, but don't really apply at the scale of a project euler problem. The sugars are mostly actually sweet though, so it was a fairly fun language to use to solve 109, and I made a conscious effort to try out a number of new language features without being ridiculous.

Updated table is still at