Live data from Hacker News

Perl is 25 years old today

perldoc.perl.org

51–60 of 131 posts

Re: Perl is 25 years old today

#51
post #27

Earlier quoted context omitted.

>> The language is so permissive that it allows newbs to write bad code but still obtain results I can't see any relevance for a professional choice if newbies can shoot bigger holes in their foot with a certain tool. That is a natural result of a powerful tool. >> Perl experts seem to delight Anecdotal. Ten years old description of half humorous use (and exercises). Also very different from best practices even then…

I respect Perl and people who use it, but this is a telling cultural artifact: http://www.ozonehouse.com/mark/periodic/ I am not posting this to bag on Perl, but just to show its fingerprint. If you find that periodic table to be funny or cool then you are a lot more likely to be happy with Perl than if it makes you shudder.

You claim to really not be aware that table is for a quite different language -- Perl 6?

That point has been made many, many times.

Edit: To the cultural question, there might be a point. I might add that I don't know Perl 6, but it seems like an insane amount of cool/fun toys (macro language like lisp with an Algol-like syntax?! If they can pull that off it is incredible.) That might say something about me and Perl people. But people I admire use both vim and Windows, so I'm not certain.

Re: Perl is 25 years old today

#52
post #29
post #21

I've found over the past decade or so that when I write a "perl" program I'm really writing about five lines of glue code around multiple CPAN packages. Well maybe more than 5 lines for control flow, some business-logic error handling, etc. When I write in another language I spend a long time looking for a library like the ten I'd find in CPAN, sometimes I find one but often enough not, then a long time complaining a…

CPAN might be centralized, but Java libraries are far superior. This is not a pissing contest, but a fact. The java runtime makes everything else look amateurish and unprepared. Debugging, profiling, introspection and distribution, all built into the platform. Attach to any running process and analyze away. Perl is good when it works, but when it doesn't, it's cryptic stack traces and `exit -1`, nothing meaningful.

This is not a pissing contest ... but calling it a fact is also silly.

Perl has integrated debugging. Perl has pluggable runops so profilers can be attached to the platform (e.g. Devel::NYTProf). Distribution == CPAN and the 'make dist' system from ExtUtils::MakeMaker, again built in.

The introspection is -different-, perhaps, but I'm not sure I'd say it's better or worse.

Nothing meaningful? You set it to break into the debugger when that exception is thrown, and then debug it. I'm honestly not sure how this is any different an experience to in java - any java application not actively being debugged will write a stack trace to its log file and either exit or move on to the next request too, no?

Re: Perl is 25 years old today

#53
post #27

Earlier quoted context omitted.

>> The language is so permissive that it allows newbs to write bad code but still obtain results I can't see any relevance for a professional choice if newbies can shoot bigger holes in their foot with a certain tool. That is a natural result of a powerful tool. >> Perl experts seem to delight Anecdotal. Ten years old description of half humorous use (and exercises). Also very different from best practices even then…

I respect Perl and people who use it, but this is a telling cultural artifact: http://www.ozonehouse.com/mark/periodic/ I am not posting this to bag on Perl, but just to show its fingerprint. If you find that periodic table to be funny or cool then you are a lot more likely to be happy with Perl than if it makes you shudder.

I do find it funny, but also, it's [perl 6] documentation. But I agree with your point that personal preference varies.

Just an anecdote: a startup I work with built a product on Rails 2. It has been successful beyond anyone's wildest dreams. But they have a huge mess on their hands now, and it was caused by -success- :)

Re: Perl is 25 years old today

#54
post #44

Perl is 25. Python is 21. Lua is 19. Ruby is 17. Interesting how I consider Perl an 'old' language, and the others new languages. I guess it says more about how revolutionary Perl was at the time and how quickly it became widespread. The only other language I know of that went from 0 to everywhere in under 5 years was Javascript.

PHP probably gets in there somewhere. (I looked up the history -- I did not know that PHP was first implemented in Perl.)

PHP was first created in 1994, so it's 18.

Re: Perl is 25 years old today

#55
post #3

Earlier quoted context omitted.

I vomited a little when I read that :)

I was going to downvote your comment, but then I clicked through and read the linked question and commentary.

I don't get what the issue is, I don't even know Perl and it seems pretty straightforward to me: Carp is a library with a set of mnemonic assertion functions for libraries to signal usage errors committed by their callers.

Do people just prefer one function with a bunch of fiddly little enums or something?

Re: Perl is 25 years old today

#56
post #44

Perl is 25. Python is 21. Lua is 19. Ruby is 17. Interesting how I consider Perl an 'old' language, and the others new languages. I guess it says more about how revolutionary Perl was at the time and how quickly it became widespread. The only other language I know of that went from 0 to everywhere in under 5 years was Javascript.

Common Lisp is 28, which a year younger than C++ and not much older than Perl. So not a dinosaur language as some people think.

Re: Perl is 25 years old today

#57

Before i switched to Python as my general purpose language, i used to be a bit of a Perl fanatic. I've still to come across a language that lets you get your ideas down as quickly. It's full of fantastic time savers, e.g. the for( ) construct and the format output functionality cover a bunch of common use cases in minimal keystrokes (let me pipe in some data, analyse it, then spit it out in a clean report). It can hu…

My experience is almost exactly the opposite. Whenever I'm writing in Python I can't escape the feeling that the code is simply fragile due to missing language features. Obviously this starts with all the regex initializations (often quite distant in source from where they are applied) which make regular expressions in python just a huge mess.

Perl's autovification allows me to build a data structure at parse time with code that is trivially verifiable. Python forces me to sprinkle the code with a thousand tests for whether or not the field is initialized yet, or write extra code to define things like defaultdict instances (with syntax that I always have to look up, and which in my experience most python programmers don't understand).

Not to mention that if I want to use an OO syntax for that data structure I have to write extra code defining a class for it (and inevitably be yelled at by the pythonista security branch for all the __whatnot__ methods I forgot to define).

Python's comprehension/generator syntax is nice, though, and doesn't have a clean analog in perl. One thing it does do well is chaining up "filter" operations on aggregate data structures in a clean way. And that has value and is worth emulating. But honestly most of the rest of the language is junk compared to perl or ruby.

Re: Perl is 25 years old today

#58
post #29
post #21

I've found over the past decade or so that when I write a "perl" program I'm really writing about five lines of glue code around multiple CPAN packages. Well maybe more than 5 lines for control flow, some business-logic error handling, etc. When I write in another language I spend a long time looking for a library like the ten I'd find in CPAN, sometimes I find one but often enough not, then a long time complaining a…

CPAN might be centralized, but Java libraries are far superior. This is not a pissing contest, but a fact. The java runtime makes everything else look amateurish and unprepared. Debugging, profiling, introspection and distribution, all built into the platform. Attach to any running process and analyze away. Perl is good when it works, but when it doesn't, it's cryptic stack traces and `exit -1`, nothing meaningful.

Not really true. Yesterday I was trying to debug resource-loading issues. In any normal programming language, you can just strace it and you'll see where the program is doing I/O and you can figure out where it's trying to load files from. But if everything is in a jar, you don't see any OS-level I/O happening when Java tries to load something, so you have to invent all-new tools just to figure things out. When you switch to Java you throw away 40 years of UNIX for a bunch of private methods implemented by summer interns at Sun 20 years ago. The third-party libraries are fine, but the core is not.

Also type erasure.

Re: Perl is 25 years old today

#59
post #41
post #29

Earlier quoted context omitted.

CPAN might be centralized, but Java libraries are far superior. This is not a pissing contest, but a fact. The java runtime makes everything else look amateurish and unprepared. Debugging, profiling, introspection and distribution, all built into the platform. Attach to any running process and analyze away. Perl is good when it works, but when it doesn't, it's cryptic stack traces and `exit -1`, nothing meaningful.

> Attach to any running process and analyze away. Interesting. It never occurred to me to want this. What sort of use case is this for? It seems Perl is capable of something similar: use Enbugger::OnError 'USR1'; Then 'kill -USR1 pid' and your process will jump into the debugger. learn more here: https://metacpan.org/module/JJORE/Enbugger-2.013/lib/Enbugge...

Or strace -p whatever, or gdb -p whatever.

Shockingly, attaching to running processes has been a feature of UNIX for decades.

Re: Perl is 25 years old today

#60
post #44

Perl is 25. Python is 21. Lua is 19. Ruby is 17. Interesting how I consider Perl an 'old' language, and the others new languages. I guess it says more about how revolutionary Perl was at the time and how quickly it became widespread. The only other language I know of that went from 0 to everywhere in under 5 years was Javascript.

PHP probably gets in there somewhere. (I looked up the history -- I did not know that PHP was first implemented in Perl.) PHP was first created in 1994, so it's 18.

That's the same age as Perl 5.
Post reply on HN