6 ms·
Raku Perl 6.d [pdf]
- kbenson 8y agoThis is an interesting bit that HN seems to discuss a lot: Some community members believe "Perl 6" is a very confusing name: it uses a digit as part of the name and it conflicts with the name of a sister language "Perl". Some outsiders don't realize "Perl 6" is a brand new language—vastly different than "Perl"—and so avoid it, thinking they know what it is already. At the same time, some who love "Perl" come to "Perl 6" and feel tricked, because the language isn't the next release of that language, but an entirely different one. To clear up the confusion, Larry Wall created a second name for the language, a "stage name" if you will. That name is "Raku". It can be used interchangeably with the original "Perl 6" name or even be combined with it to form "Raku Perl 6". Pick the one that works the best for you and use it consistently
- justinator 8y agoThis is such a blunder in naming in a line of blunders that is this language. So we have, * Perl 6 * Raku * Raku Perl 6 and we're told to, "Pick the one that works the best for you and use it consistently". And don't forget there's, Rakudo, a compiler for Perl 6 -aka- Rakudo Perl 6 Compiler If you wanna rename things, fine - just do it, don't do this halfsies thing. Don't make the name collide with something else, especially in a very related project.
- haolez 8y agoIt might be a good idea, regardless of the confusion that this can cause in the short term. Do you have any suggestion of a better "fix", apart from choosing a more appropriate name at the time of its inception?
- justinator 8y ago"Raku" sounds fine with me - just rename it. Deprecation time where the name is known as, "Kaku (formerly: Perl 6) for the next year until Raku.e (or whatever they call it) comes out.
- kbenson 8y agoMy initial thoughts were womewhat similar. Raku when there's already a Rakudo? I guess the reasoning is that they don't want to impart some special status to Rakudo, but they might as well if it's this close. For the last few years I've actually been of the opinion that if they were ever going to change the name, making it Rakudo would make the most sense. Just make Rakudo the reference implementation of the Rakudo language (the language formerly known as Perl 6), and call it a day. Actually, the more I think about it, using "Rakudo (the language formerly known as Perl 6)" as a descriptor would probably do the best job encapsulating what it is succinctly. It was a continuation of Perl, but now it's its own thing. As opposed to "Perl 6", which doesn't really convey how radically different it is. I'm not really one of the "Perl 5 needs to reclaim the Perl 6 name" camp, even though I'm a full time Perl developer and have been for close to two decades. Perl 5 will do what Perl 5's going to do, and freeing up the Perl 6 name won't help all that much with that (it's not like there's enough changes worth making a Perl 7 from, and a purely marketing driven name change would just be laughed at). It might actually be more beneficial to Perl 6.
- justinator 8y agoI think it's also time to just call it on Perl 5: It's a dead end: no one can work with the internals unless you're a wizard, and getting the porters to decide on any large features is impossible (function signatures, anyone?), and the, "experimental" pragma is broken. Is it still useful? Damn right it is, but there's not going to be a Perl 5++. Speaking as someone who's been writing Perl since oh, 1997 or so. So another multi-decader (and no plans of stopping) - where do we all meet? At the bar?
- smueller1234 8y agoI don't think working on the perl5 internals is quite as hard as you make it sound. Yes, there's brittle dependencies between many parts. Yes, it's a very complex piece of software (and in intrinsic and implementation specific ways). But the single biggest barrier for Perl devs to hack on it is that most of them aren't also great C programmers. To wit, I'd tried many times to get the hang of it as a Perl dev and struggled. After I learned C properly for unrelated reasons, the nextb attempt went swimmingly. I've also seen folks show up on the porters list and get up to speed in just a few weeks. Now, I'll concede the point regarding language design though: the Perl 5 Porters have become very conservative wrt language evolution. I used to be highly skeptical of this (I convinced folks of strict by default in 5.12 and oh how much I lobbied behind the scenes for fully @_ eschewing function signatures!) but since we made a number of blunders in such changes in the decade prior, I understand the conservativism.
- 3rdAccount 8y agoI've been in hundreds of P6 conversations and it is always such a bummer to see that this is always the number 1 thing discussed. Not the merits of the language, not the grammars, or concurrency, MOP, functional and OO syntax, junctions, running multiple languages, gradual typing, restricting inputs with types, Unicode....none of that. The fact that it is always brought up to me makes me think they should've just called it something entirely different. Hindsight is 20:20 though.
- s_kilk 8y ago> Hindsight is 20:20 though. Well... a lot of folks saw this coming. As you say, it's been brought up again and again, since the start. Foresight is also 20:20, if the right people are willing to listen to what's being said.
- zeade 8y agoThis sounds exactly like a Larry Wall solution, especially the "use interchangeably" and "pick the one that works the best for you" parts.
- fasquoika 8y ago"There's more than one way to name it"
- petre 8y agoI like Larry Wall solutions. Why just throw away a perfectly working implementation when people are still using it and maintainers are still motivated to work on it? Why not do a new spec which improves on the old one and if it's succesful people will switch anyway. It allows the language to evolve while it also doesn't force users into the new thing against their will. None of that "Python 2.7 is going to be EOL in 1/1/2020".
- bionoid 8y ago> I like Larry Wall solutions. Me too, historically anyway, but I'm not a fan of this half-way approach. Someone explicitly requested that Larry create an alias for the language [0]. > If another name is truly as superior as the full-rename proponents claim it would be, I believe the alias can become a defacto name through its sheer amount of use. Thus, the creation of the alias can be seen as a means for the full-rename proponents to prove their claims. Emphasis mine. Among other things, this does not compute for me. Adopting three names for the language (Raku, Raku Perl 6, Perl 6) is the exact opposite of what the full-rename proponents are suggesting. You're not giving them an opportunity to prove their claims, you're giving them the middle finger. Or that's how it seems to me, anyway. [0] https://rakudo.party/post/A-Request-to-Larry-Wall-to-Create-a-Language-Name-Alias-for-Perl-6 https://rakudo.party/post/A-Request-to-Larry-Wall-to-Create-...
- petre 8y agoPerl 6 is still Perl and the name was in use for quite some time, so an alias makes better sense rather than a full rename. Full renames are annoying. Just look at ECMAScript. Is anyone using this name? No, everybody's still using JavaScript. People are only using ES5/6/7 when they refer to the specification. The name stuck. It's too late now. And people are needlessly wasting too much energy over a name. “There are only two hard things in Computer Science: cache invalidation and naming things.” -- Phil Karlton
- rurban 8y agoFrom all the 6d changes and features already implemented in cperl, the only one intersection, the default value of Num was chosen correct by cperl: 0.0 and not NaN as chosen previously by rakudo. So no new incompat's and deviations.
- tyingq 8y agoSame info as plain text, if a PDF doesn't work well for you: https://github.com/perl6/roast/blob/master/docs/announce/6.d.md https://github.com/perl6/roast/blob/master/docs/announce/6.d...
- msla 8y agoThank you. Hacker News is really inconsistent in marking PDFs.
- claydavisss 8y agoI applaud the perl6 folks for bringing experimentation and FUN back to dynamic languages. Perl6 is a hoot.
- tyingq 8y agoI love Perl5, and would like Perl6 to succeed. I just don't see it happening though. It took this long for the features to settle, but now people will wait for the performance to improve. In the meantime, the userbase has left for Ruby or Python or something else. Interesting thread from this summer: https://www.reddit.com/r/perl6/comments/8p26bb/is_perl6_faster_than_perl_5_on_average/ https://www.reddit.com/r/perl6/comments/8p26bb/is_perl6_fast...
- Ultimatt 8y agoThat was 5 months ago. A lot happens in this space in two weeks let alone half a year. Rakudo is released monthly still, with quarterly(ish) distribution releases. An example bit of insight: https://github.com/rakudo/rakudo/search?o=desc&q=fast&s=committer-date&type=Commits https://github.com/rakudo/rakudo/search?o=desc&q=fast&s=comm... That's just the compiler rather than VM or NQP level, where you will see even more performance related work. One of the bigger breaking changes in 6.D at the language spec level is for performance of scheduling multi threaded work. https://github.com/rakudo/rakudo/pull/1004 https://github.com/rakudo/rakudo/pull/1004 The main canary test for performance used by the community is the Text::CSV module. The vanilla Raku implementation is about 2x slower than the C wrapping Perl equivalent. The nice property of the Raku library is you can run it in parallel quite trivially and then its suddenly faster than the Perl version. In general the simple introduction of hyper/race keywords into user code is a big win for performance, but perhaps not cost. There are a tonne of features of the language specific for performance most people walking through the door aren't so aware of. Native type decorating your code and variables for example, usually invokes significant improvements to numeric work. The JIT does some of that automagically but simple issues like your code implicitly switching between rational and floating point types will break optimisation. If you don't say what you really want to do Raku always assumes you want to do the safest and usually slowest thing like use bignum or rational type things, that are harder to speed up down at the CPU.
- deleted 8y ago[deleted]
- carlmr 8y ago
- liveoneggs 8y agothe depth of perl6 is shocking and easy to get lost in (in a good way). It's the sort of thing you could spend a lot of time mastering and really learn something new constantly. I think the sheer number of concepts mashed together (pretty well) is very educational.
- athenot 8y agoFinally! Marketing is important, even for a programming language. First, coming up with a new brand name will go a long way to get rid of the conflation with Perl 5. Raku sheds that confusion; even though for now we all know it's Perl 6, this helps the language take a direction of its own and progressively stop the instant association with Perl 5. (This is the opposite of LiveScript which was renamed to JavaScript to mentally associate it with Java during its prime hype days. Either way, it's a tweak on the mental association.) Secondly, the PDF is very well put together. This is much nicer than your typical release notes cobbled together from git commits: it's actually pleasant to read. (Though if you really prefer an HTML version, that's also available: https://github.com/perl6/roast/blob/master/docs/announce/6.d.md https://github.com/perl6/roast/blob/master/docs/announce/6.d...) Finally, the site https://marketing.perl6.org https://marketing.perl6.org also seems to have other material that's pretty well put together. As someone who is not immersed into the community, this helps promote the feeling that the project is vibrant. (Side-note: they should get a domain to reflect this.) Yes there's waaaay more to a language ecosystem than marketing, but I'm glad to see this effort.
- arthurz 8y agoWhere are the Windows binaries?
- stevebmark 8y agoIt's interesting that this language won't die. To me Perl is a great course in how not to design a language. And Larry Wall somehow seems to default to being wrong about design choices. Perl is one of those things that people spend a long time learning and pride themselves in it, not realizing what they're learning is useless. Only Ruby seems to be worse, but at least it has fewer sigils.
- SwellJoe 8y agoSo, which language(s) have you designed that exhibit good choices?
- carlmr 8y agoI don't think you need to design your own language to criticize another. I think Rust and F# are great language designs. I think Perl (5) and JavaScript are terrible. Python is somewhere in between (I'd like the typing system to be optional but actually checked, I think the module system is broken, the only reason I use it is because of very good libraries). TypeScript makes JavaScript usable actually enjoyable. Just by using a language you will find a lot of design choices that you either like or don't. There's no reason that you need to design a language to criticize the choices made in a a language.
- hpcjoe 8y agoIMO, Julia[1] is Python done right, without all the annoying bits of python, and (much) faster. Perl is (still) a fantastic language to use when you have complex tasks and don't want to spend more time on boilerplate and specific formalisms of the language, than the problem space. Perl is still (as in has been for many years) the goto language for a number of difficult problems. If your tooling is helping you write in the tool versus helping you solve your problem, you might be using the wrong tool. Perl is not for numerics for a number of reasons. Javascript isn't either. Python is ... well ... python. It's the MSBASIC of the 201x years. As my comment above noted, I believe that Julia will quickly replace Python, as it has a saner syntax, trivial library integration, great package/module system (though the 1.0 transition has been bumpy with mass deprecations that could have been handled better), is compiled, has an optional strong type system, works in parallel out of the box (no GIL), ... edit: included missing reference. [1] http://julialang.org http://julialang.org
- msla 8y agoDoes Hacker News not mark PDFs anymore?
- pmarin 8y agoI think the app only check the URL, the rest is manual editing. The original news server only marked pdf on the scribd site [1] [1] https://github.com/arclanguage/anarki/commit/a939a35c03c469dcf777b524a88dde2cd8c0f569 https://github.com/arclanguage/anarki/commit/a939a35c03c469d...
- stesch 8y agoSomeone's always playing programming language games Who cares they're always changing programming language names We just want to dance here, someone stole the stage They call us irresponsible, write us off the page
- bigbluedots 8y agoPerl 6 would have been great had it been released 10 years ago. I'm surprised that people continue to put their time into it, I don't think it's going to see much adoption now
- _sveq 8y ago"Raku" is the name I'm going with. Raku programming language. Now when is it going to be installed by default on OSes?
- oblio 8y agoConsidering that Python 3 is barely getting installed by default on OSes (Arch were the pioneers, doing it very early, but everyone else either did it 5+ years after the Python 3 launch or haven't done it yet, 10+ years after the launch), I wouldn't hold my breath. And Python is a much popular language, compared with Perl, plus the Python 2 -> 3 changes were much smaller than Perl 5 -> 6. I'd venture to say that besides some very niche distributions, Perl 6 will never be included in the base installations, unless it gets some killer app.