A bit of a side note regarding the chosen languages.
I really like exploring new languages via the learning syllabi. It was difficult to figure out Mindshifting May because there were no languages with a syllabus. I see that all of the chosen languages for July also don’t have a syllabus.
Lisp is older than C, C++, and Visual Basic, and it’s only a few years younger than COBOL or Fortran. If the theme for the month is “old languages”, I think that Common Lisp absolutely belongs there, especially so considering that it has a syllabus.
The only objection I can anticipate is that it is a language in June, but thematically it fits both. Also, Rust was a “shadow” Mindshifting May language - not officially on the list but added after people called out that it was included in the roster in the calendar video. So if Rust works for both Mindshifting May and Mechanical March I can’t see why Common Lisp can’t work for Sexprsy Summer and Jurassic July
If you think of Jurassic July as about legacy languages instead, the selection starts making more sense. VB.NET is 6 years JavaScript’s (!)* junior, but there is a lot of old business code written in it, just like there is for the other featured languages.
* 1995 also brought us Java, PHP, Ruby, and Racket.
The syllabi are works of love and tears and countless hours. The volunteers that built them love positive feedback as they continue to build and round them out. However, there are only so many syllabi on Exercism at the moment. It’s hard to get a syllabus on each month. If you do want to learn another language with a syllabus, you can totally go off-script!
Exercism has 66 active tracks. Of those, only 28 have any syllabus. Only 15 tracks have a syllabus with 10 or more concepts:
11: jq
11: rust
12: clojure
12: ruby
13: fsharp
13: gleam
15: common-lisp
15: java
15: swift
19: elm
20: python
26: javascript
29: go
42: csharp
43: elixir
If you’d like to contribute to a track, most maintainers are open to working with someone willing to dedicate some time!
for i in *; do (
cd $i
jq -r --arg l $i '
( .exercises.concept|length) as $c |
if $c >= 10 then "\($c): \($l)" else empty end
' config.json )
done | sort -n
But Common Lisp is not the same as Lisp, as Common Lisp’s development started in 1981. I also didn’t mean for this topic to discuss the actual chosen languages, but to focus on choosing exercises, which is why I moved the posts to a separate topic.
Sorry, didn’t mean to derail that conversation. All I wanted to point out is that Lisps (and even Common Lisp) are old, so they fit thematically, there is no language with a learning track for July, I find learning tracks very helpful when exploring new concepts, and Common Lisp has one, so it would make sense to add it and enjoy the benefits.
I can see that argument, but we’re already featuring Common Lisp this month. Having it be featured two months in a row would be weird, and it also doesn’t fit the “massive amounts of legacy code have been written in it” criterium I feel.