Live data from Hacker News

Perl 5.26.0 released

nntp.perl.org

141–150 of 165 posts

Re: Perl 5.26.0 released

#141
post #99
post #59

Earlier quoted context omitted.

The CPAN argument for choosing Perl was relevant about 10 years ago but if you look at http://modulecounts.com you'll find Ruby, Python, PHP, JS and Java have an order of magnitude more libraries to choose from. CPAN is not __huge__ by today's standards. Drupal alone has the same number of modules. The declining community also means many of the libraries on CPAN are unlikely to be maintained.

Hum, depends upon your definition of what's a module. from cpan.org front page: The Comprehensive Perl Archive Network (CPAN) currently has 186,953 Perl modules in 35,278 distributions, written by 13,095 authors, mirrored on 248 servers.

[deleted]

Re: Perl 5.26.0 released

#142
post #3

Guys I am genuinely asking this and I have zero intent on bashing on Perl. What is the position of Perl industry right now? how much it can compete with Python. Where does it compete? is it on losing side ? P.S. I am student and I have no real perspective on what is going on in industry right now.

I've been using Perl for years, it's a pretty neat language. It can seem a little esoteric at first, but once you get into Perl it's pretty intuitive. I don't know how many times when I was learning it the I thought "this seems like this should work", tried it and it did. I'm not bashing any other languages (I think it's pointless, the "best" programming language it the one that makes you productive) but Perl definitely has it strong points:

- Great for sys admin stuff. Working with files and external programs is a breeze. *NIX administration is how I got into Perl. Perl is a devops friend.

- Handy for processing anything text based. Tedious tasks like screen scraping is straight forward.

- Versatile. Don't like X in Perl? Someone else probably thought the same thing and made a module for it. Even low level stuff like Perl subroutines and OO have alternatives. As they say in Perl TIMTOWTDI (there is more than one way to do it).

- So many modules! Write less code and get stuff done fast.

- Low level voodoo is easy. Perl exposes many of the internals of the interpreter so things like adding grammars and making DSL's doesn't seem like voodoo.

- Multi-paradigm. Doesn't force a programming style on you.

- Complex data types.

Not that everything is unicorns and rainbows in the world of Perl.

- Some features/syntax can feel outdated or seem "clunky" for lack of a better term.

- Versatility is a double-edged sword. You can write code so bad/evil it can summon an elder god and Perl will happily execute it.

- So much punctuation!

If your new to the world of Perl, try out Perl 6. It has all the cool features of Perl 5 and ditches most of the weird stuff but has all the modern features you would expect from other new(er) languages.

Re: Perl 5.26.0 released

#143
post #139
post #126

Earlier quoted context omitted.

For me it's quite the opposite: knowing Perl I have little incentive to learn Python; the syntax is quite different, it uses significant whitespace that can easily change the logic. With Ruby it's different because Matz was inspired by Perl and the language is quite ellegant. Too bad it's equally slow. Maybe if mruby/crystal changes that it would be a nice language to learn.

With TruffleRuby, Graal and Substrate VM all aimed at improving Ruby's speed I wouldn't write-off Ruby purely on performance. JRuby has also recently made great strides in performance.

Well okay but Jruby/Truffle is a JVM language. I just want an interpreter + code, or a binary to drop anywhere. Mruby is fast but you have to build modules into it at compile time. It would be nice if it had something like LuaRocks. Anyway, Ruby is doing fine, there is much innovation going on.

Re: Perl 5.26.0 released

#144
post #67

Earlier quoted context omitted.

We are using it in production. It gets the job done. Looking forward to a Perl6 stable release. It is stable but Rakudo still needs a bit of polush. Also it doesn't have the amount of modules Perl5 has. What it does have however, is precise arithmetic because numbers in Perl6 are internally represented as rationals. https://docs.perl6.org/type/Rat

Part of Perl 6's current problem is that it doesn't have a real CPAN equivalent yet. Hopefully that'll be fixed soon.

https://modules.perl6.org/

Although it's merely a list. But you have zef, an installer that pulls and installs modules.

Re: Perl 5.26.0 released

#145

Earlier quoted context omitted.

Most people who understand what a can of worms those systems are start leaking a little grey matter from their ears when someone mentions the phrase "Unicode Regex". I have mental images of driving a wildly overpowered monster truck with no brake lines over a minefield. And then I start to consider the implications of passing the /i flag in...

Yes, and that's the reason why it's important to choose a tool that gets Unicode correctly. Perl is an example of such a tool.

Even if the language handles it correctly the lowly programmer is playing with white hot fire. Unicode adds so many edge cases it's basically a serrated knife in the middle of your code.

Will your regex match correctly in the case that the text shifts direction halfway through? Will the case insensitive search work in languages where case is ambiguous (where uc(lc(x)) != x)? Will you be able to match letters that are effectively identical but on different code points? Do you want to? Will it get confused by furigana?

Unicode's goal of encoding every language in the world as is means it encompasses every bizarre thing people have ever done to a written language. It is almost impossible to actually do anything with a block of unicode codepoints except treat it like a big binary blob and hope that you never have to personally deal with the strings contained therein. Most everybody gets it wrong in one way or another.

Re: Perl 5.26.0 released

#146
post #144

Earlier quoted context omitted.

Part of Perl 6's current problem is that it doesn't have a real CPAN equivalent yet. Hopefully that'll be fixed soon.

https://modules.perl6.org/ Although it's merely a list. But you have zef , an installer that pulls and installs modules.

"Although it's merely a list"

Hence why I feel that a proper CPAN equivalent does not currently exist. The Perl 6 website even admits such.

Still, it does work reasonably well for now.

Re: Perl 5.26.0 released

#147
post #138

Earlier quoted context omitted.

"In a few years nobody will use perl5 anymore, everybody will use cperl instead." That seems like an awfully bold claim. cperl is great, don't get me wrong, but if I'm going to move away from Perl 5 to a different Perl I'd rather just move to Perl 6 (and, in fact, I already have for some of my latest pet projects; so far, I've been very impressed).

Perl 6 is a different language, no chance for a replacement. It's also much slower and unusable for professional usage. cperl is a not a different perl, it's a perl5 replacement, which is faster, more secure, less bugs and more features. types and using a modern perl is optional. 90% of the vm and toolchain is unmaintained by p5p, and taken over by cperl.

"It's also much slower"

Perl was never intended to be fast for computers. It was intended to be fast for programmers. Perl 6 does a pretty darn good job of that, and additionally already has working and easy-to-use C/C++-compatible FFI that I can use today to offload things that really do require maximum computational performance (that latter point wasn't true for cperl last I checked; "extern sub ..." is still a "todo" item AFAICT, and I don't really see an equivalent to Perl 6's "is repr(CPointer)").

"and unusable for professional usage."

By what measure? More importantly, by what measure in which cperl fares any better?

"more features"

Not at all the impression I'm getting from perl11.org/cperl in relation to Perl 6. What you're saying is certainly true in relation to Perl 5, though.

Re: Perl 5.26.0 released

#148
Perl is awesome. Its like writing a sentence or paragraph. I decide how I want to present each sentence or paragraph. Then I get to write it in Perl.

Its a very easy language to learn. My first language was C back in 1994. I was in high school and encouraged to learn C before I learned Perl.

I read my books. I kept on going after it. Then finally six years later I started learning Perl.

Perl is a great language.

I haven't touched Perl6 yet - I bet its even better. It might take me 20 years just to do a hello world in it and optimize it.

Larry gave us a great place to start. Guido is awesome too.

"I don't like big bloated snakes though" -- I heard this back in 1996 or so...

We have been focusing on languages for 20k years or so. We have built computers for about 100 years - and invented languages to talk to them.

Re: Perl 5.26.0 released

#149

Earlier quoted context omitted.

Perl 5 isn't a 'cool' language, because it isn't trying to rapidly change itself, instead it just works. I use it just about every day (by my own choice!) and it can be a fine language to develop in. The libraries available in CPAN contain support for pretty much any task you could think of. Most of the horror stories that you'll hear about perl are from people who have tried to fix/maintain code that was written bad…

I think perl invites a kind of mindset from how the language is and how the initial community was. Why does it have something called 'say' instead of something more intuitive like 'println'. Then there are worse examples: carp, cluck, croak. These are commonly used. They are from the same module of course. There is also Moo, Moose. I'm not sure but was there something called 'Mo' too? Commonly used of course but as y…

EDIT: Please, before you get fixated on 'say', consider that perl already has 'print'. So, it has "print" and "say" - where "print" is "print" and "say" is "println".

Re: Perl 5.26.0 released

#150
post #138

Earlier quoted context omitted.

Perl 6 is a different language, no chance for a replacement. It's also much slower and unusable for professional usage. cperl is a not a different perl, it's a perl5 replacement, which is faster, more secure, less bugs and more features. types and using a modern perl is optional. 90% of the vm and toolchain is unmaintained by p5p, and taken over by cperl.

"It's also much slower" Perl was never intended to be fast for computers. It was intended to be fast for programmers . Perl 6 does a pretty darn good job of that, and additionally already has working and easy-to-use C/C++-compatible FFI that I can use today to offload things that really do require maximum computational performance (that latter point wasn't true for cperl last I checked; "extern sub ..." is still a "t…

extern sub is actively being worked on. The technical problem is not the ffi, this is trivial, but to fix the broken attributes architecture beforehand. They are not usable at runtime (variable arguments) and Attribute::Handlers only makes it worse.

Of course cperl is lacking compared to perl6 features, user facing. Because I had to fight first p5p sloth, like broken designs for everything. cow, const, threads, attributes, regex, scalar, arrays, hashes, functions, types, lecical $_, objects, symbols, unicode, build system, warnings, exceptions, the VM, ... http://perl11.org/blog/p5p-incompetence.html is a short overview of the technical problems to be fixed.

Professional use: read cperlpod cperl. No security process and competence, lack of progress, lack of maintainance of critical modules (cpan is fine, p5p and toolchain authors are the problem), no types, no compiler, recommending worst practices to move towards Java, no technical management, just community leaders without any idea what they are deciding, loosing all competent devs in the last decades and with just the remaining dead wood vocally protecting their turf, with the usual racial and more unpleasant slurs of the leadership towards its users and co-devs. As company you wouldn't want to be associated with them, but their counter propaganda silencing and censoring the critics works well.

Post reply on HN