Live data from Hacker News

Raku: A language for gremlins

buttondown.email

111–120 of 257 posts

Re: Raku: A language for gremlins

#111
post #109

One way you might arranging programming languages in a 2D space is with two axes: 1. How much should the language surprise you? 2. When the language does surprise you, should it delight you or horrify you? surprising ^ | | | delight horrify | | | v unsurprising Only a sadist would deliberately design a language for the top right quadrant, but there are many esoteric languages in there. I think most people tacitly ass…

Why would you choose anything on the right, surprising or otherwise?

When the consequences of trying to be accommodating in as many ways as possible force you into a horrifying conclusion that rarely appears in practice. Turing complete type systems are an example that could be seen this way.

Re: Raku: A language for gremlins

#112
post #109

One way you might arranging programming languages in a 2D space is with two axes: 1. How much should the language surprise you? 2. When the language does surprise you, should it delight you or horrify you? surprising ^ | | | delight horrify | | | v unsurprising Only a sadist would deliberately design a language for the top right quadrant, but there are many esoteric languages in there. I think most people tacitly ass…

Why would you choose anything on the right, surprising or otherwise?

[deleted]

Re: Raku: A language for gremlins

#113
post #17

Earlier quoted context omitted.

The problem is those are subjective axes. And things can both delight and horrify; I wrote some javascript once where I did document.write = function ... which is kind of delightful in that I was able to do what I needed as a result, but also pretty horrifying :) Other people I showed it to felt it was more on the horrifying side, but like I said, it's subjective.

I was thinking axes of 'readability' and 'expressiveness' would make a nice chart for programming languages.

I don't think those are orthgonal though. For example, if a language lacks expressiveness, that can hinder its readability. But on the flip side, if it is highly expressive that can also potentially hurt readibility, especially if the reader isn't very familiar with the language. Although both are somewhat subjective (readability moreso than expressiveness), and context specific.

Re: Raku: A language for gremlins

#114

One way you might arranging programming languages in a 2D space is with two axes: 1. How much should the language surprise you? 2. When the language does surprise you, should it delight you or horrify you? surprising ^ | | | delight horrify | | | v unsurprising Only a sadist would deliberately design a language for the top right quadrant, but there are many esoteric languages in there. I think most people tacitly ass…

Hoon is occupying that top-left quandrant as well, as long as you you don't mistake your surprise for horror - https://developers.urbit.org/guides/core/hoon-school . Surprisingly powerful.

Re: Raku: A language for gremlins

#115

One way you might arranging programming languages in a 2D space is with two axes: 1. How much should the language surprise you? 2. When the language does surprise you, should it delight you or horrify you? surprising ^ | | | delight horrify | | | v unsurprising Only a sadist would deliberately design a language for the top right quadrant, but there are many esoteric languages in there. I think most people tacitly ass…

Hoon is occupying that top-left quandrant as well, as long as you you don't mistake your surprise for horror - https://developers.urbit.org/guides/core/hoon-school . Surprisingly powerful.

Hoon is in the top right quadrant when you begin to understand the performance characteristics and what it would take to improve them. And the type system is pitiful.

Re: Raku: A language for gremlins

#116
post #88
post #24

Earlier quoted context omitted.

Then a 3d chart with "likelihood of" being a point or region in the space. The axises would then be "Surprise", "Delight", and "Horrify".

Context is critical. Unless you're a beginner with the language, surprise in a production codebase is horrifying. The Perl philosophy has never been compatible with lack of surprise. Perl wants to be like natural language, and natural language has limitless surprises. The problem with Perl (or, I assume, Raku) in production is that the responsible way to read it is like reading every single footnote in an annotated e…

> Context is critical. Unless you're a beginner with the language, surprise in a production codebase is horrifying.

Why? Are you assuming a very particular kind of surprise here?

"Oh, I can replace these five lines with a single builtin." is a surprise, and so is seeing that someone else already did so.

Re: Raku: A language for gremlins

#117
post #59
post #30

Let's face it, the Perl 5/PCRE regex syntax is atrocious. The only reason it exists is that (? was a syntax error in earlier regex syntaxes, so it could be redefined to mean anything. Raku is an attempt to design a sane regular expression language from first principles, now that we know what we want them to be able to express. The alternative is being stuck with (?:this|(?>or that)) for the next 30 years.

Awful? It is inscrutable black magic and it is wonderful once you get it. I haven't touched perl in years but I still find myself writing regex often!

Also various langages allow formatting & commenting regexes and that’s quite useful. Named groups as well.

Re: Raku: A language for gremlins

#118

Earlier quoted context omitted.

Filling in language names is left as a fun exercise for the reader .

Python top right, Go bottom right, Brainfuck bottom left, Rust or Perl top left. (Don't kill me fanatics)

Do you think many people would put Rust and Perl next to each other?

Re: Raku: A language for gremlins

#119
post #59
post #30

Let's face it, the Perl 5/PCRE regex syntax is atrocious. The only reason it exists is that (? was a syntax error in earlier regex syntaxes, so it could be redefined to mean anything. Raku is an attempt to design a sane regular expression language from first principles, now that we know what we want them to be able to express. The alternative is being stuck with (?:this|(?>or that)) for the next 30 years.

Awful? It is inscrutable black magic and it is wonderful once you get it. I haven't touched perl in years but I still find myself writing regex often!

Yes, awful. It takes a crack in the wall and drives a bus through it, at a significant penalty to readability. The compatibility advantage doesn't matter when you're evaluating syntax in a vacuum.

Re: Raku: A language for gremlins

#120
post #27

Earlier quoted context omitted.

I'm very interested in bottom right langs.

Absolutely JavaScript, in that it is easy to accidentally do horrifying things, but absolutely not surprising if you’ve spent any time working with it, as you quickly get used to how awful it is.

I’ve been in some sort of web development since 2005 and am to this day surprised by just how much awful is packed in there. Most is deprecated - thank God and any other deities - but it’s still there lurking for newbies and unaware developers coming from sane languages.
Post reply on HN