Forgot your password?
typodupeerror
Perl Programming The Internet

BBC Creates 'Perl on Rails' 216

Posted by CmdrTaco
from the this-isn't-the-third-rail-is-it dept.
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."
This discussion has been archived. No new comments can be posted.

BBC Creates 'Perl on Rails'

Comments Filter:
  • Holy Crap (Score:3, Funny)

    by Anonymous Coward on Saturday December 01, 2007 @12:33PM (#21544495)
    Good god, did anyone proofread that first sentence? Its almost incomprehensible by normal, english-speaking humans.
    • by Cheesey (70139) on Saturday December 01, 2007 @12:59PM (#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.)
      • by Cairnarvon (901868) on Saturday December 01, 2007 @03:02PM (#21545725) Homepage
        If it was meant to be easy to understand, we wouldn't have called it "code".
    • by pdbaby (609052) on Saturday December 01, 2007 @01:19PM (#21544841)

      I don't see the problem...

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

    • You've obviously never read a Victorian novel.
    • WTF it's about Perl,the sentence just attempts to sets a proper tone for the subject, do normal English speaking people understand Perl?
    • by PPH (736903)
      Henry Higgins, where are you when we really need you?
    • There's nothing wrong with it, it seems to be proper grammar. It is a bit confusing and should have been edited into two sentences for easier reading.
  • by Anne Thwacks (531696) on Saturday December 01, 2007 @12:40PM (#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: (Score:2, Funny)

      What about http://www.sqlonrails.com/ [sqlonrails.com] ? It rocks!!
    • Re: (Score:3, Funny)

      by rho (6063)

      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.

      • by Tumbleweed (3706) *
        I'm holding out for Rails on Rails.

        I'm holding out for Assembly Language on Rails.

        As a side note: It's not Assembler. That is the thing that does the assembling. You don't write in compiler, do you?
        • by Kingrames (858416)
          Oh, something like that.
          All of my computer programs are the same "Hello World" application I did for my first project in college. I just rewrite the compiler from scratch to create new programs from it.

          You insensitive clod.
  • by thammoud (193905) on Saturday December 01, 2007 @12:42PM (#21544555)
    Take two of the weirdest looking syntaxes and fuse them together. Life time employment.
    • by jhoger (519683) on Saturday December 01, 2007 @03:45PM (#21546075) Homepage
      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.
      • I don't know perl. I find it daunting and intimidating. The syntax looks like there was an explosion at an ASCII factory.

        Just like the flamewar that exploded yesterday over HTML/CSS, the success of a language is largely dependent upon how easy it is for newbs or non-technical folk (ie. designers) to pick up. Not all of us have PhDs in CS, or enough time to pour over volumes of texts to learn the language. If you make the language easy to learn, and put in safeguards against common newb mistakes, it's b
        • by jhoger (519683)
          As a professional programmer, easy to learn is somewhere on the list of ideal language attributes but it's nowhere near the top.

          I put a language in my bag of tricks if it gives me leverage to solve a wide class of problems in an effective and efficient manner. I ended up liking Perl syntax just fine once I had learned it.

          In any event, it's hard to call Perl an unsuccessful language. Based on the breadth and depth of available CPAN modules, and the fact that Perl support is a given on most web hosts, you hav
          • Oh, I never doubted that it wasn't successful. PERL *is* a good language. However, I don't foresee all too many new PERL programmers jumping on board, when Python and PHP are easier to learn, and are more or less "just as good" as PERL.

            However, programmer-friendliness is crucial these days for new languages. The number of fairly apt computer users is quickly growing, whereas the number of professional programmers isn't changing all that much. It therefore stands to reason that languages that don't requi
      • Re: (Score:3, Insightful)

        by Tumbleweed (3706) *
        Perl is readable to those that know Perl. I know Perl and I find idiomatic Perl readable.

        I think it more accurate to say that Perl code is readable to the person that wrote that particular piece of code. Since there are a million and one ways to do anything in Perl (and this is considered a 'strength'), then when another Perl hacker comes along and can't understand what the previous Perl hacker did, they rewrite the whole thing the way they know how to do it. That doesn't meet my definition of 'readable.'
        • The old programmer didn't document the code properly or the new programmer was to lazy, inexperienced or incompetent to take the time to understand the old programmer's work. Whatever the reason the language used, perl or otherwise, is not to blame.
        • > I think it more accurate to say that Perl code is readable to the person
          > that wrote that particular piece of code.

          If documented properly, it readable by others too.

          The issue is that many programmers take undue advantage of Perl conciseness by not documenting their particular sleights of hand.

      • by mkcmkc (197982)

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

        The question isn't whether or not those who know a language find it readable. Of course they do. The question is how readable the language is to those who haven't studied the language for years, and how much study it takes before the language is readable. In this sense, Perl is quite a poor language.

        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.

        If I seem bitter, it's because 98% of the messes I have to clean up are written in Perl. The best thing I can say for Perl (and C++) right now is that it's a great "crap magnet". That is, if something's n

        • by jhoger (519683)
          On the contrary, if a programmer doesn't know Perl well, then he or she is not qualified to maintain Perl code. Such a programmer is plain and simple, a danger to the code base. Maintenance programming is hard. It means getting into someone else's head enough to make adjustment to their implementation without introducing regressions, or rewriting stuff and losing important features or bugfixes in the process.

          So, what do you know, maintenance work is often given to junior engineers, who are as a rule do not
  • Super (Score:5, Funny)

    by brunes69 (86786) <<gro.daetsriek> <ta> <todhsals>> on Saturday December 01, 2007 @12:48PM (#21544603) Homepage
    So... is this trying to combine the slowness and unscaleability of Ruby on Rails with the unreadability of Perl?
    • Re:Super (Score:4, Insightful)

      by Nazlfrag (1035012) on Sunday December 02, 2007 @01:08AM (#21549641) Journal
      Ahh, the old 'double negative' development methodology. They should have just gone with Microsoft Office SharePoint Portal Server, that's got full enterprise grade quadruple negative power.
    • Re: (Score:2, Insightful)

      by ^Case^ (135042)
      Why is it that every time somebody mentions Ruby on Rails people have to say it's slow and unscalable? I'm getting kind of tired seeing this myth propagated. Ruby may be slower than $LANG but it's not that much slower, and the Rails shared nothing architecture makes it infinitely scalable up to the point where the database backend can't keep up anymore. And once you get there it's not really the framework that doesn't scale anymore is it?

      Additionally the expressiveness of Ruby combined with the conventions
  • Conspiracy! (Score:5, Funny)

    by creimer (824291) on Saturday December 01, 2007 @12:52PM (#21544637) Homepage
    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!
  • by Anonymous Coward on Saturday December 01, 2007 @12:53PM (#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.
    • Free to use for those who have actually paid for it.
    • by adrianmonk (890071) on Saturday December 01, 2007 @04:08PM (#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.

    • not only that, if you don't use the BBC product but simply own a computer you have to by law sign up to it and pay the £135 license fee, but then you get to proclaim proudly to the rest of the world we have the best gov't controlled BBCPL-licensed products.
  • glark (Score:3, Funny)

    by Juln (41313) on Saturday December 01, 2007 @12:55PM (#21544653) Homepage Journal
    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.
  • by Adambomb (118938) on Saturday December 01, 2007 @12:57PM (#21544669) Journal
    With all that the perl community sees in terms of mockery, did you REALLY need to add "powers the BBC iPlayer" to it?
    • by turgid (580780)

      Never underestimate the insanity of the British Public Sector.

    • Re: (Score:2, Insightful)

      by value_added (719364)
      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
      • Re: (Score:3, Insightful)

        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
        • Re: (Score:2, Informative)

          by chromatic (9471)

          ... 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.

          • 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?
            • by chromatic (9471) on Saturday December 01, 2007 @05:49PM (#21547143) Homepage

              But since I have you on the line, so to speak, are you in fact asserting that Perl is like natural languages?

              Yes, to some degree. The primary goal of Perl, like other programming languages, is to communicate with other programmers. There appear to be two schools of thought on how to do this. One of them comes from the mathematicians, who appreciate simplicity and uniformity of expression (as least per their on definitions of both) as a primary design criterion. The other comes from the linguists, who (in my opinion) have somewhat better ideas of how people (not just mathematicians) really communicate.

              I'm not saying that one is bad and the other is good. You'd never likely get the Turing model or the lambda calculus out of a linguist, for example, and COBOL and AppleScript aren't great examples of applying linguistic principles to language design either -- so there's a balance to strike between them.

              I'm not sure either linguistics or computer-language development is well served by this comparison.

              I agree to some degree, but just because no one has ever done it perfectly doesn't mean it's not worth doing.

              On a day-to-day basis, does it actually guide your choices about the language?

              Yes, actually. Remember that Perl is an artificial language, so it can simultaneously be more and less a pastiche than English. Consistency and syntactical similarity of semantics are important in natural language (avoid false cognates) but even more so in a programming language. The Perl 6 designers believe strongly that similar things should look similar and dissimilar things should look dissimilar. As well, concepts such as noun markers and subject-verb agreement (context) are present in Perl, as well as pronouns (topicalization). This brings up other problems such as ambiguous antecedents.

              The designers evaluate new operators and concepts in terms quite heavily. Mnemonics are important, as well as the proper length of identifiers and semantics of their names. For example, Perl 6 uses say instead of println because we believe it will be a frequent operation -- more frequent than print and as such deserves a shorter identifier. Whatever the syntax for accessing the current continuation will be, it's likely to be somewhat longer, as it's not something we want people to need to use more than a few times.

              • Chromatic,

                From (my) snark to (your) informativeness in two posts. Bravo. Thanks for taking the time; I understand that this is something you are intimately involved with and in a position to speak about authoritatively.

                The principle that a programming language should be designed in light of its function as a medium of communication between programmers seems like a very insightful one, and I can understand that with that goal in mind, study of human communication is probably more useful than study of algor
      • by jrockway (229604) <jon-nospam@jrock.us> on Saturday December 01, 2007 @02:17PM (#21545305) Homepage Journal
        > $ 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: (Score:2, Interesting)

          by poopdeville (841677)
          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 c
      • by Adambomb (118938)
        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 =).
      • by belg4mit (152620)
        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.
      • by Tumbleweed (3706) *
        Much of Perl has a striking resemblance to natural language, given that it's author, Larry Wall is a trained linguist.

        Well, I know *I* feel like I've been struck after having to look at some Perl code. Trained linguist? Jesus!
  • by Phroon (820247) on Saturday December 01, 2007 @01:32PM (#21544949) Homepage
    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]
  • The obvious name [perlonrails.org] is, at the time I write this, still available.
  • 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).
  • Ruby, I told you not to take your love to town [youtube.com].
  • Never mind the merits of perl or ruby, the question inquiring minds in the UK want to ask is, how can we stop spending money on this project? We are not interested in funding the BBC to invent new programming methods, languages or anything else. We do not want to be forced to fund magazines and various news channels we do not watch, and appalling non-stop comedy channels that make our toes curl, and iplayers that don't work with our computers....and so on and so on!

    How do we stop this train and get off?

    An
    • Re: (Score:3, Interesting)

      How do we stop this train and get off?

      Complain to your elected representatives, perhaps? Now THAT's thinking outside the box!

  • There is an insightful thread on the Catalyst mailing list [scsys.co.uk] about this. In summary it looks that:
    • The code has not been released - so all the discussion is a bit void
    • The reasons for it's development seem to be based on misunderstandings and 'white listing' of allowed modules (plus only Perl 5.6 allowed)
    • It looks like Siemens, which in some way administers BBC working environment, is very reluctant to white list new CPAN modules - so the BBC developers reinvent on a grand scale.

    If someone knows someone fr

Real Users never know what they want, but they always know when your program doesn't deliver it.

Working...