I love Raku. Perl faced the same sort of pressure as PHP did to modernize and get rid of insanity, but where PHP modernized by sweeping all the insanity under the rug, Raku leaned <i>into</i> the insanity and invented brand new modern forms of it. Global variables getting you down? Just use dynamically scoped variables, where assignment follows the call stack. Automatic conversion between strings and ints annoying? Stick it in the type system and let user-defined types implement the behavior too. Hate nulls? Use the class object itself as a typed null.<p>So much of the language is so fundamentally <i>different</i> from how languages are made in Current Year that I couldn't begin to evaluate how useful or confusing these features are in the wild (especially operators like `ff`); I simply have zero context whatsoever for it.
I like the niche Raku has carved out for itself, as a sort of experimental platform for writing software expressively.<p>I don't use it, I probably won't, this kind of expressivity is something which feels good for developers but doesn't help them cooperate. The tradeoffs are probably not worth it.<p>I'm glad it exists, though. It's a language where the users mostly find neat ways to say things, Perl is a great basis for that sort of language, and I wish them well.
I know this is a just for fun post, but C++ engineers haven't been especially happy with iostreams. {fmt} and std::format are more modern alternatives.<p>And use of std::endl is widely considered an antipattern. Use of '\n' is always better for printing new lines.
Just in time for C++23’s long awaited std::print<p><a href="https://github.com/cplusplus/papers/issues/884" rel="nofollow">https://github.com/cplusplus/papers/issues/884</a>
I tried Raku a few times, but thought it to be too slow for me. Grammars seemed kinda nice, but somewhat frustrating.<p>One good thing about Raku is that I thought it had what I called "a programmers mindset". To put it another way, the language seemed to be structured in such a way to "think the way I think", rather than the other way around.