top | item 20284242

(no title)

vorg | 6 years ago

> using all-lowercase letters for the compiler and title case for the language

'rakudo' is an implementation of 'Rakudo', huh? It's only natural for one to tag the specification and an implemention of it with different nouns in one's mind, even when there's only one implementation. I tend to think of 'go' being the reference implementation of the language called 'Golang', although its Google backers don't differentiate their official names.

discuss

order

lloeki|6 years ago

> 'rakudo' is an implementation of 'Rakudo', huh? It's only natural for one to tag the specification and an implemention of it with different nouns in one's mind

I get your point theoretically, yet this is not without significant previous occurences: from the top of my head 'Java', 'Ruby', 'Python', 'Go', 'Lua' the languages have 'java', 'ruby', 'python', 'go', 'lua' as the official implementations†. Alternative names for the implementations are merely informal. People even still call the official Ruby implementation 'MRI' when it's not that anymore ever since 1.9 (It's actually YARV or KRI). TBH 'Golang' is more of a search engine hack.

Regarding Perl 6 they could have done so too, but they locked in on theory and wanted to leverage Perl's heritage, which backfired hard. IMHO had they done some initial announcement like "Meet Rakudo, Perls' heir", they would have achieved the same goal with none of the drawbacks. Now the community web has built itself around the Perl 6 name so it's too late.

† I'm perfectly aware that there are significant other examples though, like Common Lisp, Haskell, C, C++ that make that distinction. But then again, many of those implementations turn out to have specifics implemented that turns the actual implementation into a slight to extensive variant of the language, which turns into its own bag of hurts. Naming things definitely is Hard.