Live data from Hacker News

Why I’m Learning Perl 6

evanmiller.org

81–90 of 380 posts

Re: Why I’m Learning Perl 6

#81
post #67
post #38

Earlier quoted context omitted.

Perl 6 still has to overcome Perl 5, which is everywhere and is a great language. I never get around to using Perl 6 because 5 is already there in every Linux distribution.

I wish Linux distros shipped with more recent language versions, e.g. Python 3.6 and Perl 6 in addition to just 3.4/5 and 5. I understand that it's not their job to try and push people to update their language skills, but it'd be nice to have access to them right off the bat if they feel like it.

python3.x vs 2.x is nowhere near the jump from perl5 to perl6.

It's basically a different language that shares some things, with few users. It would be nice to see it shopped, but you might as likely wish distribution shipped with crystal or nim.

Re: Why I’m Learning Perl 6

#82
post #63
post #26

On a sidenote > or Nginx or Node.js without the callback cacciatore. What's a cacciatore in this context? It means hunter in Italian. Probably something messy if it means the same as callback hell.

cacciatore is a style of rustic stew in Italian cooking.

"alla cacciatora" is the name of the style in Italian, that somehow got mangled in english.

Kinda like "gabagool" which is effectively an american only name for an italian product we call "capocollo".

pmontra is italian, hence the confusion.

Re: Why I’m Learning Perl 6

#83
post #28

My personal issue with Perl is how much of a mess the syntax is (10 different ways of doing the same thing), and the lack of a standard library (CPAN is not a viable replacement).

I'll take 10 different ways to do the same thing with different approaches over one "true" way with no flexibility any day.

Perl gives the programmer a lot of rope to work with. Whether one ties that rope into a drawbridge or a noose is the programmer's choice.

Also, CPAN is fantastic and widely supported. I really wish more languages would follow its example, especially when it comes to package namespaces.

Re: Why I’m Learning Perl 6

#84

Earlier quoted context omitted.

I'd like to know why people are downvoting this.

Ehh... I don't really understand the impulse to "call out" downvotes, or ask people to explain why they're downvoting something that you wrote or agree with. It's probably just my age, as I started out online when most discussion forums lacked explicit voting mechanisms. Before social media came along, and "gamified" human conversation. Maybe it helps police trolls, but at the cost of encouraging group-think and exce…

Ehh... I don't really understand the impulse to "call out" downvotes, or ask people to explain why they're downvoting something that you wrote or agree with.

Sometimes there is some really weird voting dynamic here and it would be interesting to know what goes on.

For a lack of a better word you can call it intellectual curiosity or something.

Re: Why I’m Learning Perl 6

#85
post #67
post #38

Earlier quoted context omitted.

Perl 6 still has to overcome Perl 5, which is everywhere and is a great language. I never get around to using Perl 6 because 5 is already there in every Linux distribution.

I wish Linux distros shipped with more recent language versions, e.g. Python 3.6 and Perl 6 in addition to just 3.4/5 and 5. I understand that it's not their job to try and push people to update their language skills, but it'd be nice to have access to them right off the bat if they feel like it.

The difference between Python minor versions (e.g. 3.4 to 3.6) is tiny compared to the difference between Perl 5 and 6.

From what I've seen, the difference between Python 2.x and 3.x is tiny compared to the Perl 5/6 change.

Re: Why I’m Learning Perl 6

#86
post #63
post #26

On a sidenote > or Nginx or Node.js without the callback cacciatore. What's a cacciatore in this context? It means hunter in Italian. Probably something messy if it means the same as callback hell.

cacciatore is a style of rustic stew in Italian cooking.

I would have bet that cacciatore was about food. To be pedantic, that's "alla cacciatora" but I won't be picky with Italian food terms outside Italy, it's good advertising anyway (I'm an Italian in Italy.)

Re: Why I’m Learning Perl 6

#87
post #36

I like writing bash scripts a lot and perl is a natural step-up with powerful libraries to use. As others have said, the major obstacle for me has been the lack of great literature.

There's lots of literature out there for Perl 5 (like the so-called "Camel Book"). Perl 6 literature is pretty scarce, though.

Re: Why I’m Learning Perl 6

#89
post #71

Earlier quoted context omitted.

For Python there is no native support for threads because of GIL. You can get around this through multiprocessing etc but these are hacks

Afaik erlang has a lock as well - in fact I think most green thread implementations do: what you want/need at a minimum is one os process or thread per cpu core that works as a scheduler and then some form of (co-operative) scheduling with only user-mode/low-overhead context switching?

Scheduling and locking aren't the same thing. Here's a brief excerpt from Joe Armstrong that I found on SO while looking for a good explanation.

> [Erlang] is a concurrent language – by that I mean that threads are part of the programming language, they do not belong to the operating system. That's really what's wrong with programming languages like Java and C++. It's threads aren't in the programming language, threads are something in the operating system – and they inherit all the problems that they have in the operating system. One of the problems is granularity of the memory management system. The memory management in the operating system protects whole pages of memory, so the smallest size that a thread can be is the smallest size of a page. That's actually too big.

> If you add more memory to your machine – you have the same number of bits that protects the memory so the granularity of the page tables goes up – you end up using say 64kB for a process you know running in a few hundred bytes.

With Erlang, there are threads running concurrently across multiple CPU's and a preemptive scheduler within each of those threads. This is all transparent through use of Erlang processes. Essentially, many concurrent schedulers managing hundreds of thousands of processes that start out at 0.5kb each. A JVM thread is 1024kb by comparison and a goroutine is 2kb.

You're getting legitimate concurrency with Erlang, as well as isolation. There are only so many things that a single CPU can do at the same time and that's where the scheduler becomes necessary. The scheduler also ensure that if you fire off 100,000 processes and one of them is CPU intensive that it can't hog the processor and preventing the others allocated to that processor from executing.

Re: Why I’m Learning Perl 6

#90
post #67

Earlier quoted context omitted.

I wish Linux distros shipped with more recent language versions, e.g. Python 3.6 and Perl 6 in addition to just 3.4/5 and 5. I understand that it's not their job to try and push people to update their language skills, but it'd be nice to have access to them right off the bat if they feel like it.

python3.x vs 2.x is nowhere near the jump from perl5 to perl6. It's basically a different language that shares some things, with few users. It would be nice to see it shopped, but you might as likely wish distribution shipped with crystal or nim.

Hey, it was a wish lol. I know we live in the real world here
Post reply on HN