8 ms·
Perl on Rails (2007)
- jamesfinlayson 4y ago... I'm guessing it was replaced by something a while ago now?
- helsinkiandrew 4y agoLooks like a mixture of React and AWS Lambda https://www.bbc.co.uk/blogs/internet/entries/8673fe2a-e876-45fc-9a5f-203c049c9f9c https://www.bbc.co.uk/blogs/internet/entries/8673fe2a-e876-4... https://static.files.bbci.co.uk/core/storybook/index.html?path=/story/introduction--page https://static.files.bbci.co.uk/core/storybook/index.html?pa... > The vast majority of the BBC’s webpages are rendered on AWS, using React. React’s isomorphic nature allows us to render the pages server-side (for best performance) and then do some further updates client-side. > Increasingly, the rendering happens on AWS Lambda. About 2,000 lambdas run every second to create the BBC website; a number that we expect to grow
- onei 4y agoI picked the first job that came up [1] and seems like at least one team is using Delphi with Oracle for the database. But the BBC isn't exactly small, so I'm not surprised there's a range. 1: https://www.totaljobs.com/job/senior-software-engineer/bbc-job99186442 https://www.totaljobs.com/job/senior-software-engineer/bbc-j...
- mandis 4y ago> render the pages server-side (for best performance) and then do some further updates client-side. I am curious, how does this imapct SEO?
- helsinkiandrew 4y agoI'm guessing the main part of the content (for example the news story) is rendered server side, the client-side adds any personalisation if the user is logged in etc and adds panels for 'related'/most liked/read more news stories etc. This means the content can be both crawled for SEO and cached (there's cache hit and fastly headers in their responses)
- midasuni 4y agoSadly so. Still Perl around the organisation though in internal systems from that era which continue to work and still in daily use for producing news if nothing else.
- nallerooth 4y agoThat's the piece of information I miss in a lot of those stories. What happened X years later? We all love reading about strange projects, but it's not until someone sits down and writes a blog post about some old, custom system that you get the important insights (X was good, Y didn't work because reasons and nobody ever understood Z).
- that_guy_iain 4y agoI believe about 10-years ago they moved to PHP. They were one of the biggest PHP shops in the UK when I left the UK 8-years ago.
- mmaunder 4y agoI worked at the beeb around 2003 and built a very high traffic Perl application for Radio 1 called OneMusic to launch unsigned bands. It was interactive, not static, hit MySQL directly and blazingly fast. Was a huge success using existing libs. This was pre nginx on our public facing Apache/modperl and it handled very high traffic. BBC did have non static Perl applications so this whole thing is a false premise. They wanted to build a framework. In 2007 Perl had thousands of MVC frameworks in CPAN. The idea that the solution to static file hosting is to build yet another MVC framework is absurd. They did and were surprised Perl is fast. Yeah. It always was. And they reinvented the wheel.
- mst 4y agoI did two tranches of consultancy at the BBC. One, I fixed all of that team's problems but because I swore a lot under my breath about their existing code while I was doing so that team decided to be offended and made a decision to never invite me back (note, I quite possibly deserved that reaction, I'm still a blunt bastard but in those days I had the social skills of a thermonuclear device even as compared to now.) Two, I helped fix the iPlayer 2.0 rollout by spending two days teaching them how to DBIx::Class better and then spent the third day ripping through their code (with the team's encouragement) and managed to save the "show all programs of the same series" feature by breaking (with the PMs and the team's encouragement) its ability to be correct down to the hour across daylight saving time changes by replacing DateTime with Date::Calc. Damn good fun, and some of the most satisfying in the "I have earned what you paid for this and it makes me happy" days of my career. I think the only days of work I've enjoyed more were the time I spent two days diagnosing a problem with an NHS cancer lab sample tracking system that turned out to be a weird interaction between three different bugs in various things. Note: If you were a shadowcat.co.uk customer at the time and were one of the people to whom I said "sorry about this but this is a cancer lab, my previous commitments to deadlines are dead until I get this fixed" and replied with "well, yeah, of course they are, we knew who you were when we hired you, good luck", I love you all.
- damagednoob 4y ago> And they reinvented the wheel. Buried amongst the comments was this from one of the creators: > On the live environment we were told at the time we had Perl 5.6, and a few BBC approved perl modules. Nothing more! So that meant that catalyst a other solutions were out. I guess this could have been a defensive security policy. I think CPAN has had relatively few supply chain attacks like npm, pypi, et al. But that's probably due to it's popularity.
- stevebmark 4y agoRuby is well known as the “bad parts of Perl” so there’s a beautiful horror here. It’s also funny that Ruby is the slowest of the dynamic languages, and that Perl is much faster. They created a magnificent mind bending nightmare.
- jbverschoor 4y agoPython is actually slower than Ruby
- est 4y agoI assume Python 3.0 ~ Python 3.10 are slower than Ruby. https://programming-language-benchmarks.vercel.app/python-vs-ruby https://programming-language-benchmarks.vercel.app/python-vs...
- nerdponx 4y agoInteresting to see these results! I wonder how Ruby 2.x would stack up in this same benchmark.
- type0 4y agoThe benchmarks are meaningless if they can be influenced by coding styles.
- nerdponx 4y agoSort of. When I think of "which language is fast", I think of "when using idiomatic style". That, to me, is a good measure of how fast the language is, in general. Benchmarks on aggressively optimized code are fun and interesting too, because they can tell you the hard lower limits of performance in the language runtime. But most people will never end up optimizing their code so thoroughly, so it's not particularly useful if you're interested in how a real working program will perform.
- bhaak 4y ago
- petesergeant 4y agoComments are hilarious, especially knowing some of those people commenting most critically had recently been working at FM&T. At the short stint I did at the Beeb I spent a lot of time doing code for date maths using SSI and Perl before they decided to completely rewrite what we were doing in Flash. Perl is a great language, and Catalyst and Mojolicious are rock solid, as is DBIx::Class. I work all day with TypeScript now, but I miss working with Perl.
- TimCTRL 4y ago> Is 'Ruby on Rail' the monorail version? :P Haha
- azangru 4y ago> Perl is a great language I don't write Perl often, which probably explains why every time I go back to it (we have a legacy Perl app), I get tripped up, over and over again, by the sigils, and the rest of the visual noise — and I can't help wondering, why?. Why can other scripting languages deal perfectly fine with the ambiguity that Perl resolves with a dollar sign as opposed to a percent sign, or an at-sign, or a backslash. Why do I, as a programmer need to remember that when I assign a hash as a value to another hash, I want to write it with curly braces; whereas in other contexts I want to write the hash using parentheses and assign it to a variable prefixed by the percent sign? Why do I then need to prefix the variable with "my" or "our" at the time of declaration? Why don't I have to do this in other scripting languages, not even in php, which has preserved the dollar sign? It's utterly bizarre.
- liveoneggs 4y agojust re-read this comment you wrote, where you list out all of the rules that you forget, and you'll be on easy street
- petesergeant 4y ago> Why [does Perl use a lot of weird punctuation] Because that’s how it started, and it maintains absolutely fantastic backwards compatibility. All languages have foibles… > Why do I need to [declare variables prior to use] Because this isn’t Python
- rvieira 4y agoShouldn't it be Perl on Pails?
- Alifatisk 4y agoWhat’s pails?
- tmtvl 4y agoA pail is a bucket. So maybe a container reference?
- vogon_laureate 4y agoA joke
- Alifatisk 4y agoOh
- _dan 4y agoIs that Tom Scott as in Tom Scott?
- gpvos 4y agoHe's not the well-known Youtube personality: https://www.theguardian.com/media/pda/2008/nov/30/bbc-research https://www.theguardian.com/media/pda/2008/nov/30/bbc-resear...
- that_guy_iain 4y agoLast I heard the BBC moved to PHP about 10-years ago
- hestefisk 4y agoThose who do not understand Perl are doomed to reinvent it.
- hestefisk 4y agouse Perl;
- blop 4y agoI miss perl. I don't think there are any other scripting languages that allow you to write very concise one-liners that can do very complex things. That's also where perl got its bad reputation from, but it's more a discipline issue than a language problem. I always rewrote my explorative one-liners more cleanly when I committed them to a final program, but nothing forces you to do it like python does.
- ilyt 4y agoIt becomes language issue when you need to manage code written by others. Yes, the majority of bad rep it gets is because people picked it as first language and "just started coding", without reading up how to write stuff in readable way but that's... most developers. Not many start their new language adventure with code style guide and while say Python at least nudges you toward semi-readable code, Perl gives you enough rope to shoot yourself and nuke a nearby city along the way. And any of you that goes "well, ropes do not explode" clearly don't know Perl deep enough. That births a lot of shit code.... that new developers in a year or two now need to deal with too (which is bad) but also use as example on how to write it (which is way worse).
- nextaccountic 4y ago> I don't think there are any other scripting languages that allow you to write very concise one-liners that can do very complex things. Ruby maybe? It feels like a saner Perl to me
- tiffanyh 4y agoReminds me of SQL on Rails. https://youtu.be/0_PK1eDQyVg https://youtu.be/0_PK1eDQyVg I still crack up about this. Context is that in the early days of Rails, they did a lot of screencast showing how easy it was to create a blog and tons of code was generated for you making seem like with just a few commands you could create anything.