Re:The Miseducation of Maria Montessori
by EdwardDiego on Saturday March 05, 2022 @08:30PM
(#30574044)
TCO might be more beautiful semantically, but unless you're using a language like Scala where you can say "this recursive function is intended for TCO, and thus throw an error if it's not eligible", a programmer error can blow out your stack.
> I’ve worked in probably 15+ languages of all types throughout my life since Microsoft BASIC in 1984 when I was 12. If this doesn’t give me the right to assert things like this, then what does?
A realisation that opinions are subjective :) I've probably used a similar number of languages, although I started with QBasic, and while I've really enjoyed FP in Scheme, Erlang, and F#, I don't consider it vastly superior, I just consider it a different paradigm that is really good in some problem domains, and an awkward fit in others.
I don't consider any particular paradigm to be superior, each has strengths and weaknesses.
My first impression when I learned about “infinite recursion via TCO” is that it was so much more beautiful semantically than your typical loop
> recursion and condescension
I’ve worked in probably 15+ languages of all types throughout my life since Microsoft BASIC in 1984 when I was 12. If this doesn’t give me the right to assert things like this, then what does?
Perhaps the real problem is that whenever someone mentions “functional languages”, the walls go up, the ears go closed and the baseless presumption of hubris skyrockets.
The fact is that you can use a functional style (and gain the advantages) in any language https://towardsdatascience.com/why-developers-are-falling-in... , you just lose the guarantees as soon as you touch another library