One issue I have with CLRS is that array indices usually start at 1, but sometimes they use 0, because it works better in that particular case. Some functions I used in Erlang (lists:sublist/3, lists:nth/2) use 1-based indices, too. I thought that 0-based array indices (and exclusive upper bounds) were quite a done deal in computer science (https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/E...).
> Python has some functional capabilities, but in my experiences with Python devs, those are little used and even shunned.
I like to use things like filter, map, reduce or list comprehensions, but I see very few of those in my coworkers' code bases.
When Python introduced pattern matching, it was rather a pattern-aware switch/case, which does not return a value, as such a construct in a functional programming would do.
> I went from Ruby to Elixir, and even with my basic Clojure experience, it was an effort.
I tried out Elixir twice so far, and since the last time, I worked through 300 pages of SICP. I still have to twist my mind when I'd like to process nested maps or the like in Elixir now.
> It was worth it, but I think the apparently similarity of Elixir to Ruby is actually a negative.
However, Ruby provides a lot of higher-order functions, such as group_by and the like. If you're used to functional-style Ruby code, the transition is easier.
One pattern I noticed in the workplace: People are mocking things like LISP, Haskell, or Erlang, but get a hard-on when their bread language (e.g. Python) introduces new syntax for, say, pattern matching (rather a pattern-aware switch/case, because it isn't an expression).
I hereby publicly announce that I use Arch Linux. I really do so for more than five years now, and I'm not thinking about switching. OK, maybe to OpenBSD for a change now and then.
PS: Did I mention, that I use Arch Linux?
PPS: Did I mention, that I'm thinking of switching to OpenBSD?
PPPS: OK, back to Arch Linux, I'm not tough enough for OpenBSD.
PPPPS: Did I mention that I'm back at running Arch Linux, by the way?
Brad Fitzpatrick stated in one of his talks, that a version of Go coming with generics will be called 2.0 eventually. Maybe they do the version jump if there are backward-incompatible changes done to the library in 1.19.
I don't know what scnr means, but yes, B is literally `C--` as you put it.
Basically B was based on BCPL, a really early systems language. Then B was rewritten as C. The next iteration of C was called C++ as a joke because it's C plus 1. Though there has since been another language created as an evolution of C called D
From what I gather, B never really got much use outside of Bell Labs. But I might have missed some reports on other people using it.
When I read Dostoevsky's "Crime and Punishment" in school, I mentioned to my teacher that the investigator reminds me of Columbo. I only remember my teacher answering me, that Columbo is one of the few crime series to be of good quality.
Almost fifteen years later I read this:
> “The Columbo character was based squarely on Porfiry Petrovich, the astute but meandering lead investigator in Dostoevsky’s Crime & Punishment.”