Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

BBC Creates 'Perl on Rails'

CmdrTaco posted more than 6 years ago | from the this-isn't-the-third-rail-is-it dept.

Perl 216

Bogtha writes "Long-time users of Perl for their public websites, and having successfully used Ruby on Rails for internal websites, the BBC have fused the two by creating a 'Perl on Rails' that has the advantages of rapid development that Rails brings, while performing well enough to be used for the Beeb's high-traffic public websites. This is already powering one of their websites, and is set to be used in the controversial iPlayer project as well."

cancel ×

216 comments

Sorry! There are no comments related to the filter you selected.

I would have gotten a first post... (0, Funny)

Anonymous Coward | more than 6 years ago | (#21544485)

If it weren't for the fact that Slashdot uses @#$%ing slow Perl!

Re:I would have gotten a first post... (1)

VampireByte (447578) | more than 6 years ago | (#21544927)

Pretty soon we'll be reading Slashdot on Rails.

We need a story about Russian railroads (1)

A nonymous Coward (7548) | more than 6 years ago | (#21544993)

Then in Soviet Russia, we can read about rails on slashdot.

Holy Crap (3, Funny)

Anonymous Coward | more than 6 years ago | (#21544495)

Good god, did anyone proofread that first sentence? Its almost incomprehensible by normal, english-speaking humans.

Re:Holy Crap (0)

quanticle (843097) | more than 6 years ago | (#21544537)

It is indeed a run-on sentence, but its hardly the worst example of such.

Re:Holy Crap (5, Insightful)

Anonymous Coward | more than 6 years ago | (#21544663)

Strange it may be, but incomprehensible and a run-on it's not.

"Long-time users of Perl for their public websites," - an appositive
"and having successfully used Ruby on Rails for internal websites," - another appositive, successfully connected with a conjunction
"the BBC" - the subject of the sentence (which the appositives are in apposition to)
"have fused the two by creating a 'Perl on Rails'" - a perfectly fine predicate
"that has the advantages of rapid development that Rails brings," - with a relative clause
"while performing well enough to be used for the Beeb's high-traffic public websites." - and another modifying clause.

In short: it's a sentence. It's grammatical. It's comprehensible. Quit whining.

Re:Holy Crap (3, Funny)

coleblak (863392) | more than 6 years ago | (#21545019)

The short sentences we use nowadays are a more recent innovation. In the past, run-ons were the bloody norm and they totally sucked; people who used them needed to be shot in a most painful and brutal area since they can make it such a bitch to read a paragraph aloud in class when you're thirteen and just wanting to get it over with and go back to looking at the cute girl who sits in front of you.

Re:Holy Crap (3, Funny)

zsouthboy (1136757) | more than 6 years ago | (#21545291)

I am interested in your ideas and would like to subscribe to your newsletter.

Re:Holy Crap (1)

The Anarchist Avenge (1004563) | more than 6 years ago | (#21545543)

scruffy seconds.

Re:Holy Crap (1)

chaosite (930734) | more than 6 years ago | (#21545415)

Hmm. That is a correct sentence when you look at it like that, but on first reading I assumed "Long-time users of Perl" was the subject, which indeed makes the sentence nonsensical.

Re:Holy Crap (0)

Anonymous Coward | more than 6 years ago | (#21546095)

Garden path sentence. [wikipedia.org]

Re:Holy Crap (0)

Anonymous Coward | more than 6 years ago | (#21545143)

Suggestions for you:
1. Go Back to School
2. Stop Reading Slashdot all day and go back to school
3. Stop thinking you're funny, when you are completely wrong
4. Stop buying things on credit

Have a good day.

Re:Holy Crap (1)

Goaway (82658) | more than 6 years ago | (#21545349)

Go Back to School
In school, they would teach you to use short and clear sentences.

Re:Holy Crap (0)

Anonymous Coward | more than 6 years ago | (#21544625)

You can have accurate news, dependable news, or comprehensible news. Pick any two. The BBC Chose the first two.

Re:Holy Crap (4, Funny)

Cheesey (70139) | more than 6 years ago | (#21544689)

Its almost incomprehensible by normal, english-speaking humans.

Yes, but add a few $'s and %'s in the right places, and it turns into a one-line cross-platform implementation of iPlayer written in Perl. (If your Perl code can be understood by humans without extreme effort, you're just not trying.)

Re:Holy Crap (1)

palegray.net (1195047) | more than 6 years ago | (#21545297)

Too much work to add characters in the right places. I've got a surefire method for implementing iPlayer in Perl:

#!/usr/bin/perl
system 'iplayer';

Re:Holy Crap (1)

slaingod (1076625) | more than 6 years ago | (#21545721)

Of course, ruby supports almost identical $ and % shortcut functions, thought thankfully they are deprecated.

Re:Holy Crap (1)

Fallingcow (213461) | more than 6 years ago | (#21546509)

"Shortcut functions"?

Uh...

$ = variable
@ = array
% = associative array

as in:

$foo = "Hello world";
print $foo;

or:

@bar = ('hello',"\n",'world');
foreach(@bar) {
print $_;
}

IIRC. I'm sure I got something wrong; I've been doing most of my work in PHP, and, more recently, Python. Haven't done much with Perl in years.

Re:Holy Crap (4, Funny)

Cairnarvon (901868) | more than 6 years ago | (#21545725)

If it was meant to be easy to understand, we wouldn't have called it "code".

Re:Holy Crap (1, Insightful)

Anonymous Coward | more than 6 years ago | (#21546189)

If your humans can't understand your Perl code without extreme effort, just put them to work coding in PHP again. And don't forget the dried frog pills.

Seriously, Perl can be understood by anyone with a few brain cells, and once you open your mind for some new concepts, you'll find that it's much more concise and powerful than the competition.

Re:Holy Crap (4, Funny)

pdbaby (609052) | more than 6 years ago | (#21544841)

I don't see the problem...

understand it easily if longtime perl programmer($self);

Re:Holy Crap (0)

Anonymous Coward | more than 6 years ago | (#21544895)

Geez English-speaking humans, is there something about commas that frightens you? Here's a tip: Stay away from books like "Swann's Way" or "The Phenomenology of Perception", you know, serious writing. Not the middle school level blog vomiting that people seem to accept as developed thought these days.

Re:Holy Crap (1)

furry_marmot (515771) | more than 6 years ago | (#21545255)

You've obviously never read a Victorian novel.

Re:Holy Crap (1)

Trintech (1137007) | more than 6 years ago | (#21545917)

I think you might be onto something here. I found this code snippet in a perl translator:

if($string =~ m/(I|i) (W|w)ant (S|s)ome (M|m)ore (F|f)ood/)
{$string = "Please, Sir, Can I have some more?\n"}

Re:Holy Crap (1)

budgenator (254554) | more than 6 years ago | (#21545339)

WTF it's about Perl,the sentence just attempts to sets a proper tone for the subject, do normal English speaking people understand Perl?

Re:Holy Crap (1)

PPH (736903) | more than 6 years ago | (#21545443)

Henry Higgins, where are you when we really need you?

Re:Holy Crap (1)

zenpickle (858214) | more than 6 years ago | (#21545611)

Yo grammar Nazis,

I just checked. My four year old had no trouble parsing this sentance. He didn't know any of the nouns but that didn't seem to trouble him. So are you trying to say my four year old isn't a normal human being?

Please stick with responding to content and generally stop wasting our time.

ZC

Re:Holy Crap (1)

blind monkey 3 (773904) | more than 6 years ago | (#21546777)

That's because it's written in Perl

Why the gay name? (-1, Flamebait)

Anonymous Coward | more than 6 years ago | (#21544513)

What's up with that?

Re:Why the gay name? (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#21544581)

Better ask your dad about that, Gerald.

Great another framework (1, Interesting)

Anonymous Coward | more than 6 years ago | (#21544543)

Why didn't they use Catalyst? http://catalyst.perl.org/ [perl.org]

Re:Great another framework (2, Insightful)

A beautiful mind (821714) | more than 6 years ago | (#21544623)

Exactly. They should have just went with Catalyst. RoR is overhyped. Perl on Rails just appears to be a way to hype something. Catalyst is actually a nice MVC spirited implementation that has the advantages of well written Perl code.

Surely the BBC of all organizations... (5, Funny)

goombah99 (560566) | more than 6 years ago | (#21544763)

Should have preferred Python or Parrot. I mean c'mon. nudge nudge know what I mean... She's a goer.

Re:Surely the BBC of all organizations... (3, Insightful)

eniac42 (1144799) | more than 6 years ago | (#21545365)

I mean... say no more. A nudge is as good as a wink to a blind bat..

Seriously though I dont know what the BBC is doing, smoking its way through £130m PA ($260m) of public money on computer "projects", like re-inventing mplayer/iPlayer/MediaPlayer.. Haven't we already done this? Shouldn't Aunty Beeb leave the hard-coding to the free market & concentrate on what it does best - artistic/jounalistic output?

Re:Great another framework (3, Interesting)

ricotest (807136) | more than 6 years ago | (#21545099)

According to the developers they were only allowed Perl 5.6 and a select group of BBC-approved modules on the live server. So Catalyst, CGI::Application, etc are right out.

IMHO another example of management red-tape costing developers time and resources.

Re:Great another framework (2, Insightful)

Anonymous Coward | more than 6 years ago | (#21545369)

When you're running a set of websites as staggeringly busy as theirs, paid for with public money, I suspect you'll have strict rules about what gets onto your servers.

Re:Great another framework (1)

poopdeville (841677) | more than 6 years ago | (#21545989)

Yes, indeed. And if you're developing a new product, you ought to get a clean slate. There's no reason not to pick out the latest (or even legacy but well-tested) Catalyst modules and freeze them on your server. Or put new ones through QA. I know mst and the rest of the Catalyst bunch would have been happy to help the BBC.

Re:Great another framework (0)

Anonymous Coward | more than 6 years ago | (#21545185)

Because they recognized it wasn't as good as their own product?

Catalyst is a joke that Rails programmers have been laughing at for quite a while now. A wannabe at best.

Re:Great another framework (3, Interesting)

paulthomas (685756) | more than 6 years ago | (#21545595)

The two frameworks fill different needs. Rails might be great for a completely new product, where you can fully take advantage of its "Convention over Configuration" motto as well as its neat integration between M, V, and C.

Catalyst aims to be an extensible framework. Sure, there are recommendations for new projects, such as using DBIx::Class as the ORM, or Template Toolkit for your view, but these aren't written in stone. Each layer is flexible. You can use CPAN modules to build your own models and views. Want world GDP data? Make a model that calls WebService::CIA. Have your own custom database model already? Use it! (SixApart did this with Catalyst + their partitioned database system + Memcached).

Catalyst is a little rough around the edges for some of the simpler cases that you might use RoR for, such as a plain old CRUD form system, which Rails will nicely generate for you, but for more complex applications Catalyst is not a bad choice.

Re:Great another framework (1)

onetruedabe (116148) | more than 6 years ago | (#21545645)

'Cuz "There's More Than One Way To Do It," duh! ;-)

(You could also ask why not CGI::Application, POE, CGI::Prototype, or innumerable others... You're right, though, Catalyst is the most RoR-esque.)

Speaking of... If it's Ruby on Rails, shouldn't the equivalent be "Perl on Piles" or something? *Shrug*

--
:- Dabe

Re:Great another framework (1)

bombshelter13 (786671) | more than 6 years ago | (#21546457)

This name was considered, but the acronym PoP was already taken by Python on Planes.

Madness, I say (4, Funny)

Anne Thwacks (531696) | more than 6 years ago | (#21544549)

I am going to create "PHP off the Rails" for developers of PHP websites. PHP developers will need no training, as most of them are off the rails already!

Re:Madness, I say (0, Troll)

Timesprout (579035) | more than 6 years ago | (#21544593)

I liked the 'We need Perl' quote from the blog. If you tell me you 'need' a language to implement a website I know I need to find someone else to build it. Sounds like a bunch of Perl coders who cant be bothered to learn another platform trying to keep themselves in jobs.

Re:Madness, I say (4, Insightful)

Just Some Guy (3352) | more than 6 years ago | (#21544641)

Sounds like a bunch of Perl coders who cant be bothered to learn another platform trying to keep themselves in jobs.

Sounds to me like a bunch of Perl coders with a few million lines of corporate code who thought this would be easier than learning another language for one specific smallish project.

Re:Madness, I say (3, Interesting)

kestasjk (933987) | more than 6 years ago | (#21544985)

Sounds to me like the BBC are using flat files and no database! They're talking about having tens of thousands of files in a directory, and having an archive of data on all shows the BBC is showing, but no mention of using anything other than flat files!

I seriously doubt they have very much Perl code around; there's not much dynamic content on BBC. I really can't imagine what their circumstances would have to be for it to be a sane option to rewrite Ruby on Rails in Perl

Re:Madness, I say (4, Insightful)

Just Some Guy (3352) | more than 6 years ago | (#21545081)

They're talking about having tens of thousands of files in a directory, and having an archive of data on all shows the BBC is showing, but no mention of using anything other than flat files!

Flat files that are pre-generated from a database backend, maybe. As in a cron job each night that does something like "for show in db.select(shows): generatestaticpage(show)". I'd be amazed if the whole site was just one big Dreamweaver folder that gets published.

I really can't imagine what their circumstances would have to be for it to be a sane option to rewrite Ruby on Rails in Perl.

"We have a database engine. We have a template system. We have a language that everyone in-house knows. Let's write a generalized method for combining the three!"

I suspect that happens a lot more often than you'd think. If anything, I consider it a testament to the BBC that they've decided to release their code so that everyone else doesn't have to reinvent it.

Disclaimer: I much prefer Python, and to me the BBC is that extra channel that has "Coupling" and "Ramsay's Kitchen Nightmares". I have no special love for Perl or the BBC. I just think that it's pretty cool of them to do this and wish them luck.

Nice sig, BTW. :-)

Re:Madness, I say (1)

kestasjk (933987) | more than 6 years ago | (#21545173)

From TFA:

Like most organisations the BBC has its own technical ecosystem; the BBC's is pretty much restricted to Perl and static files. This means that the vast majority of the BBC's website is statically published - in other words HTML is created internally and FTP'ed to the web servers.

And a couple of implication, including an effective hard limit on the number of files you can save in a single directory (many older, but still commonly used, filesystems just scan through every file in a directory to find a particular filename so performance rapidly degrades with thousands, or tens of thousands, of files in one directory), the inherent complexity of keeping the links between pages up to date and valid and, the sheer number of static files that would need to be generate to deliver the sort of aggregation pages we wanted to create when we launched /programmes; let alone our plans for /music and personalisation.
I really think the BBC is running without using a database, I wouldn't have believed it either but it's right there straight from the horse's mouth.

Nice sig, BTW. :-)
Ta (but you forgot the (PBUH) after the smiley face, you insensitive clod)

Re:Madness, I say (0)

suggsjc (726146) | more than 6 years ago | (#21545421)

I didn't read TFA, only your blurbs and here is what I extrapolated.

Like the GP I highly doubt that a site that large hand writes each page of their site. The "static" files you/they speak of are probably just the text/content of the page. Furthermore, they probably created a template system (in perl) that allowed them to pull all of the static files together to form a coherent page/site. That template system probably evolved (and then with more guided direction) into what they are now calling 'Perl on Rails'. Besides, using static files that are auto-generated via cron or similar mechanism would be much more efficient (consume less resources) that something that dynamically generates each request using a connection to backend database (think /. or digg or a wp blog).

Re:Madness, I say (0)

Anonymous Coward | more than 6 years ago | (#21545855)

Where did it say they've decided to release their code? I seem to have missed that part.

Or maybe you are imagining things.

Re:Madness, I say (1)

cheater512 (783349) | more than 6 years ago | (#21545125)

First you say that they shouldnt be using flat files and then you say that they dont have much dynamic content.

Make your mind up please?
If you have static content and a high load then a database is overkill.

Re:Madness, I say (1)

kestasjk (933987) | more than 6 years ago | (#21545311)

RTFA: They are deploying their Perl on Rails app so that they can have more dynamic content, which they couldn't have before because they're limited to static files and perl scripts. It's basically a hack that allows them to keep their Perl & flat file setup, while allowing dynamic content.

What I'm wondering is why they don't just use an existing framework and scrap whatever restrictions are keeping them using Perl and flat files.

Re:Madness, I say (1)

Just Some Guy (3352) | more than 6 years ago | (#21545913)

They are deploying their Perl on Rails app so that they can have more dynamic content, which they couldn't have before because they're limited to static files and perl scripts.

Well, I still think the correct interpretation is that they have a huge number of templated pages that are regularly statically generated. Maybe it's not a daily cron job that recreates the whole site, but a script that takes a template you just edited and turns it into a static page by running some Perl magic on it.

I'm guessing that "static" here means "non-interactive", not that each page exists in source form as the complete end-user-ready HTML. A huge advantage of this is that your webserver can employ massive naive caching; if two users requrest "foo.html", the second can be served from cache and not from having to regenerate the page. Maybe they want a few pages to be interactive while retaining a large chunk of static content.

Re:Madness, I say (1)

klept (895849) | more than 6 years ago | (#21546121)

I agree. I also agree with the first comment above about the total lack of this guy being able to write a comprehensable sentence in his article. Somebody from the BBC IT department last year wrote back to me about a screw up they had on one of their site pages regarding a radio program that wasnt replaying properly. He thanked me, and gave a long convuluted hack to replay the show. It reminded me of this friend years ago that was explaining to somebody about how to get a German Umlat typed. He had this big involved way of going through the edit menu etc, when all you have to do, as I remember, is press alt + some numbers. Amazingly the BBC never fixed that page / error that I wrote them about

Re:Madness, I say (2, Insightful)

omeomi (675045) | more than 6 years ago | (#21545011)

If you tell me you 'need' a language to implement a website I know I need to find someone else to build it.

Yeah! Especially HTML!

Re:Madness, I say (1)

Varitek (210013) | more than 6 years ago | (#21545187)

Sounds like a bunch of Perl coders who cant be bothered to learn another platform

If you'd read the article[1] you'd have found out that they use Ruby on Rails internally, and that's why they replicated its functionality in Perl. The reason they did that was because they weren't allowed to use anything other than Perl.

[1] Hahahahahahahahahaha[gasp]hahahahahahah

"need" is the new "want" (3, Funny)

petes_PoV (912422) | more than 6 years ago | (#21545727)

If you tell me you 'need' a language to implement a website ...

This is just word-inflation. in the same way that children nowadays "need" a chocolate bar.

In business, the best way to see if someone really "needs" something is to see how much hassle they're willing to suffer to get it. For example, if they need a $1000 product, then I'd need a 20 page justification. If they need to attend a conference in 'Vegas, I need them to work weekends to catch-up the time etc. You get the idea.

Re:Madness, I say (3, Insightful)

theshowmecanuck (703852) | more than 6 years ago | (#21545737)

Personally I don't know why people are always jumping to the 'language of the week'. I don't think 'progress' is the answer. I think too many programmers suffer from the 'we want the coolest new gadget' syndrome. Perl is a good and able language and if they have implemented another tool to help them do their job, then good on them. Why the hell should they bother to learn another platform. That is a ridiculous and juvenile argument. Constantly having to learn new languages just because a new flavour comes along reduces productivity, and makes it difficult to hire new people as there will never be enough people who know the languages on the bleeding edge. Meanwhile they probably have tons of Perl code already in place working just fine. So what if they don't like to use your favourite tool of the week and want to advertise their own favourite. No matter what you may say, they still know how to successfully build and implement one of the highest trafficked news web sites in the world. Shove that in you pipe and smoke it. Get a grip for Christ's sake.

Re:Madness, I say (1)

Slippy. (42536) | more than 6 years ago | (#21546363)

Nothing is "The Answer". Flavour of the week and new exciting tools are bad choices. Using old, leagcy stuff because you know it is bad. Both happen all the time where I work.

The good projects are the ones that uses established, reliable software to build a *well designed* system, and end up producing something that will be taken care of for years. Simple works better.

I have a preference for modular systems, but that's me. I don't really like perl for larger sites since it seems to lend itself to complication, but if handled well, maybe they can keep it somewhat simple.

If this works for BBC, have at 'er.

Re:Madness, I say (1)

Ai Olor-Wile (997427) | more than 6 years ago | (#21544601)

Screw that, we need Rails on Rails. Then we can port it to itself!

Re:Madness, I say (2, Funny)

rho (6063) | more than 6 years ago | (#21546885)

I'm not getting involved with any of this. I'm holding out for Rails on Rails. You don't have to write any code, you just submit a bid and the project is finished.

Wow. A consultants dream (3, Insightful)

thammoud (193905) | more than 6 years ago | (#21544555)

Take two of the weirdest looking syntaxes and fuse them together. Life time employment.

Re:Wow. A consultants dream (4, Insightful)

jhoger (519683) | more than 6 years ago | (#21546075)

Perl is readable to those that know Perl. I know Perl and I find idiomatic Perl readable.

And "job security" language choices is just as much a problem with regular employees as consultants. As a consultant there's been more then one occasion where I had to go and clean up the mess after some bored employee made an "interesting" language or framework choice presumably to keep themselves interested.

-- John.

Not good (-1, Troll)

Anonymous Coward | more than 6 years ago | (#21544579)

Didnt RTA, but all Microsofts fault.

Super (4, Funny)

brunes69 (86786) | more than 6 years ago | (#21544603)

So... is this trying to combine the slowness and unscaleability of Ruby on Rails with the unreadability of Perl?

Re:Super (1)

Seumas (6865) | more than 6 years ago | (#21545783)

Saying Perl isn't readable is like saying English isn't readable. It depends on whose hand the pen is in.

Re:Super (1)

brunes69 (86786) | more than 6 years ago | (#21546717)

When you're writing with a blunt tip fountain pen whose inkwell is clogged with dirt, it doesn't matter who is doing the writing. It is going to eventually end up a mess.

Conspiracy! (4, Funny)

creimer (824291) | more than 6 years ago | (#21544637)

This is proof that there is a conspiracy to make up absurd programming shenanigans to sell overpriced door stoppers! Coming soon...

"Perl on Rails for Dummies"

"Perl on Rails for Idiots"

"Perl on Rails Bible"

"Perl on Rails in 24 Hours"

"Perl on Rails in a Nutshell"

"Perl on Rails: The Missing Manual"

...at a bookstore near you to burn a hole in your wallet!

Re:Conspiracy! (1)

CRCulver (715279) | more than 6 years ago | (#21544699)

Most of those O'Reilly titles end up available for free from Bittorrent sites anyway.

Re:Conspiracy! (5, Funny)

Anonymous Coward | more than 6 years ago | (#21545133)

Not if you are a Comcast subscriber.

Re:Conspiracy! (2, Informative)

jrockway (229604) | more than 6 years ago | (#21545257)

Well, actually... there is a Perl MVC book on Catalyst:

http://www.packtpub.com/catalyst-perl-web-application/book [packtpub.com]

It's much better than the Rails books though :)

Re:Conspiracy! (1)

poopdeville (841677) | more than 6 years ago | (#21546057)

Hey, didn't/don't you hang out on #catalyst? I'm cidooh. It's been a while, you might not remember me.

(Replying anonymously because you seem to have put me on your enemies list)

Love,
poopdeville

Re:Conspiracy! (1)

shenanigans (742403) | more than 6 years ago | (#21546307)

Since the terms Rails and Ruby on Rails are trademarked, I doubt the "on Rails" name will survive for very long. BBC should probably have checked that out first.

Don't get your hopes up (4, Funny)

Anonymous Coward | more than 6 years ago | (#21544643)

This'll be UK-only; probably licensed under the BBCPL, which is like the GPL, but only for people in England, Scotland, Wales, and N. Ireland.

Re:Don't get your hopes up (0, Troll)

adnonsense (826530) | more than 6 years ago | (#21544873)

Why not use the UK-specific MCPL (Mad Cow Public License), the GPL version better suited to the British ecosystem?

Re:Don't get your hopes up (0)

Anonymous Coward | more than 6 years ago | (#21545169)

and will only be available to those who pay the Beeb license fee...

That could be reasonable actually (1)

Tim Ward (514198) | more than 6 years ago | (#21545929)

Free to use for those who have actually paid for it.

Re:Don't get your hopes up (3, Funny)

adrianmonk (890071) | more than 6 years ago | (#21546277)

This'll be UK-only; probably licensed under the BBCPL, which is like the GPL, but only for people in England, Scotland, Wales, and N. Ireland.

Could be worse. Could be released under the TVL (TV Licence), where you'd have to pay £135.50 per year to run the software. (Or £45.50 if your web site is in black and white instead of color.)

The good news then would be that if you live in your parents' basement and they have a TV Licence paid for, you can host the web site under their licence as long as the server is located in your parents' house.

glark (3, Funny)

Juln (41313) | more than 6 years ago | (#21544653)

Whatever.

As long as it somehow involves more and better Dr. Who reruns, I'm happy.

What? Their website? I want Dr. Who reruns on that, then. The ones with the curly haired guy.

Thanks a lot Beeb.. (3, Funny)

Adambomb (118938) | more than 6 years ago | (#21544669)

With all that the perl community sees in terms of mockery, did you REALLY need to add "powers the BBC iPlayer" to it?

Re:Thanks a lot Beeb.. (1)

turgid (580780) | more than 6 years ago | (#21544693)

Never underestimate the insanity of the British Public Sector.

Re:Thanks a lot Beeb.. (1, Insightful)

value_added (719364) | more than 6 years ago | (#21545129)

With all that the perl community sees in terms of mockery ...

Sniff. At the very least, we'd feel better if others could learn that it's Perl and not perl. ;-) I'll take this opportunity (in anticipation of the inevitable complaints about unreadable notation) to point out the following:

$ is for scalar, @ is for array, # is for hash

Not so hard, was it? Notice the mnemonic qualities? Much of Perl has a striking resemblance to natural language, given that it's author, Larry Wall [wikipedia.org] is a trained linguist. For the most part, it's those qualities that makes it easy to read and easy to write. And fun. But then, as with any language, there's often a widespread use of abbreviated forms of expression, or alternatively, idioms [wikipedia.org] , the use of which, when used by someone who is skilled, trained, or otherwise knowledgable, is commonplace and second nature, but when encountered by a non-native writer or speaker of that language, are difficult to comprehend and require time and practice to master.

That said, for a language as powerful, widespread, thoroughly documented, and easy to learn as Perl, I do find it disappointing that it's popularity has been eclipsed somewhat over the years. Go Beeb!

Re:Thanks a lot Beeb.. (2, Insightful)

BorgCopyeditor (590345) | more than 6 years ago | (#21545301)

Only Perl programmers think Larry Wall is a trained linguist. It would be more accurate to say he remembered some terms from a few linguistics classes he took as an undergraduate (notably "topicalization") and used them as metaphors to describe the rationale behind some design choices he made in creating Perl. The explanations aren't terrible, and some things in Perl's syntax were indeed "intuitive" by comparison with C, but the notion that Perl "has a striking resemblance to natural language" is a dream of people who don't really know much about how "natural language" looks, i.e., non-linguists.

Re:Thanks a lot Beeb.. (2, Informative)

chromatic (9471) | more than 6 years ago | (#21545769)

... the notion that Perl "has a striking resemblance to natural language" is a dream of people who don't really know much about how "natural language" looks, i.e., non-linguists.

... and several of the other trained linguists who use and develop Perl.

Re:Thanks a lot Beeb.. (1)

BorgCopyeditor (590345) | more than 6 years ago | (#21546849)

OK, I'm not going to pretend I know more than you about developing Perl, for obvious reasons. And my ignorance about the training of the people developing it is showing. But since I have you on the line, so to speak, are you in fact asserting that Perl is like natural languages? I'm not sure either linguistics or computer-language development is well served by this comparison. Do you think it is? On a day-to-day basis, does it actually guide your choices about the language?

Re:Thanks a lot Beeb.. (1)

ctzan (908029) | more than 6 years ago | (#21546865)

Actually Perl meets the 'natural language' criteria of some dillettante who had struggled unsuccessfully to learn a foreign language with a manual and grammar: no rule without at least 3 exceptions, and a lot of misleading and unused logical paths.

The weirdness of the syntax has no technical motivation; it's not like is reflecting some internal structures or following some coherent principles; it's a bunch of ad-hoc decisions based on the fact that somebody wasn't liking too many parantheses, or has just fallen suddenly in love with how nice a particular construct was looking in some other language.

When I was first learning perl, I couldn't make sense of why ex. push /^\s*#/ ? @c : @d, $_ wasn't working. I've taken the source and looked through it: perl wasn't keeping any track of the type of the return value of an operator, but was STILL enforcing some dumb type safety with a shallow kludge that was looking only at the direct arguments for its built-in functions, in a macro-toy-language way.

Re:Thanks a lot Beeb.. (3, Insightful)

jrockway (229604) | more than 6 years ago | (#21545305)

> $ is for scalar, @ is for array, # is for hash

% is for hash. And that's not really a good rule.

Given %hash, it's called @hash{@keys} when you slice it, and $hash{$key} when you only want one element. References always are scalar, so even though $foo->{bar}[42][2]{baz} is referencing a hash of arrays of arrays of hashes, you have a $ on the front.

Once you know the rules, it's fine... but it's not necessarily Perl's finest point (and this all changes in Perl 6 as a result). Even if you like Perl, you have to admit that there are lots of things wrong with it.

There are just less things wrong with Perl than any other language :)

Re:Thanks a lot Beeb.. (0)

Anonymous Coward | more than 6 years ago | (#21546329)

I can't comment on whether % is a good choice for the hash sigil, but # was already taken as it was used for comments in Shell scripts (remember that Perl has its roots in sh, awk, sed etc).

And @hash{@keys} and $hash{$key} are perfectly fine, too - you just have to keep in mind that the sigil is not part of the name but rather specifies the kind of structure you'll get. Slicing a hash yields an array, so you need a @ sigil; taking a specific value from a hash yields a scalar, so it's $ then. Same thing for references, too - a reference is a scalar, hence it uses $.

Of course, you may say that you'd prefer to not keep this in mind and that always using % (or whatever) for hashes, @ for arrays and $ for scalars would come natural to you. That's certainly fine; however, to others, what I've said above comes naturally, and keeping in mind that sigils *are* part of the symbol's name would require extra effort.

So it's really the same difference (although as you've noted, things have changed in Perl 6, since the former kind of people apparently are in the majority after all - at least the vocal majority.)

But then, if this is the biggest complaint you have about Perl, I'm happy, anyway. :) (Disclaimer: I'm not affiliated with Perl in any way; I just like it.)

Re:Thanks a lot Beeb.. (2, Interesting)

poopdeville (841677) | more than 6 years ago | (#21546557)

Given %hash, it's called @hash{@keys} when you slice it, and $hash{$key} when you only want one element.

I know you know this, but others don't.

The hash is always called 'hash'. The sigil provides datatype information for the intended return value of your access to the variable -- just about everything in Perl is an expression and has a return value. Program evaluation follows a model remarkably similar to what a functional language might use, evaluating sub-expressions as needed. I'm sure the internals could be better or smarter, but they definitely aren't bad.

Sigils also provide a simple namespacing mechanism, so you can have $hash (say, a reference to a hash) and %hash in the same scope.

And because there's that layer of indirection between the variable's raw values and its return value, you can inject code to make variables act differently than they normally would when accessed, by using the Tie mechanisms. As a result, a fair amount of Perl's OO syntactic sugar can in principle be defined in terms of Perl code instead of having to be a part of the interpreter. This mechanism is obviously open for abuse,

In fact, I'm starting to think that a closure-based object system could be made to replace Perl's "standard" OO system with minimal syntax changes through the use of ties.

Re:Thanks a lot Beeb.. (1)

Adambomb (118938) | more than 6 years ago | (#21546051)

Capitalize Perl in the shebang or command line and see how much Perl gets interpreted =)....without scripts, symlinks, or renaming. (and %hash)

Semantics Nitpick Counter-Attack #42562

Your confirmation for this waste of my employers time is 608232.

Plus, i'm on your side mon seigneur. If you want to find the source of its declining popularity please remember CGI.pm and Perl/TK. We did it to ourselves, despite improvements =).

Re:Thanks a lot Beeb.. (1)

belg4mit (152620) | more than 6 years ago | (#21546103)

Actually, convention is that it is Perl when used in the context of other capitalized things like Java and C,
otherwise it's humble old perl.

"But what if he were to have your brains and .... (1)

pH03n1X (859019) | more than 6 years ago | (#21544889)

... my beauty" - Bernard Shaw to a woman who wrote to him that she wanted to have children with him - "think of the child with your brains and my beauty."

Let me fix it for you (1)

El Lobo (994537) | more than 6 years ago | (#21544935)

...and is set to be used in the controversial on Slashdot iPlayer project as well.

There... thank me later

But what is Rails standing on? (4, Funny)

Phroon (820247) | more than 6 years ago | (#21544949)

At the end of the lecture, a little old lady at the back of the room got up and said: "What you have told us is rubbish. Web development is really Ruby supported on the back of Rails."

The developer gave a superior smile before replying, "What is Rails standing on?"

"You're very clever, young man, very clever," said the old lady. "But it's Rails all the way down!" [wikipedia.org]

Time to domain-squat! (1)

4thAce (456825) | more than 6 years ago | (#21545009)

The obvious name [perlonrails.org] is, at the time I write this, still available.

Not anymore. (1)

EricJ2190 (1016652) | more than 6 years ago | (#21545655)

Domain ID:D106018335-LROR Domain Name:PERLONRAILS.ORG Created On:04-Apr-2005 20:19:16 UTC Last Updated On:15-Oct-2007 18:37:19 UTC Expiration Date:04-Apr-2008 20:19:16 UTC Sponsoring Registrar:GoDaddy.com, Inc. (R91-LROR) Status:CLIENT DELETE PROHIBITED Status:CLIENT RENEW PROHIBITED Status:CLIENT TRANSFER PROHIBITED Status:CLIENT UPDATE PROHIBITED Registrant ID:GODA-011071713 Registrant Name:Marcus Adair Registrant Street1:4111 N Drinkwater Blvd Registrant Street2:C101 Registrant Street3: Registrant City:Scottsdale Registrant State/Province:Arizona Registrant Postal Code:85251 Registrant Country:US Registrant Phone:+1.6027514978 Registrant Phone Ext.: Registrant FAX: Registrant FAX Ext.: Registrant Email:gcomnz@gmail.com Admin ID:GODA-211071713 Admin Name:Marcus Adair Admin Street1:4111 N Drinkwater Blvd Admin Street2:C101 Admin Street3: Admin City:Scottsdale Admin State/Province:Arizona Admin Postal Code:85251 Admin Country:US Admin Phone:+1.6027514978 Admin Phone Ext.: Admin FAX: Admin FAX Ext.: Admin Email:gcomnz@gmail.com Tech ID:GODA-111071713 Tech Name:Marcus Adair Tech Street1:4111 N Drinkwater Blvd Tech Street2:C101 Tech Street3: Tech City:Scottsdale Tech State/Province:Arizona Tech Postal Code:85251 Tech Country:US Tech Phone:+1.6027514978 Tech Phone Ext.: Tech FAX: Tech FAX Ext.: Tech Email:gcomnz@gmail.com Name Server:NS15.DOMAINCONTROL.COM Name Server:NS16.DOMAINCONTROL.COM Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server:

But "Perl on Rails" is not alliterative... (1, Funny)

Anonymous Coward | more than 6 years ago | (#21545605)

how about "Perl on a Pogo Stick"?

What a sad choice (0)

Anonymous Coward | more than 6 years ago | (#21546349)

Between Larry Wall (Christian) and Ruby (Mormon)? How can I trust a language from someone who can't think logically? Seriously. Would you trust anyone who believes in Santa Claus past age 21?

Compromise is overrated. Python has an atheist founder.

I'm not a perl coder, so I don't know (1)

discogravy (455376) | more than 6 years ago | (#21546383)

But how is this substantially different from say Mason (http://masonhq.com)? I understood the Ruby-on-Rails thing is just a framework to get ruby to work with sites; afaik Mason is pretty much the same thing (I have worked with a site that used it in place of CSS stuff in the late 90's, and I know that large sites also use it, like ebay and amazon. it's great for dynamic content generated through perl scripts to be published).

Lol (0)

Anonymous Coward | more than 6 years ago | (#21546775)

When I first read the title I thought this was about a typo in some BBC article calling ruby on rails "perl on rails" and the ruby zealots were bitching, so I think this is a good outcome .
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>