Feeds

PHP victory over Ruby: was Gosling right?

Project failure 2.0

Providing a secure and efficient Helpdesk

Remember when Java father James Gosling got flamed for uttering the ultimate Web 2.0 heresy: scripting languages aren't good enough for enterprises?

The world's second favourite Canadian was taken down a notch or two for the thought crime of "not getting it". A year and a half later, and a user case study has popped up that supplies a nuanced twist to the debate.

Derek Sivers, a musician and online entrepreneur, found fame this week by telling the community he's cancelling a seemingly simple project to re-write his CD Baby site in Ruby on Rails after two years, and is sticking with the existing PHP language.

In the old world, we'd call that a project failure. Now all the rules are changed, though, it's probably been rebranded as something a little less negative to help downplay the wasted time, effort and money, and lost business.

What went wrong?

Despite hiring Jeremy Kemper, who is considered one of the industry's most capable Rails developers, and making good initial progress, Sivers found Rails too prescriptive.

"Jeremy could not have been more amazing, twisting the deep inner guts of Rails to make do things it was never intended to do," he said.

"But at every step, it seemed our needs clashed with Rails' preferences (like trying to turn a train into a boat. It's do-able with a lot of glue. But it's damn hard. And certainly makes you ask why you're really doing this.)"

Sivers has published seven reasons why he switched back to PHP. You can read them here.

Sivers runs a small shop, but his pain will strike a note with companies of all sizes and should serve as an object lesson in careful project evaluation.

Was it the technology - the immaturity or the complexity of the language, or the restrictions and inflexibility of the Rails framework? Maybe it was the classic customer error - picking the wrong technology for the wrong project, even though Ruby on Rails are - theoretically - at home building rich internet applications and interfaces. Or was the supplier at fault: did Kemper lack the technology and management skills for the project at hand?

Sivers's story is familiar to any enterprise IT project that's running late and over budget, and a lesson for developers being deafened by the noise on scripting.

Who thought a Canadian might be right?®

Secure remote control for conventional and virtual desktops

More from The Register

next story
Not appy with your Chromebook? Well now it can run Android apps
Google offers beta of tricky OS-inside-OS tech
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
Greater dev access to iOS 8 will put us AT RISK from HACKERS
Knocking holes in Apple's walled garden could backfire, says securo-chap
NHS grows a NoSQL backbone and rips out its Oracle Spine
Open source? In the government? Ha ha! What, wait ...?
Google extends app refund window to two hours
You now have 120 minutes to finish that game instead of 15
Intel: Hey, enterprises, drop everything and DO HADOOP
Big Data analytics projected to run on more servers than any other app
prev story

Whitepapers

Secure remote control for conventional and virtual desktops
Balancing user privacy and privileged access, in accordance with compliance frameworks and legislation. Evaluating any potential remote control choice.
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.