Posted
by
CowboyNeal
from the rubbish-listers dept.
JamesD_UK writes "mod_perl 2.0.0 has been officially released into CPAN. Enhancements over mod_perl 1 include threads support and a perl interface to the Apache Portable Runtime. More details on the release can be found on CPAN."
This discussion has been archived.
No new comments can be posted.
They are just as much trolls as posts replying to a Gnome article with C flames would be, or C++ flames in response to a KDE article. The tool is not about the lanugage. mod_perl has a great deal going for it as a Web tool. If you don't like Perl, then fine, but that's off topic with respect to mod_perl itself.
Almost all of the comments criticizing Perl have been modded "Troll".
Maybe because this is a story about a new level release of a popular Perl module used extensively in Apache. Not a story about whether Perl is better or worse than <insert_language_here>.
Here is the list of the top level comments prior to yours that were modded down: 1) Never used it. What's the big deal? 2) FP 3) dead language. 4) offshoring myths 5) if the server is running it the slashdot effect will kill it. 6) Is there anyone left who hasn't switched to Ruby or Python? 7) Who still uses Perl for web stuff?
All were either totally OT, or obvious language-war trolls, save #1 which was wasn't a critical post.
AFAICT it looks like the moderation system is working quite well.
by Anonymous Coward writes:
on Saturday May 21, 2005 @09:52AM (#12598575)
I do not understand how anyone can suggest that PERL is a dead language. It is still one of the most powerful text processing languages out there, with the extensibility that allows it to do everything from performing network activities to CGI. Although CGI is in its decline, it is still used plenty.
Theres that and the fact that PERL is just a really fun language, very easy, and extremely free-flowing, which I personally think is a good thing.
Just like a natural language. A language is only dead when its no longer developed or used natively. A computer language should fit a simular definition. Thus, I would say it will be a LONG time before Perl fits that definition.
It's not that Perl is good or bad by itself, the question is more like, you still that Perl is still good/better in comparision to Ruby, Tcl, Python, Haskell, OCaml, Mozart/Oz and others more.
I do realize, that sometimes comparing two languages is more like asking, is an elephant bigger or a girafe taller?
But honestly, if you are still to start learning would you still have picked Perl.
I picked Tcl and I have my reasons. (Tcl/Tk, Sqlite, event driven programming and OpenAcs).
And my second choice would be ruby, I strongly like the OOP paradigm and as far as I know Ruby got better support for this paradigm, I'll probably learn ruby next, I believe one should learn a new language every now and then (it's a common advice, I didn't come up with it).
Supporting old system is good enough reason to learn Perl, but beside taking advantage of availbe libraries (and this is a HUGE good reason) I dont see any other reason to get excited over Perl.
Of course Perl isn't better than OCaml. But it has a larger developer base and a somewhat bigger collection of useful libraries. There are other languages, in turn, which are even more whizz-bang than OCaml and have yet smaller developer communities.
If we were starting from scratch and picking things on technical merit would we really use Unix and C?
Perl had a niche before CGI. It was a general language for throwaway programs and system scripts. You could write simple, small apps and servers in it, by using CPAN to do 90% of the work for you. This also resulted in clean, readable code (the mess being hidden in the modules). My email is downloaded off pop3 and inserted into maildirs by a perl script I designed. It's short and simple, despite using a boatload of tricks to avoid memory leaks and lockups no matter what. It just runs, so I can ignore it.
Although CGI is in its decline, it is still used plenty.
Using this argument makes little sense becasue CGI is quite irrelevant today. It is the kind of back-handed comment that people use about languages like COBOL.
The "death of CGI" rather than the fact it is still twitching is the real argument to use mod_perl over many of the alternatives. mod_perl is probably the most mature of all the non-CGI web application platforms--it pre-dates everything except perhaps PHP (which looks to have emerged at arou
> Whenever any of these JavaScript components makes any kind of call back to the database or web server, it must do so via CGI.
So all those java web apps use CGI, eh? Zope's powered by CGI on the backend as well? I could go on, but wow... I mean, your assertion is so patently untrue, I rather suspect you don't even know what CGI actually is.
For most of those cases, app servers have completely replaced CGI. The problem with CGI is lack of persistence, and process startup costs. These days, any decent web app is written with some persistent layer that interacts directly with the web server, and loads code snipets of its own language, starts objects, calls callback routines or something similar to handle requests. mod_perl, J2EE/JSP, PHP, Zope, and Ruby on Rails are all examples of this.
mod_perl has worked under Windows for many years. No need to compile any of it yourself either, as many people provide pre-compiled binaries for you (hint: google is your friend).
Specifically, I can speak for the binary copy of Apache 1.3 found on apache.org, and ActiveState's perl port of 5.6. They both work good together, and under Windows 2000 all the major features seem to work fine. Obviously, some of the unix-isms that don't exist under Win32 must be worked around (shared memory? proper forking? p
I used to maintain the binary distribution of Apache+mod_perl for Windows. It was a right pain in the ass, and core-dumped all the time, and was fully serialized. But I understand it's much better now that Apache 2 is out there.
I build a REST interface for an audio generation system at "http://mp3.motorola.com.cn:8080/composer" which is mod_perl2 on windows server 2003 and perl 5.8.6. It just works, not trouble.
Out of curiosity, is this still the same threading model that's existed in Perl for some time? Or is it revamped? Because if it hasn't been updated, well, it's pretty much useless. I've done threading in perl, and every time you spawn a thread, a whole new interpreter is spawned. On top of this, there are many limitations on sharing data between threads (you can't share objects, for one thing).
It might as well be called forking, to be honest, because it doesn't really qualify as threading.
Indeed, Perl's threading support leaves a lot to be desired. I recently coded up an internet radio statistics collector daemon, which simply takes a count of the number of listeners on several shoutcast servers every 5 seconds, in parallel spawning a new thread for each server. It seems that finished-with threads aren't cleaned up properly, as I found out when after leaving it running for a few days I tried to find out why the website was responding so slowly to find that the stats collector was using 70% o
by Anonymous Coward writes:
on Saturday May 21, 2005 @10:06AM (#12598638)
For people who are wondering what mod_perl is exactly: it's a way of integrating perl into Apache's webserver. I think the main advantage is that you don't have the overhead of firing up perl for each cgi-type request. The main gotchas, for the developers point of view, involve a little perl enviornment staying alive, when a perl script starts, runs, and stops, it cleans up after itself, but when it 'stays alive' inside apache, you have to make sure it's not accumulating too much memory cruft, that you're closing handles, etc etc.
This is what I know mostly by reputation, rather than direct experience, experts please feel free to correct me
The main advantage is not the faster CGI execution environment.
mod_perl lets you create Apache modules in Perl, that handle every stage of a request (or anything else), and are full peers of Apache modules written in C.
ModPerl::Registry[Prefork] is just a bonus. The more interesting m_p modules are authn/authz/dispatch modules that can replace cumbersome C equivalents.
It depends on what you are doing. I bet there are more people serving up CGI perl than are writing Apache modules. Therefore, the advantages of the former are more important to more people. Might not be as cool, but that's not what he said.
I'd been happily using mod_perl2 since 1.99r12 or so. Then, right before the release of 2.0, between 2.0r3 and 2.0r5, the namespace changed http://perl.apache.org/docs/2.0/rename.html [apache.org]. I realize that there are good reasons for doing this (http://marc.theaimsgroup.com/?t=111135037100002&r =1&w=2 [theaimsgroup.com]), but it was still pretty painful if you hadn't had some prior warning.
In particular, the FreeBSD ports tree is still feeling some pain. Guess I just got lazy with all the dependencies handled in the ports tree.
But, now we have to flash-cut our production systems, unless someone knows how to changes things to work under both namespaces...
Everyone bitchin' that "CGI is dead" should broaden their horizons a bit. CGI may be stupid and dead, but Perl is used in a lot of different ways. It's still one the best languages for getting good work done.
For example, Mason [masonhq.com] is a pretty good tool for doing Perl-based web components.
So bitch about CGI if you wish, but that's not what Perl is for.
Funny you mention Mason...Mason has not officially supported Apache 2 since mod_perl was not 2.0. Mason's position was that since there was no official mod_perl for Apache 2, they couldn't release an official Mason for Apache 2.
Yes, you could make it work but the documentation was spread over different people's home pages and it was certainly presented as more of a hacker's hobby than a professional development environment (unlike Mason for Apache 1.3.x).
Sorry if I was unclear...I wasn't criticizing Mason at all, just pointing out the parent's irony of pointing to Mason as a great example of what can be done with perl CGI...when in fact, Mason hasn't supported Apache 2 so far. I agree that they've had a good reason not to support it, given the lack of a mod_perl for Apache2.
Mason has officially supported mod_perl 2 since version 1.27 (http://www.masonhq.com/code/history.html#v1.27 [masonhq.com]).
Support for the namespace changes won't be implemented until mod_perl 2 is final (which it seems to be now), so I suppose that would be a lack of official support. However, it sounds like you were referring to pre-1.27 when Beau Cox released his special handler for mod_perl 2.
Why does everyone link CGI and perl like they were the same.
I write my CGI apps in bash. Yes, bash. Pipelines are fun and nearly unparalleled in any language for their power and flexibility, and I have a vast function library in the filesystem. Obviously this is neither secure nor performant, but that's the quick and dirty start.
When it needs to get more complex, I'll put it in perl either as mason components or a FastCGI. More FastCGI, less mason these days. Some of my stuff works better in python b
I think you need to readup on what the CGI actually is [uiuc.edu].
Your statement is as wrong as if you'd said that HTTP was dead when IE claimed the browser market.
PHP, ASP, Perl, Bash - and many other languages - can use the CGI to talk to web clients over HTTP.
I think what you were trying to say is that CGI scripting in Perl is stupid and dead. I'd even disagree with that to a degree, but that's probabl;y closer to what you meant.
I agree with your feelings, but I think the feeling that "CGI is Dead" which seems to be bandied about is more a feeling that.Net, and Java (servlets/applets) are the "wave of the current and future"... not that I neccesarily agree.
I think that too many people, from C*Os to programmers tend to look at technology as a series of shiny things and assume that each new one is the be all and end all of creation (instead of just a tool with its own set of pros and cons in every situation).
Perl still has a very active community with some very incredible and dedicated hackers. The main thing that keeps me coming back to Perl for personal projects is the fact that it's such a FUN language to program in.
I can think of many benefits to using Python and PHP in a work environment, but no matter how long I work with other languages, I always come running back to Perl when I'm in the mood for some highly caffeinated drinks and a late night of hacking. Say what you will about Python or PHP, but you probably can't say either is fun or enlightening to use.
I've found that Larry Wall is a very unique individual, and a lot of that is pervayed through the style of his programming language. In Perl I can say (figuratively).. "Go fetch the paper!" or "Can you get the paper?" and both of them work. While that might be a readability nightmare, it lets you be very creative with your code. And to some people, being creative is a nice release after the regimented, controlled environment we deal with in the workplace.
Exactly. But I guess that is what so many don't like. As Larry Wall said:
"In trying to make programming predictable, computer scientists have mostly succeeded in making it boring" -- Larry Wall, interview in The Perl Journal, vol. 1 issue 1.
There's an old Chinese curse "may you live in interesting times". There was a copy of that somewhere in the kernel file (a.k.a. System file) for MacOS 7 that said "may you code in interesting times".
Languages are tools. I prefer mine to be predictable, allowing the real wizardry to be in what you do with them, not with knowing how it deals with some particular edge condition.
I find python more fun, because it looks cleaner. It's got more structure. I'm a mathematician and my aesthetics may not be "normal", but to me something near-geometric is preferrable to the "tangle" I seem to get when programming perl. As far as perl dying is concerned, how is that community going? Is it shrinking? Is it aging in almost real time? If either of those are true, perl is dying.
One of Perl's benefits is that it doesn't *force* structure. It also doesn't force lack of structure, though. If your code looks sloppy in Perl - or any other language - then you're a sloppy programmer, and it's your own fault.
When I hear forced structure, I generally think of Fortran. I dislike Fortran.:)
I've never seen a good argument for one style over another; the fact that there are still 4 competing C (and Perl) indentation styles suggests there isn't any best one. You have to be able to read all of them, and, if you're going to contribute to other people's projects, write all of them as well. So having the choice just seems to add more scope for pointless flamewars, and force you to learn more. IME of course.
Perl has a lot going for it. mod_perl and html::mason (used by/. and apache) together are a much more maintainable solution to large web apps than PHP, IMO. I had to maintain some really ugly old PHP code at my old job. Any language can get ugly if the coding style is ugly, but properly written html::mason does a lot more to separate Model, View, and Controller than any PHP solution I've seen.
I did a lot of perl programming back in the day. Although I still like it a lot (I think the DBI is one of the best database libraries out there), I do find myself working more and more in both python and ruby for rapid development.
If you love perl but sometimes get a headache from staring at long lines of code with lots of sigils, braces, and parentheses, take a look at ruby. From what I've seen of Perl6 so far, it will also clean up some syntax while retaining neat perlish tricks and adding a lot of advanced programming language features.
I have high hopes for the parrot project too. Maybe one day we'll all be able to write parts of our apps in ruby, python, perl6, ponie, and integrate them together on a common VM platform. I think this would be an incredible step for open source software development! Still, I'm not going to hold my breath waiting for this... it looks like this scripting nirvana is still pretty far off.
Actually, parrot is really coming along nicely it looks like. People are really starting to work on compilers to target parrot now too. It WILL be a scripting nirvana, just wait and see. In fact, don't wait, get involved; start hacking one whichever project you're interested it!
At my previous job we used mod_perl (1 and 2[beta]). The excellent part about mod_perl is that it allows you to completely control Apache in every manner possible.
There are excellent performance benefits in writing Apache handlers... and mod_perl simply allows them to be written in perl.
The last application I developed handled multi-millions of records per day without flinching. There were dozens of users and several extremely complex equations and correlations done...
Overall a post with so much truth that it hurts. But, I disagree on one statement you made:
if someone with no education can do your job cheaper, you don't deserve your job
Not every job needs to be one that requires education. Many people do great work, without education- they jut have the skill and drive to do a better job than others.
I recently went from being a non-degreed schmuck, to one with a degree. This didn't make my work any better.
since when where perl and.net the only systems on the planet?
There are plenty of perfectly good up-to-date ways to do things, such as with python or PHP. Both of which are at least a capable as.net, but have the added bonus of no platform lock in (PHP and python work equally well on Linux, FreeBSD and Windows servers)
Sometimes people find that Perl is the right tool for their needs. At my company we have many internal tools written in Perl, and see no reason to change. We have a heterogeneous environment, so.Net is right out.
The apps we have work very well, and are well written (modular, use OO, and always use 'strict), so they are easy to maintain, and - get this - very easy to read for a professional coder who knows some Perl. Stuff like HTML::Template/Template::Toolkit, Class:DBI, and other modules are really ni
PHRASE1 = NUM_BOT||' Bottles of Beer on the wall,';
PHRASE2 = NUM_BOT||' Bottles of Beer';
PHRASE3 = 'Take one down and pass it around';
DISPLAY(PHRASE1||PHRASE2);
DISPLAY(PHRASE3);
END;
PHRASE1 = 'No mo
Ohh, I don't know... how about Amazon and Salon [masonhq.com]? Kuro5hin [kuro5hin.org] and all the other Scoop based sites like DailyKos [dailykos.com] and MyDD [mydd.com]. And now that I think about it, MovableType, TypePad, and LiveJournal are all writen in Perl.
Wow! I have been programming perl for years and had no idea about Mason. My conclusion was that PHP's only advantage was that you could mix code and HTML easily, and that appears to be exactly what Mason does. That is so sweet.
See also embperl [apache.org] if all you want is to embed perl (duh) in html, as you might do with php. That being said, you should separate the code and the layout, blah blah blah.
"Yeah, but is it mod_perl or cgi? If you're using fastcgi, is there still a big performance gain by switching to mod_perl?"
If you're still thinking in terms of CGI, then it's close to a wash.
However, mod_perl isn't about CGI. mod_perl is about exposing the Apache API to you. Want to build a caching system that doesn't require a single line of code to be executed for 90% of incoming requests? You can do that with mod_perl. Want to proxy some requests based on the protocol version the browser uses? mod_perl
I run a lot of webapps in Perl, and from time to time I run into DRY (Don't Repeat Yourself) stuff. Currently I am considering Ruby on Rails [rubyonrails.com] or Catalyst [cpan.org], wich is an MVC written in perl.
Quote from the Intro.pod:
Catalyst [cpan.org] is an elegant web application framework, extremely flexible yet extremely simple. It's similar to Ruby on Rails, Spring (Java) and Maypole, upon which it was originally based.
Amazon.com [amazon.com] - E-commerce pioneer seeking to
offer the world's largest selection of products online.
for details.
AvantGo [avantgo.com] - Mobile applications for handheld
devices.
DynDNS.org [dyndns.org] - One of the world's largest
providers of free and premium Dynamic DNS services.
Findory [findory.com] - Personalized news and blogs aggregator. Findory learns what kind of content you like by the pages you read.
Live365.com [live365.com] - The world's largest Internet radio website.
Salon.com [salon.com] - Online magazine covering news,
politics, technology, art, sex and health; winner of numerous web
awards.
Weta Digital [wetadigital.com] - Weta Digital are well known as the special effects people behind the Lord of the Rings films. At his OSCON 2004 keynote, Milton Ngan of Weta Digital thanked some technologies, including Mason, which is used as part of their intranet.
A
AcuTrans.net [acutrans.net] - Home page for AcuTrans [slashdot.org], a company providing an online content management system integrated with transcription services (built with Mason) for business, legal, medical, and self-insured companies.
Adventist.org [adventist.org] - The official web site of the Seventh-day Adventist Church.
Alhazred [alhazred.com] - Progressive music project being produced with open source/free software
Alzabo.org [alzabo.org] - Home page for Alzabo data modelling tool.
American Lung Association of Washington [alaw.org] - Assuring lung health for the people of Washington state through research, education, community service and advocacy.
Apartments [rentersinc.com] - Apartments for rent by RentersInc [slashdot.org].com. Free apartment search engine and apartment guide.
arabellan [arabellan.com] - Web presence of Ryan "Exide Arabellan" Zander, a graphical artist.
astrojax.com [astrojax.com] - amazing fun and action game - community website with lots of features.
Autismeinfocentrum.nl [autismeinfocentrum.nl] - Information- and documentationcentre about autism and related subjects in the Netherlands.
AutoSupplyUK.com [autosupplyuk.com] - Used Japanese import
auto store.
Beotechnic [beotechnic.com] - Company specializing in knowhow transfer
Bikeworld.com [bikeworld.com] - Online retailer, sporting a new 100% Mason-powered site that was developed entirely in-house.
bizjournals.com [bizjournals.com] - Publisher of 41 weekly business newspapers across the US.
BlackSpider [blackspider.com] - Managed services provider
focused exclusively on the provision of e-mail security solutions.
Burma-Shave.org [burma-shave.org] - All of the original Burma-Shave jingles, plus the Burma-Shave Daily mailing list.
C
cibera.de [cibera.de] - cibera is an online library site which offers a central access point to interdisciplinary material concerning the Spanish- and Portuguese-speaking area as well as the Caribbean.
Cars [icarsinc.com] - iCarsInc [slashdot.org].com Cars for sale. Buy and sell new and used cars online. Your next auto purchase starts right here. Find new, used, classics, sports cars, luxury cars, trucks, SUVï [slashdot.org]½s and even motorcycles for sale.
Yes, me. I'm the maintainer of a project which has about 30.000 lines of Perl code. And yes, the project is maintainable and the code is very much readable. The project is still under active development.
Furthermore, Perl has a bigger chance than Python of being installed on Linux distributions by default. This alone is a good reason to choose Perl over Python. Don't get me started about Ruby.
I'm also developing a quite unique system, on the url you can read below my username, which is written in mod_perl.
The whole website is around 100'000 lines of library oriented perl code, and is imo very well structured, commented and maintained. It is more than a website though, it is basically a group management system, with all the needs of it.
For the casual viewer it may seem that the website lacks features and kind of no-confort one, but it actually has a wide array of tools to use.
Furthermore, Perl has a bigger chance than Python of being installed on Linux distributions by default. This alone is a good reason to choose Perl over Python. Don't get me started about Ruby.
What linux distribution installs perl, and not python, by default?
The benefits of Python over Perl are large enough to make the install of python a requirement, and a criterion of choosing a service provider. At least if your programs are going to be larger than 200 lines or so.
I've started to learn python twice. Each time I run into the concept of "Syntactically significant white-space" I run away screaming. Give me braces, damnit.
I've started to learn python twice. Each time I run into the concept of "Syntactically significant white-space" I run away screaming. Give me braces, damnit.
Most people find that they like the whitespace after half an hour or so of trying it. I don't see why you'd be different. Perhaps a minor tweak of attention span would be in order...
In fact, there's still lame justifications going around about other warts about the language.
Still, there are sites like this [www.amk.ca] that list flaws in the language, and the community tends to whine about the warts all the time. The warts are also going to be fixed. The whitespace issue is not considered a wart.
I do suggest he tweak his attention span. To tune unhelpful people like yourself out.
It's generally considered a good thing to try to avoid giving up immediately. It's an extremely important virtue fo
Bah. The whitespace thing is not all that bad unless you have funky editor requirements. Editing python in a textarea is hell. Do not attempt. Otherwise, it simply doesn't even bite me, and is only occasionally annoying.
I think python's weird "half-closed" ranges, the fact that "print" is a hardwired built-in and not a first class function, its lack of real closures (they're still read-only), crippled lambda compared to sub and anonymous blocks (I'll give ruby the win there), surprising behavior like l
"The benefits of Python over Perl are large enough to make the install of python a requirement, and a criterion of choosing a service provider. At least if your programs are going to be larger than 200 lines or so."
If you're such a bad developer that you can't possibly write good, clean and maintainable code in Perl, then Python won't help you much.
If you're such a bad developer that you can't possibly write good, clean and maintainable code in Perl, then Python won't help you much.
Believe me, it does. In Python the good, clean, maintainable code practically writes itself. In Perl, the good, clean, maintainable code won't even *run*;-).
Even if the code was semantically "correct" and good, it would still be ugly and painful to write because of all the $@->.
Even if the code was semantically "correct" and good, it would still be ugly and painful to write because of all the $@->.
If you put $@->. in your code, I sure understand why you find it painful:-)
# perl -e '$@->.' syntax error at -e line 1, near "->." Execution of -e aborted due to compilation errors.
Or with some more verbosity:
# perl -Mdiagnostics -e '$@->.' syntax error at -e line 1, near "->." Execution of -e aborted due to compilation errors (#1)
(F) Probably means you had a sy
Even if the code was semantically "correct" and good, it would still be ugly and painful to write because of all the $@->.
Isn't it more like $@%& ? You can almost think I wanted to type something else there - surely it is a sign...
Seriously, though, from the point of view of language design, Perl is simply awful. It's an incoherent, inconsistent, and higly unreadable language. Most of design decisions there simply don't make any sense. OOP system is just a hack, and most of language features a
Unnecessary choice is bad, because it's making everything nonstandard. Choice is good, yes - but everyone having their own language is not good, a standard language is better. Perl gives you many ways to do things. This makes it easier to write, but far harder to read, because you need to know all the different ways. In the long run this tends to bite you.
What linux distribution installs perl, and not python, by default?
Just answering your question here; not trying to suggest one thing over another, but Debian and most Debian-based distributions do a minimal install of perl (perl-base) with the most basic core install while python is out in the cold. Lots of packages rely on perl to run pre/post install scripts. I am not sure if languages other than sh and perl are actually allowed for this task, so this fact may simply be an artifact of the packaging requ
Although I've switched primarily to Ruby + fastcgi, I still use mod_perl because of CPAN. As a matter of fact, I also use Python because of Trac.
While going 100% with one language or tool or OS might be ideal, it just isn't practical for many of us.
There are so many useful modules in CPAN and I don't see Ruby or Python catching up in the next 2-3 years.
Perl5 might be ugly now when compared to newer languages, but I'll always be grateful for all the time-saving CPAN modules and the inspiration the langua
Catchup? (Score:1, Funny)
Perl is already up to 6.0 (almost) - best wait for mod_perl 6.0 to be released.
Nothing to see here, move along!
uh, moderators? (Score:2)
Funny... (Score:3, Interesting)
Re:Funny... (Score:3, Funny)
Re:Funny... (Score:2)
Re:Funny... (Score:1, Insightful)
Maybe because this is a story about a new level release of a popular Perl module used extensively in Apache. Not a story about whether Perl is better or worse than <insert_language_here>.
Re:Funny... (Score:4, Informative)
1) Never used it. What's the big deal?
2) FP
3) dead language.
4) offshoring myths
5) if the server is running it the slashdot effect will kill it.
6) Is there anyone left who hasn't switched to Ruby or Python?
7) Who still uses Perl for web stuff?
All were either totally OT, or obvious language-war trolls, save #1 which was wasn't a critical post.
AFAICT it looks like the moderation system is working quite well.
Perl a dead language? (Score:5, Interesting)
Theres that and the fact that PERL is just a really fun language, very easy, and extremely free-flowing, which I personally think is a good thing.
Re:Perl a dead language? (Score:3, Insightful)
Is an elephant bigger or a girafe taller? (Score:5, Insightful)
I do realize, that sometimes comparing two languages is more like asking, is an elephant bigger or a girafe taller?
But honestly, if you are still to start learning would you still have picked Perl.
I picked Tcl and I have my reasons. (Tcl/Tk, Sqlite, event driven programming and OpenAcs). And my second choice would be ruby, I strongly like the OOP paradigm and as far as I know Ruby got better support for this paradigm, I'll probably learn ruby next, I believe one should learn a new language every now and then (it's a common advice, I didn't come up with it).
Supporting old system is good enough reason to learn Perl, but beside taking advantage of availbe libraries (and this is a HUGE good reason) I dont see any other reason to get excited over Perl.
Re:Is an elephant bigger or a girafe taller? (Score:2)
If we were starting from scratch and picking things on technical merit would we really use Unix and C?
Re:Perl a dead language? NOT (Score:5, Interesting)
The shortest path between "need" and "have" is usually a perl script. CPAN alone puts perl above anything else I know of.
Re:Perl a dead language? (Score:2)
CGI is absolutely in decline but Mason [masonhq.com] is bigger than ever. The developer of Mason now works for Amazon.com (built on Mason) now.
Retreat to its original niche? (Score:2)
I
CGI and Perl (Score:2)
Using this argument makes little sense becasue CGI is quite irrelevant today. It is the kind of back-handed comment that people use about languages like COBOL.
The "death of CGI" rather than the fact it is still twitching is the real argument to use mod_perl over many of the alternatives. mod_perl is probably the most mature of all the non-CGI web application platforms--it pre-dates everything except perhaps PHP (which looks to have emerged at arou
Re:Perl a dead language? (Score:1, Informative)
So all those java web apps use CGI, eh? Zope's powered by CGI on the backend as well? I could go on, but wow
Re:Perl a dead language? (Score:3, Informative)
mod_parrot (Score:5, Interesting)
http://www.smashing.org/mod_parrot/ [smashing.org]
I program my web application in Parrot.
Re:mod_parrot (Score:1)
mod_perl on Windows (Score:2)
I'd be interesting to here how it went for you.
Re:mod_perl on Windows (Score:1)
Specifically, I can speak for the binary copy of Apache 1.3 found on apache.org, and ActiveState's perl port of 5.6. They both work good together, and under Windows 2000 all the major features seem to work fine. Obviously, some of the unix-isms that don't exist under Win32 must be worked around (shared memory? proper forking? p
Re:mod_perl on Windows (Score:2)
Re:mod_perl on Windows (Score:3, Informative)
threads support (Score:2, Interesting)
It might as well be called forking, to be honest, because it doesn't really qualify as threading.
Re:threads support (Score:1, Informative)
http://search.cpan.org/~gozer/mod_perl-2.0.0/docs
Re:threads support (Score:2)
General note: what is it? (Score:5, Informative)
This is what I know mostly by reputation, rather than direct experience, experts please feel free to correct me
--
#perl -e '$??s:;s:s;;$?::s;;=]=>%-{-|}&|`{;; y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Re:General note: what is it? (Score:5, Informative)
mod_perl lets you create Apache modules in Perl, that handle every stage of a request (or anything else), and are full peers of Apache modules written in C.
ModPerl::Registry[Prefork] is just a bonus. The more interesting m_p modules are authn/authz/dispatch modules that can replace cumbersome C equivalents.
y
Re:General note: what is it? (Score:2)
Gotta love the .sig (Score:1, Informative)
http://www.dlitz.net/stuff/malicious-perl-sig/ [dlitz.net]
API space rename hurt (Score:3, Interesting)
But, now we have to flash-cut our production systems, unless someone knows how to changes things to work under both namespaces...
Re:API space rename hurt (Score:1, Insightful)
I'd been happily using mod_perl2 since 1.99r12 or so.
But, now we have to flash-cut our production systems
Well that's what you get for using a beta release on production systems.
Re:API space rename hurt (Score:2)
Couldn't you make each use of the Apache API conditional upon $ENV{MOD_PERL_API_VERSION}?
CGI (Score:5, Informative)
For example, Mason [masonhq.com] is a pretty good tool for doing Perl-based web components.
So bitch about CGI if you wish, but that's not what Perl is for.
Re:CGI (Score:2)
Yes, you could make it work but the documentation was spread over different people's home pages and it was certainly presented as more of a hacker's hobby than a professional development environment (unlike Mason for Apache 1.3.x).
With good reason... (Score:2)
Look at what happened with the Great Namespace Change. You can't track that kind of thing and keep your rep.
Wait-and-release is sometimes a good policy.
Re:With good reason... (Score:2)
Re:Mason Support for mod_perl 2 (Score:1)
Re:CGI (Score:2)
I write my CGI apps in bash. Yes, bash. Pipelines are fun and nearly unparalleled in any language for their power and flexibility, and I have a vast function library in the filesystem. Obviously this is neither secure nor performant, but that's the quick and dirty start.
When it needs to get more complex, I'll put it in perl either as mason components or a FastCGI. More FastCGI, less mason these days. Some of my stuff works better in python b
Re:CGI - don't be absurd (Score:2)
CGI may be stupid and dead...
I think you need to readup on what the CGI actually is [uiuc.edu].
Your statement is as wrong as if you'd said that HTTP was dead when IE claimed the browser market.
PHP, ASP, Perl, Bash - and many other languages - can use the CGI to talk to web clients over HTTP.
I think what you were trying to say is that CGI scripting in Perl is stupid and dead. I'd even disagree with that to a degree, but that's probabl;y closer to what you meant.
cLive ;-)
Re:CGI - don't be absurd (Score:2)
I think that too many people, from C*Os to programmers tend to look at technology as a series of shiny things and assume that each new one is the be all and end all of creation (instead of just a tool with its own set of pros and cons in every situation).
'Course enough are al
What defines dying? (Score:5, Interesting)
Is it dying? It it the end of fun? (Score:5, Interesting)
Exactly. But I guess that is what so many don't like. As Larry Wall said:
I gess some prefer programming to be boring.
I don't.
Re:Is it dying? It it the end of fun? (Score:2)
Languages are tools. I prefer mine to be predictable, allowing the real wizardry to be in what you do with them, not with knowing how it deals with some particular edge condition.
Re:What defines dying? (Score:2)
Re:What defines dying? (Score:2)
When I hear forced structure, I generally think of Fortran. I dislike Fortran.
Re:What defines dying? (Score:2)
Comment removed (Score:5, Informative)
Neat. (Score:1)
merits of perl, the future of parrot (Score:3, Insightful)
I did a lot of perl programming back in the day. Although I still like it a lot (I think the DBI is one of the best database libraries out there), I do find myself working more and more in both python and ruby for rapid development.
If you love perl but sometimes get a headache from staring at long lines of code with lots of sigils, braces, and parentheses, take a look at ruby. From what I've seen of Perl6 so far, it will also clean up some syntax while retaining neat perlish tricks and adding a lot of advanced programming language features.
I have high hopes for the parrot project too. Maybe one day we'll all be able to write parts of our apps in ruby, python, perl6, ponie, and integrate them together on a common VM platform. I think this would be an incredible step for open source software development! Still, I'm not going to hold my breath waiting for this... it looks like this scripting nirvana is still pretty far off.
parrot (Score:2)
Powerful (Score:2, Informative)
There are excellent performance benefits in writing Apache handlers... and mod_perl simply allows them to be written in perl.
The last application I developed handled multi-millions of records per day without flinching. There were dozens of users and several extremely complex equations and correlations done...
In the end, it outperformed the o
Re:Does anyone actually still use Perl? (Score:1, Funny)
I don't think so, netcraft didn't confirm anything like that
Obligatory Futurama Quote (Score:2, Funny)
Obligatory Futurama Quote:
Farnsworth: And this is my universal translator. Unfortunately so far it only translates into an incomprehensible dead language.
Cubert: Hello.
Universal Translator: Bonjour!
Farnsworth: Crazy gibberish!
(Source: A Clone Of My Own [geocities.com])
Re:Obligatory Futurama Quote (Score:1)
Re:Slashdot Offshoring Myths (Score:3, Insightful)
if someone with no education can do your job cheaper, you don't deserve your job
Not every job needs to be one that requires education. Many people do great work, without education- they jut have the skill and drive to do a better job than others.
I recently went from being a non-degreed schmuck, to one with a degree. This didn't make my work any better.
dumb arse (Score:3, Interesting)
hrmm... this kind of looks like a perl cgi, most likely living in mod_perl!
get a clue dumb arse.
int 20h;
Re:Perl still used? (Score:2, Redundant)
Until management finally pony ups some money to rebuild them.
And when they do...it will probably be
So- perl, or
Re:Perl still used? (Score:2)
There are plenty of perfectly good up-to-date ways to do things, such as with python or PHP. Both of which are at least a capable as
Re:Perl still used? (Score:2)
So, when I said 'until management ponys up some money' I was talking about projects that actually cost money...
Re:Perl still used? (Score:2)
The apps we have work very well, and are well written (modular, use OO, and always use 'strict), so they are easy to maintain, and - get this - very easy to read for a professional coder who knows some Perl. Stuff like HTML::Template/Template::Toolkit, Class:DBI, and other modules are really ni
Re:Perl still used? (Score:5, Informative)
What do you think that ".pl" in most slashdot URLs stands for? PHP Light? Phyton Lowspeed? Perhaps Lisp?
PL/1? (Score:2)
Seehttp://www.99-bottles-of-beer.net/language-pl- i -548.html [99-bottles-of-beer.net]
BOTTLES: PROC OPTIONS(MAIN);
DCL NUM_BOT FIXED DEC(3);
DCL PHRASE1 CHAR(100) VAR;
DCL PHRASE2 CHAR(100) VAR;
DCL PHRASE3 CHAR(100) VAR;
DO NUM_BOT = 100 TO 1 BY -1;
PHRASE1 = NUM_BOT||' Bottles of Beer on the wall,';
PHRASE2 = NUM_BOT||' Bottles of Beer';
PHRASE3 = 'Take one down and pass it around';
DISPLAY(PHRASE1||PHRASE2);
DISPLAY(PHRASE3);
END;
PHRASE1 = 'No mo
Re:Perl still used? (Score:3, Funny)
Re:Perl still used? (Score:2)
never dare utter the equivalents in russian but they
have no qualms about using english.
Re:Perl still used? (Score:5, Informative)
Who still uses Perl for web stuff?
Ohh, I don't know... how about Amazon and Salon [masonhq.com]? Kuro5hin [kuro5hin.org] and all the other Scoop based sites like DailyKos [dailykos.com] and MyDD [mydd.com]. And now that I think about it, MovableType, TypePad, and LiveJournal are all writen in Perl.
Re:Perl still used? (Score:1)
Re:Perl still used? (Score:3, Informative)
Re:Perl still used? (Score:2)
.
.
.
.
.
Your head.
I hope this map helps you and the dozen other respondents.
Re:Perl still used? (Score:2)
Re:Perl still used? (Score:3, Informative)
If you're still thinking in terms of CGI, then it's close to a wash.
However, mod_perl isn't about CGI. mod_perl is about exposing the Apache API to you. Want to build a caching system that doesn't require a single line of code to be executed for 90% of incoming requests? You can do that with mod_perl. Want to proxy some requests based on the protocol version the browser uses? mod_perl
Re:Perl still used? (Score:2)
Re:Perl still used? (Score:1)
Currently I am considering Ruby on Rails [rubyonrails.com] or Catalyst [cpan.org], wich is an MVC written in perl.
Quote from the Intro.pod:
Catalyst [cpan.org] is an elegant web application framework, extremely flexible yet extremely simple. It's similar to Ruby on Rails, Spring (Java) and Maypole, upon which it was originally based.
Re:Perl still used? (Score:5, Informative)
Amazon.com [amazon.com] - E-commerce pioneer seeking to offer the world's largest selection of products online. for details.
AvantGo [avantgo.com] - Mobile applications for handheld devices.
DynDNS.org [dyndns.org] - One of the world's largest providers of free and premium Dynamic DNS services.
Findory [findory.com] - Personalized news and blogs aggregator. Findory learns what kind of content you like by the pages you read.
Live365.com [live365.com] - The world's largest Internet radio website.
Salon.com [salon.com] - Online magazine covering news, politics, technology, art, sex and health; winner of numerous web awards.
Weta Digital [wetadigital.com] - Weta Digital are well known as the special effects people behind the Lord of the Rings films. At his OSCON 2004 keynote, Milton Ngan of Weta Digital thanked some technologies, including Mason, which is used as part of their intranet.
A
AcuTrans.net [acutrans.net] - Home page for AcuTrans [slashdot.org], a company providing an online content management system integrated with transcription services (built with Mason) for business, legal, medical, and self-insured companies.
Adventist.org [adventist.org] - The official web site of the Seventh-day Adventist Church.
Alhazred [alhazred.com] - Progressive music project being produced with open source/free software
Alzabo.org [alzabo.org] - Home page for Alzabo data modelling tool.
American Lung Association of Washington [alaw.org] - Assuring lung health for the people of Washington state through research, education, community service and advocacy.
Apartments [rentersinc.com] - Apartments for rent by RentersInc [slashdot.org].com. Free apartment search engine and apartment guide.
arabellan [arabellan.com] - Web presence of Ryan "Exide Arabellan" Zander, a graphical artist.
astrojax.com [astrojax.com] - amazing fun and action game - community website with lots of features.
Autismeinfocentrum.nl [autismeinfocentrum.nl] - Information- and documentationcentre about autism and related subjects in the Netherlands.
AutoSupplyUK.com [autosupplyuk.com] - Used Japanese import auto store.
B BDO [www.bdo.at] - Austrian tax consultancy
Beotechnic [beotechnic.com] - Company specializing in knowhow transfer
Bikeworld.com [bikeworld.com] - Online retailer, sporting a new 100% Mason-powered site that was developed entirely in-house.
bizjournals.com [bizjournals.com] - Publisher of 41 weekly business newspapers across the US.
BlackSpider [blackspider.com] - Managed services provider focused exclusively on the provision of e-mail security solutions.
Burma-Shave.org [burma-shave.org] - All of the original Burma-Shave jingles, plus the Burma-Shave Daily mailing list.
C
cibera.de [cibera.de] - cibera is an online library site which offers a central access point to interdisciplinary material concerning the Spanish- and Portuguese-speaking area as well as the Caribbean.
Cars [icarsinc.com] - iCarsInc [slashdot.org].com Cars for sale. Buy and sell new and used cars online. Your next auto purchase starts right here. Find new, used, classics, sports cars, luxury cars, trucks, SUVï [slashdot.org]½s and even motorcycles for sale.
Re:Perl still used? (Score:2)
Bikeworld.com - Online retailer, sporting a new 100% Mason-powered site that was developed entirely in-house.
Wait a minute...That's me!
Are you copying this from some place?
Chris
Of course. (Score:2)
(This is from masonhq [masonhq.com].)
You don't think I typed that from memory, did you?
Re:Great (Score:1, Informative)
Re:Great (Score:2, Interesting)
Furthermore, Perl has a bigger chance than Python of being installed on Linux distributions by default. This alone is a good reason to choose Perl over Python. Don't get me started about Ruby.
Re:Great (Score:2)
The whole website is around 100'000 lines of library oriented perl code, and is imo very well structured, commented and maintained. It is more than a website though, it is basically a group management system, with all the needs of it.
For the casual viewer it may seem that the website lacks features and kind of no-confort one, but it actually has a wide array of tools to use.
Re:Great (Score:2)
What linux distribution installs perl, and not python, by default?
The benefits of Python over Perl are large enough to make the install of python a requirement, and a criterion of choosing a service provider. At least if your programs are going to be larger than 200 lines or so.
Python: Syntactically significant white-space (Score:2, Flamebait)
Re:Python: Syntactically significant white-space (Score:2)
Re:Python: Syntactically significant white-space (Score:2)
Re: (Score:2)
Re:Python: Syntactically significant white-space (Score:2)
It's not about me, it's about my users. Try telling your grandma to install "Ruby".
Re: (Score:2)
Re:Python: Syntactically significant white-space (Score:2)
Most people find that they like the whitespace after half an hour or so of trying it. I don't see why you'd be different. Perhaps a minor tweak of attention span would be in order...
Re:Python: Syntactically significant white-space (Score:2)
Still, there are sites like this [www.amk.ca] that list flaws in the language, and the community tends to whine about the warts all the time. The warts are also going to be fixed. The whitespace issue is not considered a wart.
I do suggest he tweak his attention span. To tune unhelpful people like yourself out.
It's generally considered a good thing to try to avoid giving up immediately. It's an extremely important virtue fo
Re:Python: Syntactically significant white-space (Score:3, Interesting)
I think python's weird "half-closed" ranges, the fact that "print" is a hardwired built-in and not a first class function, its lack of real closures (they're still read-only), crippled lambda compared to sub and anonymous blocks (I'll give ruby the win there), surprising behavior like l
Re:Python: Syntactically significant white-space (Score:2)
Re:Great (Score:2)
If you're such a bad developer that you can't possibly write good, clean and maintainable code in Perl, then Python won't help you much.
Re:Great (Score:2, Flamebait)
Believe me, it does. In Python the good, clean, maintainable code practically writes itself. In Perl, the good, clean, maintainable code won't even *run*
Even if the code was semantically "correct" and good, it would still be ugly and painful to write because of all the $@->.
Re:Great (Score:2)
If you put $@->. in your code, I sure understand why you find it painful
Or with some more verbosity:
Re:Great (Score:2)
Re:Great (Score:2)
Re:Great (Score:2)
Isn't it more like $@%& ? You can almost think I wanted to type something else there - surely it is a sign...
Seriously, though, from the point of view of language design, Perl is simply awful. It's an incoherent, inconsistent, and higly unreadable language. Most of design decisions there simply don't make any sense. OOP system is just a hack, and most of language features a
Re:Great (Score:2)
Re:Great (Score:2)
Just answering your question here; not trying to suggest one thing over another, but Debian and most Debian-based distributions do a minimal install of perl (perl-base) with the most basic core install while python is out in the cold. Lots of packages rely on perl to run pre/post install scripts. I am not sure if languages other than sh and perl are actually allowed for this task, so this fact may simply be an artifact of the packaging requ
Re:Great (Score:1, Interesting)
While going 100% with one language or tool or OS might be ideal, it just isn't practical for many of us.
There are so many useful modules in CPAN and I don't see Ruby or Python catching up in the next 2-3 years.
Perl5 might be ugly now when compared to newer languages, but I'll always be grateful for all the time-saving CPAN modules and the inspiration the langua
Re:Wooo!! (Score:2)