Live data from Hacker News

Is Perl 6 Being Renamed?

blogs.perl.org

271–280 of 424 posts

Re: Is Perl 6 Being Renamed?

#271
post #130

Earlier quoted context omitted.

It's not the last version. There are two latest versions of Perl, the perl5 variant, currently at 5.30.0, and the Perl 6 variant, but they use the Microsoft convention of years in the name. Both have huge problems, perl5 being effectively dead and the most hated language amongst devs. (I'm still trying to save it via cperl though). And Perl 6 interesting (I was the parrot backend maintainer, until they ditched it), b…

Someone else suggested renaming Perl 5 to Perl 7, and that has some merits so long as it is 100% backwards compatible (no Python 3 improvements). Maybe add a few default warnings for using "ugly" features - maybe just in a linter - perhaps not affecting the runtime at all? One of TypeScript's strengths is that it is JavaScript, but you can configure tslint to help detect certain "bad" JavaScript. Or you can switch on…

perl 7 would be a major bump beyond perl 6, but perl 5 has not even caught to 10% of Perl 6 yet. This a non goal for them.

For me it's the top goal, but I'm still only at 20%.

Calling this perl7 would have been a huge joke. Renaming the thing also doesn't help with the personnel who is doing the desastrous decisions they did in the last decade. Management need to change, not the name.

Re: Is Perl 6 Being Renamed?

#272

Earlier quoted context omitted.

A lot of languages — in fact, a lot of software in general — is designed to make things easy for the computer/programmer: "This is how it works and you just have to adapt, deal with it." Larry Wall put a lot of effort into making Perl try to adapt to the way the user already thinks instead, including taking advantage of having studied linguistics to figure out how the "language" part of a computer language fits (or d…

I think there's a greater underlying dichotomy here that's relevant to your tailor-made suit analogy: the people who love Perl tend to be the people who are building and maintaining mostly only their own tooling and (usually small) codebases, and the people who don't love Perl tend to be the ones that are responsible for maintaining large piles of other people's code. A language that's "tailor-made" for the individua…

Do you have any data to back up the claim that it's "a far more expensive language to develop software in than all of the alternatives"?

I feel like most scripting languages are pretty similar in terms of productivity based on my own experiences anyway...

Re: Is Perl 6 Being Renamed?

#273
post #256
post #107

Earlier quoted context omitted.

I am a Perl user not Raku, and Perl had almost the opposite problem where its threads are concurrent but too badly designed to be useful. But from what I have seen, Raku is second to none in this capability.

Being able to do a multi-threaded map() would be divine. In Python, you're creating/destroying a new process and using IPC to seed the state info and return the results for each element in the iterable arg. If the function in question runs quickly, it ends up being faster to do it single threaded.

It's not going to be efficiently threaded like in Raku, but this is also possible in Perl 5 with a few modules from CPAN. https://metacpan.org/pod/IO::Async::Function will maintain a preforked pool of processes (on Unix) or threads (on Windows), and return Futures, which can be used by fmap_concat from https://metacpan.org/pod/Future::Utils to make a very map-looking iteration. The experimental https://metacpan.org/pod/Future::AsyncAwait will make this even more natural in the future.

Re: Is Perl 6 Being Renamed?

#274

Earlier quoted context omitted.

SBCL is not Common Lisp. ChickenScheme is not Scheme, nor is guile Scheme. GCC is not C. V8 is not JavaScript. Neither is SpiderMonkey. clang is also not C. tcc is not C. Visual C++ is not C or C++. Delphi is not Object Pascal. Pypy is not Python, nor is Jython, nor is Stackless Python, nor is IronPython. JRuby is not Ruby. yasm and fasm are not x86 assembly or x86_64 assembly or ARM assembly. I'm seeing a pattern of…

Here's the difference. If I said "what's an implementation of Common lisp?" You'd say SBCL. If I Said "What's an implementation of C" you'd say GCC. If I said "What's an implementation of Javascript?" You'd say V8, Spidermonkey, etc. When I ask "What's an implementation of Perl6" The answer is "Nothing implements perl 6, isn't that wonderful!" It used to take forever diving around to find something that could run som…

Right now rakudo with MoarVM is for all intents and purposes the main implementation of Perl6. The rakudo frontend also works with the JVM. There's work to make it work with JavaScript as a backend. It is in a continual state of being really close to the latest spec, but right now the spec is undergoing versioned revision too.

Niecza is an implementation of Perl6 which targets the CLR. Last I checked it lagged rakudo a bit but was still being updated and maintained.

There are other, independent implementations of Perl6. There's STD.pm which implements Perl6 in Perl6 and uses viv to transliterate portions of itself into Perl5.

Pugs is last I checked dormant, but it was an independent implementation of Perl6 in Haskell.

So if someone asks for an implementation of Perl6, they probably want rakudo. Just like if someone asks about an implentation of Ruby they probably want CRuby / MRI unless they for some reason don't. Ruby, however, doesn't really have a language spec so other Ruby implementations like JRuby chase MRI compatibility. This was a problem with Perl5 which was defined by its primary implementation. Python has the Python Language Reference for alternate implementations like IronPython and Pypy to develop against, much like the R5RS and R6RS Scheme documents. This is why Perl6 the language is defined by the spec - so multiple implementations can compatibly exist.

Re: Is Perl 6 Being Renamed?

#275
post #192

Earlier quoted context omitted.

Do you have some articles or reading that you'd recommend on Software Marketing vis-a-vis Perl?

No - I'm just saying that it objectively gained a lot of popularity because they did some things right, and then lost it again because they got some things wrong. Of course part of that is technical, but part of 'marketing' is understanding what your users want and delivering it to them. This article I wrote about Tcl a while back is what I'm talking about: https://journal.dedasys.com/2010/03/30/where-tcl-and-tk-went…

> I'm just saying that it objectively gained a lot of popularity because they did some things right, and then lost it again because they got some things wrong.

Yeah, but you keep pointing to things that are exactly like many successful projects as wrong, like having a different name for the language vs. an implementation vs. backends used by the implementation.

I will suggest that the two things they actuallt got wrong were:

(1) Calling it “perl”, and

(2) Taking forever.

And, really, those two in combination: even being as distinct as it is, had it stabilized in a reasonable period of time, and had once it stabilized a reasonable transition path been provided, it might have been another Python 2 to Python 3 problem, but not a complete disaster. Conversely, ha for been a new experimental language and not “Perl 6”, taking forever to stabilize would have been more tolerable.

Re: Is Perl 6 Being Renamed?

#276

Earlier quoted context omitted.

> if you insist on a language that is Perl-like but also modern Here's your perennial reminder that the word "modern" is a thought smell. > it's a language with a small ecosystem that doesn't seem to provide any groundbreaking advantage compared to existing languages I'd almost prefer this conception went uncorrected, because Perl6 is not just Ruby or Python in different clothes, and it's not just Perl5 with nicer ae…

Sorry, what is a "thought smell?" Not familiar with the term and can't find it elsewhere.

It's an idiom.

"this smells off" -> nonspecific indication that something might be wrong "code smell" -> nonspecific indication that something might be wrong with software code "thought smell" -> nonspecific indication that something might be wrong with a way of thinking

Re: Is Perl 6 Being Renamed?

#277

Earlier quoted context omitted.

As per usual, the GP sees the matter from a purely technical perspective, which occludes the larger business insight that the top-level comment provides.

I very specifically pointed out that some of it was based on the relationship between the projects. I wasn't defending the situation, as much as providing context of why it was done that included non-technical reasons. To spell it out, Parrot the project started around the same time as Perl 6 the project. Initially, a lot of Parrot's purpose in reality was to be a VM for Perl 6, but Parrot also had a goal of being a…

As parrot maintainer I could explain what caused the downfall: Stupid people.

It was a CPS compiler, but after they drove the first creators away, a bunch of people who had no idea about compilers nor CPS started destroying it. First the destroyed the jit. The technical justification was bullshit. Then they destroyed the run loops, and finally the CPS (2007 YAPC workshop). This caused every function call to allocate 2 objects, continuation contexts were not reused anymore, but created on the fly for every call. After this desaster they gave up (their new idea was to create a 2nd LLVM, called something with m), and I came back to cleanup the mess. I readded the compiler optimizations, added proper lock-less threading (their current VM is lockful) and started fixing the CPS, the run loops, the GC and the Jit. But before that they decided to kill it off, and rewrote everything by themselves. But not as committee anymore and without the previous leadership, which was a very good decision. It's still a very naive architecture still, that's why it's even slower than python, the slowest scripting language on earth.

Realizing that this is futile, I started improving perl5 towards perl6 instead. Just without breaking backcompat. perl11 (5+6)

Re: Is Perl 6 Being Renamed?

#278

I think it was CPAN that killed Perl, at least that was a major nail in the coffin for me. I have no idea what the CPAN of today is like, but back in the mid-late 90's it was horribly unreliable. There were dozens, if not hundreds of modules that did the same thing, and a lot of them had major bugs. But installing one was the big issue, as it would always choose the latest release of any module in the dependency chai…

> I have no idea what the CPAN of today is like, but back in the mid-late 90's it was horribly unreliable. There were dozens, if not hundreds of modules that did the same thing, and a lot of them had major bugs.

Well, the main change is that between then and now, other languages have setup modules depositories / package managers which are even more of a mess, so in comparison CPAN doesn't look bad any more. :-)

Re: Is Perl 6 Being Renamed?

#279
post #154

What did Perl do better than others when it came out?

It was shell scripting with reasonable arithmetic and an incredibly good support for text consumption and regular expressions. Everything you'd miss on a normal shell. But it scales only slightly better than sh into large programs.

I see.

Would you consider Bash on-par with Perl?

Re: Is Perl 6 Being Renamed?

#280

Earlier quoted context omitted.

> 3. The insistence on branding sub-components of it and exposing that branding. Yes, it has a VM. Yes, it has a compiler. But why do people talk about ParrotVM and Rakudo as if they're different things? Java has a compiler and a VM, they're called "javac" and "jvm." This wifty "no, Perl 6 is the standard, the software you're running is Rakudo and Parrot" distinction is totally irrelevant to anyone actually wanting t…

# copy stdin to stdout, except for lines starting with # while left_angle_right_angle: if dollar_underscore[0] =eq= "#": continue_next; } print dollar_underscore; } Hilarious...

The opening block with `:` and ending block with `}` literally killed me.
Post reply on HN