Live data from Hacker News

Perl and Undecidability (2008)

jeffreykegler.com

51–60 of 127 posts

Re: Perl and Undecidability (2008)

#51
post #49
post #47

Earlier quoted context omitted.

>Perl is not competing with C++; they're entirely different languages with entirely different usecases. Yes, I understand that C++ does not compete with Perl. My point is the rejuvenation stories, not the runtime or use case differences. I use a utility every day called ExifTool[1] that's 100% Perl source code or very close to it. However, ExifTool does not keep Perl at the top of mind the way Tensorflow brings Pytho…

> Yes, I understand that C++ does not compete with Perl. My point is the rejuvenation stories Well, the way C++ had new versions released in 2017 and 2014, Perl 5 had new versions released in 2017 and 2016; what stagnation are you demonstrating? You said "updates to C++ via C++14 and C++17 were discussions that turned into reality"; and the same thing happened with updates to Perl 5 (which is the language "Perl" is u…

>what stagnation are you demonstrating?

Mindshare.

I thought it was clear that my rejuvenation examples were not about point releases or size of cpan but rejuvenating the mindshare of programmers.

Instead of my words getting misinterpreted and we keep going around in circles, let's try to bypass that and turn the question around:

What is your explanation of why Perl has declined in mindshare and is one of the most disliked languages in programmer's survey?

Re: Perl and Undecidability (2008)

#52
post #8

Earlier quoted context omitted.

>how Perl managed to become quite so profoundly disliked I'm guessing the reasons are actually more conspicuous than computer science concepts of "undecidability" since most working programmers don't read academic papers to judge whether they like/disklike a programming language. The conspicuous reasons seem to be a combination of: 1) PERL's usage of sigils.[1] One the one hand, it makes code compact and terse . On t…

Why do you write it in all capitals?

[deleted]

Re: Perl and Undecidability (2008)

#53
post #51
post #49

Earlier quoted context omitted.

> Yes, I understand that C++ does not compete with Perl. My point is the rejuvenation stories Well, the way C++ had new versions released in 2017 and 2014, Perl 5 had new versions released in 2017 and 2016; what stagnation are you demonstrating? You said "updates to C++ via C++14 and C++17 were discussions that turned into reality"; and the same thing happened with updates to Perl 5 (which is the language "Perl" is u…

>what stagnation are you demonstrating? Mindshare. I thought it was clear that my rejuvenation examples were not about point releases or size of cpan but rejuvenating the mindshare of programmers. Instead of my words getting misinterpreted and we keep going around in circles, let's try to bypass that and turn the question around: What is your explanation of why Perl has declined in mindshare and is one of the most di…

My point was that the fact that C++ (like Perl) has had multiple updates in the past few years, and that Nvidia chose C++ instead of Perl as the primary language for an API are not evidence of Perl's decline. Perl 5 receives more frequent updates than C++, and C++ is being used where it makes sense and where Perl wouldn't have been used even when it was the new hotness. How is that evidence that Perl has fallen off?

I'm not saying that Perl's popularity hasn't greatly declined, I'm just saying that the evidence you're offering for it isn't evidence.

Re: Perl and Undecidability (2008)

#54
post #38

[not trying to hijack the discussion, but I think a meta-discussion is in order based on comments I've seen on this article] The article is about whether or not you can actually parse Perl without running Perl to parse itself. One of the benefits/drawbacks to Perl is that it lets you run the interpreter at compile time, thus resulting in the possibility of an infinite loop preventing compilation. Which makes some peo…

Some tools are appropriate for particular situations. Most are better off being entirely replaced. There are thousands of programming languages out there, while the ideal toolbox would contain dozens at most; our industry badly needs some pruning. We need to have these conversations, and they're not going to be easy precisely because we're emotionally attached to our tools, but frankly if you're really so detached as you claim you shouldn't have a problem with people attacking Perl. These discussions are not as evidence-based as we'd like because the evidence simply isn't there, on either side; anecdotes are not the ideal way to learn, but they're a lot better than nothing.

> The data used as evidence are StackOverflow analyses, or Tiobe scores, or, insert additional popular, and often self-selected, data sets. You have to make specific assumptions about some of the data presented to be able to accept it, such that each community has about the same rate of people searching for answers on SO, or other places. Or that the searches will have relevant terms in the in each case.

> This is a stretch to put it mildly. If I google for DBIx::Simple, and this search is caught by one of these filters, will it show up in Perl or not? I can't actually answer this. I have to refer to what the collectors of the data say on their own methodology [1][2]. I am not saying that there are not secular changes throughout the industry, or that various observed gross trends are "wrong". What I am saying is be careful reading into these analyses too strongly, as they may not be measuring what you think they are measuring.

No measure is perfect, but we're seeing similar trends from multiple sources and they align with my own experience as well. I don't see any value in throwing shade on the measures we have. If you have specific criticisms or reasons they might systematically favour one language or another then by all means post them; otherwise this reads like rearguard sowing doubt because you don't like the results.

> In many cases, over the last 20 years or so, I've seen folks pushing Python happily talking up why they left or abhor Perl, usually saying/quoting things they've heard. From my own experience, Perl 4 and onward, much of what they complain about was Perl 4 or before. Likely before many of them started programming. That is speculation on my part, but it does appear to fit what I've observed.

Now you're the one bashing for self gratification. Is it so hard to believe that people might genuinely have bad experiences with your preferred language?

> I am comfortable and competent in 5-6 at any one time, and can easily work in Python, C, Julia, Node, etc. w/o major issue (though with google nearby for things I don't have on the tip of my memory).

Those are pretty similar languages, or at least admit a similar style of programming; if you want a good toolbox you'd do better to learn a smaller number of more radically different languages. 5-6 languages is far too many to know particularly within a narrow range like this; I'd bet that you're not writing idiomatic code in many of them. I used to pride myself on knowing a large number of languages; now I've realised being able to do more in one language is much more useful.

Re: Perl and Undecidability (2008)

#55
post #41
post #11

Earlier quoted context omitted.

Actually the problem has more implications, as it's an effect of parsing the code. Any IDE:s that have advanced features that rely on parsing and analysis of the code can be caught in an infinite loop and stop responding. The sad part is, in the general case it's impossible for the parser (or any other process overviewing it) to decide if it's actually caught in an infinite loop or not, that's why they call it undeci…

In theory, yes. Of course in practice, it's not so bad: they can run the parser in a different thread, they can put hard limits on how long they run, etc. (The hard limit is how C++ gets parsed, I think. Since parsing C++ is also undecidable thanks to weird interactions with template metaprogramming.)

Yes, templates are turing complete.

https://github.com/knome/metabrainfuck/blob/master/bf.cpp

Does attempting to autocomplete such a template cause issues for IDEs? I used emacs when writing it, so I've never tested such a thing.

Re: Perl and Undecidability (2008)

#56
The same holds for every better dynamic language with compile-time evaluation. E.g. LISP with its reader macros. Even if LISP is trivially parsable, it still provides parse-time hooks which can lead to undecidability.

It's a feature, not a problem.

Re: Perl and Undecidability (2008)

#57
post #10

It's worse than that. You can't parse Perl without running arbitrary Perl code: https://www.perlmonks.org/?node_id=663504

So? It's not that uncommon for highly dynamic languages to do this. Lisp macros for example depend on being able to run arbitrary code at compile-time.

Well, for one thing, it really shortens the discussion if you take advantage of it. For all languages that require arbitrary code execution in that language at compile time in order to be parsed, parsing therefore is Turing complete and therefore has all properties of Turing completeness, including undecidability. QED.

Re: Perl and Undecidability (2008)

#58
post #36

C++ is also undecidable, by the way: http://blog.reverberate.org/2013/08/parsing-c-is-literally-u... Perl was a great language design lab experiment. They gave people 20 ways to do any simple thing, and then Matz and Guido looked to see which ways became popular and designed great languages that allow only those ways and maybe 1-2 more that are highly frowned upon. I'm almost as glad Perl exists as I am that I never…

I don't think the language design influence of Perl on Python was as strong as you imply. (Not that there's no influence.) Certainly the influence on Ruby was larger. Also, I seem to recall the Perl5 object model was influenced by Python.

Yeah, Perl was released in late 1987, Python in early 1991.

So the design of Python wouldn't have been influenced by long experience with Perl.

Re: Perl and Undecidability (2008)

#59
post #44
post #36

Earlier quoted context omitted.

I don't think the language design influence of Perl on Python was as strong as you imply. (Not that there's no influence.) Certainly the influence on Ruby was larger. Also, I seem to recall the Perl5 object model was influenced by Python.

I don't think the language design influence of Perl on Python was as strong as you imply. I think the influence was mainly in Guido looking at Perl and realizing he wanted a language that didn't look like that. I'm pretty sure the Guido has said that ALGOL 68 and Pascal was probably the biggest positive outside influences (together with some in-house language called ABC that he was using at the time)

Guido was a designer of ABC.

Re: Perl and Undecidability (2008)

#60
post #53
post #51

Earlier quoted context omitted.

>what stagnation are you demonstrating? Mindshare. I thought it was clear that my rejuvenation examples were not about point releases or size of cpan but rejuvenating the mindshare of programmers. Instead of my words getting misinterpreted and we keep going around in circles, let's try to bypass that and turn the question around: What is your explanation of why Perl has declined in mindshare and is one of the most di…

My point was that the fact that C++ (like Perl) has had multiple updates in the past few years, and that Nvidia chose C++ instead of Perl as the primary language for an API are not evidence of Perl's decline. Perl 5 receives more frequent updates than C++, and C++ is being used where it makes sense and where Perl wouldn't have been used even when it was the new hotness. How is that evidence that Perl has fallen off?…

>Perl 5 receives more frequent updates than C++,

But it's not just quantity of updates. It's perception of the updates and what new things they bring to the table. Surely you're aware that many Perl programmers abandoned the language in between Perl 5 and Perl 6 because they felt it was getting neglected. (There's also a long post from a ~20 year Perl veteran (forgot his name) of one of the famous libraries on HN explaining his reasons for leaving Perl before Perl 6 but I can't find it at the moment.) How do we reconcile why they thought Perl was stagnating even though it was getting frequent updates?

This was the opposite perception of C++11, C++14, C++17 where many programmers were complaining that it was getting too many features and getting too complicated.

>Perl wouldn't have been used even when it was the new hotness.[...], I'm just saying that the evidence you're offering for it isn't evidence.

Ok, I shouldn't have derailed the discussion by giving the impression that NVIDIA SDK could have been Perl. The main idea is that old languages other than Perl are getting in the news for new domains.

Let me be more generic: There is no new rejuvenation stories where was chosen by a new computing domain help keep it relevant and keep it from being "disliked" by programmers. Is that wording more acceptable and suitable evidence of Perl's decline?

I'd also still like to get your opinion of why Perl has declined in mindshare and is one of the most disliked languages in programmer's survey.

Post reply on HN