Live data from Hacker News

Larry Wall has approved renaming Perl 6 to Raku

github.com

241–250 of 463 posts

Re: Larry Wall has approved renaming Perl 6 to Raku

#241
post #4

Earlier quoted context omitted.

Perl5 -> Perl6 has been highly contentious. Perl6 is basically a different language much to the chagrin of many Perl users. A lot of Perl users are entrenched in Perl5. FWIW: I'm unclear why people continue to use Perl at all, I moved on in 2011.

In the same boat on the "why haven't people moved on"... Perl use to be ubiquitous but over time it's really gone to the wayside vs. Python tooling for more complex stuff, and back to basic BASH for the simple scripting needs. Every time Perl comes up in a professional environment for me I'm reluctant to say I'm capable, because it's always a hacked-together mess from an engineer who's likely no longer with the compa…

> I dropped Perl from my resume about a decade ago because I just frankly don't want to work with it.

That's exactly why I've never mentioned Java on my resume (or in earlier times, Visual Basic) =D

Re: Larry Wall has approved renaming Perl 6 to Raku

#242
I find Perl 5 best for the kinds of fire-and-forget text processing scripts that are a bit too complicated for awk but not involved enough to bring in a "real" language. It's a double-edged sword - in a throwaway script it's awesome to not have to bother converting between the number 12 and the string "12", both numeric and string operators will work on them the same way. In a large project that kind of thing is just going to cause a bunch of untraceable bugs due to unidentified invisible behavior. Or you need to resort to weird hackarounds like "0 but true". Also: $_ is like that, only more so.

CPAN invented the software repository, and I'm glad it was there so PyPI/Gems/NPM/etc. could learn from its mistakes.

Every few years I tried an alpha of Perl 6, but it was always too slow and unstable to get anything real done, and it was always a totally different implementation from the previous one I'd tried. Maybe this name change shows they're getting serious now.

Re: Larry Wall has approved renaming Perl 6 to Raku

#244

From what I could tell, Raku appears to be from Rakudo, the Perl 6 compiler, which is a shortened form of rakuda-dou (="way of the camel" in Japanese). Rakudo also means "paradise". The "raku" from "way of the camel" means "camel", while the "raku" from "paradise" means "fun" or "enjoyable" (or "music"). Incidentally, it also happens to sound similar to "roku" (="six").

There was something strangely familiar about the word "raku" but it took me a moment to make the connection. In Finnish, "raakku" is a common name for the mollusc species Margaritifera margaritifera, better known as the… freshwater pearl mussel! [1] I'm really not sure if this is an amazing coincidence or yet another layer of linguistic brilliance.

[1] https://en.wikipedia.org/wiki/Freshwater_pearl_mussel

Re: Larry Wall has approved renaming Perl 6 to Raku

#245
post #242

I find Perl 5 best for the kinds of fire-and-forget text processing scripts that are a bit too complicated for awk but not involved enough to bring in a "real" language. It's a double-edged sword - in a throwaway script it's awesome to not have to bother converting between the number 12 and the string "12", both numeric and string operators will work on them the same way. In a large project that kind of thing is just…

I very much prefer "typeless data with typed operators" over Javascript's "typeless data with typeless operators" or basically any language that was forced to add ===.

Re: Larry Wall has approved renaming Perl 6 to Raku

#246
post #109
post #2

This has been a huge deal for the Perl community. First, it was thought that Perl 6 would be the replacement for Perl 5. But it was long ago recognized that there was no clear upgrade path from Perl 5 to Perl 6, so it was agreed that Perl 6 was a "sister" language to Perl 5 rather than the successor. Except that many people expected that Perl 6 would be the replacement, so that stalled many projects. So an "alias" fo…

And this might save Raku. Lisp has a social problem: It's been called Lisp too long. People look at some simplified LISP 1.5-esque thing in a programming languages textbook and see a "pure" language (which isn't so pure compared to Haskell, but the creep of what "functional programming" means is its own post) which is completely useless. They don't see modern Common Lisp with its package management facility and its p…

The social problem of the name is less similar to Lisp than I think you're making it, but I do agree it is probably not a terrible thing in the end and could be considered good. I don't think it's going to be impactful enough to "save" or not save the language (as someone mentioned elsewhere, if you called Betamax by a different name, it's unlikely the ultimate outcome would have changed).

The reason I think it's not related to the Lisp issue is because the relation of Perl 5 and Perl 6 was like an unofficial successor with a compatibility mode, like C and C++, whereas the relations between Lisps that create the social problem you highlight of people not knowing about "Real Lisp" are the relations of very incompatible forks with varied functionality running around calling themselves "Lisps" or "members of the Lisp family" and people confusing that with "Lisp". (There were some "Perl 5/6, C/C++" types of relations in the path to Common Lisp like Flavors/CLOS but no one remembers or cares about those outside of Lisp users...) Another reason is the timing, why the name change now, years later -- it turns out Perl (5) is less dead or possessing a stench of death as you put it than people might want, it's still vigorous in its own rights, and so really it makes most sense to just call the new thing by a new name and not destroy both. (Larry's wineskin comment is nice.) The Python 2/3 situation is a closer analog if we counterfactually imagine Python 3000 came out with the current 3.7 feature set, syntax updates, and backwards incompatibility. Python 2 users (me among them) would still have dragged their feet, since Python 2 would still have been useful, still had its own vigor, the same as presently, but it might have resulted in renaming some later version of Python 3 instead of the current situation of renaming the continuation of Python 2 (Tauthon).

Going back to the lisp issue to further elaborate why I think it's not very related to this one, the languages that called themselves Lisp (not a Lisp, but Lisp or Some Lisp) shared a heritage going back to the original McCarthy Lisp. The merely "a lisp" languages used that for marketing, but were actually called something different (Clojure, Scheme, even Racket which has to further distinguish itself from Scheme). You see the heritage in the actual Lisp 1.5 manual, where one of the earliest examples should quickly dispel any illusions today about "Lisp's" supposed purity when they show the function 'length implemented with a program block and goto. By only modifying the top-level function define format and substituting ADD1 with 1+, the program works to this day in Common Lisp. For members of the lisp family that don't call themselves lisp, you're not going to be able to make such a trivial transformation, because there's no shared code heritage, just a vaguely shared s-exp-ness to the syntax. And right after that the manual describes the "pseudo-function" 'trace, which to this day is lacking in supposedly modern languages or requires a bunch of IDE ceremony to set up. It's present in CL and behaves the same, though. Continuing to call CL as simply Lisp seems pretty well-deserved.

The Lisp social problem then is that people run into members of the vaguely defined lisp family like Scheme (especially with SICP formerly being a common gateway for freshmen or HS students) or Clojure and confuse "a lisp" with "Lisp". They can spread their confusion further by releasing a project/blog like "let's write a lisp interpreter!" that can be understood correctly as "let's make a program that interprets code for a lisp¹" but tends to be misunderstood (sometimes even by the author) as "let's make a program that interprets code for Lisp".

Of course I also think this "social problem" is way overstated, especially these days when it's so trivial to dispel the old myths and when the gateways via Clojure or Racket are actually good in their own right and so don't leave the same impressions of "Lisp's a neat toy" that only seeing SICP Scheme could. But if people keep talking about the problem as if it is big, perhaps it will become self-fulfilling, hence my long comment in disagreement. ;)

¹ aka a member of the lisp family based on my vague membership criteria that probably don't even pass Steele's 3-part acceptance test in https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf that requires as its final step (atanh -2) to return a complex number. (Bonus if the correct complex number.)

Re: Larry Wall has approved renaming Perl 6 to Raku

#247
post #242

I find Perl 5 best for the kinds of fire-and-forget text processing scripts that are a bit too complicated for awk but not involved enough to bring in a "real" language. It's a double-edged sword - in a throwaway script it's awesome to not have to bother converting between the number 12 and the string "12", both numeric and string operators will work on them the same way. In a large project that kind of thing is just…

Didn't CTAN predate CPAN?

Re: Larry Wall has approved renaming Perl 6 to Raku

#248
post #242

I find Perl 5 best for the kinds of fire-and-forget text processing scripts that are a bit too complicated for awk but not involved enough to bring in a "real" language. It's a double-edged sword - in a throwaway script it's awesome to not have to bother converting between the number 12 and the string "12", both numeric and string operators will work on them the same way. In a large project that kind of thing is just…

[deleted]

Re: Larry Wall has approved renaming Perl 6 to Raku

#249

Earlier quoted context omitted.

Had they done it fifteen years earlier, I think Perl could have been the language to learn for Data Science. It still is a fantastic language to slice, clean up, and extract information from text files, and it was already very widely used in bioinformatics.

I don't think the name change was the problem here, rather it wasn't complete until recently.

https://en.wikipedia.org/wiki/Osborne_effect

Re: Larry Wall has approved renaming Perl 6 to Raku

#250
post #208
post #120

Earlier quoted context omitted.

I am not that familiar with Python, but the GIL has long prevented any real in-process concurrency. Perl has concurrency but it's complex, heavy, and poorly supported. Raku's approach to this is built to avoid all these problems (like Elixir).

I agree the GIL is a problem but it's only an issue for CPU-bound problems. Is there really an important amount of CPU-bound work that is written in a scripting language? If it's CPU-bound, wouldn't you want to use something lower level?

If it's entirely CPU bound, you can use multiprocessing to negate most of the GIL issues, and transparently send inputs/outputs between the parent and child processes. If it's I/O bound, then AsyncIO is a great way to express asynchronous workflows. If it's a combination of both I/O and CPU bound workloads, there are ways to mix multiprocessing and AsyncIO to better saturate your cores without losing the simplicity or readability of Python: https://github.com/jreese/aiomultiprocess
Post reply on HN