Eight EXCELLENT languages for the fondleslab-friendly Intranet of Thingies
Shifting software paradigms and so forth
Stob What are you up, Verity? Ensconced in one of your comfortable, miles-from-any-critical-path projects?
Actually, I have been sussing out an upgrade path for our longstanding customer x. Do you remember?
Certainly I do. It is quite easy to remember 'x'. Even in this age of companies with stupid names, it is unusual. As I recall, they are the people who run a fleet of dusty, crusty XP Dells. CD-ROM drives covered in pre-Clean Air Act cigarette burns.
Just so. Thing is, x has come into a great chunk of IT budget, and Santa brought all the executives iPad Hot Airs. They want us upgrade their software to a Web 3.1, smartphone- 'n' fondleslab-friendly, intranet-of-thingies compatible, virtual smartcloud-hosted, platform-neutral system.
Congratulations. Tell me, do the folks at x realise that most of your web stuff up until now was developed in phone-hostile Flash?
Hush your wee mouth. This is why I have been kicked out the door to conduct a survey of modern development tools and platforms, especially web stuff.
We have spent too long encamped on Windows beach, and now the tide is lapping around our Cnutish feet. We have allowed ourselves to be overtaken by the receding hairline of male pattern mediocrity. We have drifted too far from bleeding edge, and too close to the weeping scab.
There's a great rumbling in the distance; it is the sound of the paradigms of software development, shifting. The fickle finger of fashion has written a dirty word on the steamy window of technology and, and...
If you are about to use the phrase 'tipping point', that's me off to mumble my tweets and good riddance.
Hush. I have been working out which skills and tools should be acquired or nurtured, and which may be placed on the compost heap, alongside such formerly important crafts as Z80 machine coding by hand, Reordering your DOS TSRs to get >620kb free at the Command Prompt, and Perl.
Uh-huh. Don't suppose, by any chance, you have drafted two lists, categorising the technologies into eight of each?
Funny you should mention that. Get your touch-slate juiced up, petal; you will probably want to dob down the highlights.
Forlorn for fourteen
Dud technology #1: Java, language and runtime. Oracle has been sending you a message, delivered every time Java updates itself, and the installer attempts to inflict the dreadful Ask toolbar. Not so much 'bye bye' as 'eff right off'.
Apart from this, you might consider such issues as depending on a language that belongs to a company more famous round here for its aggressive commercialism and litigation than its engineering, Java's ongoing security holes, inability to track the programming Zeitgeist - eg the still ongoing lambda fiasco and so on.
A tough call if you have 2.7 billion lines of crufty middleware sitting on your VM farm, all wanting maintenance. Besides, there's this not entirely unsuccessful thing called Android...
Doesn't matter. Still doomed. And, by the way, that goes for the Scala language too; it's just Java in functional frock.
I see. That's clear enough. So you are backing C# ftw, are you? Hadn't got you down as part of the ASP spectrum.
This is a stressful time for Microsoft, what with Windows 8 struggling, being stuck with a lame duck CEO and so on. The company has responded bravely, and achieved a fantastically delicate and nuanced balance. It has divided its technologies between 1) those that are popular - or at least accepted as inevitable - and generally used (Start menu, Win32 API, .NET runtime etc), and 2) new stuff that nobody cares about (Metro, Surface, WinRT API, Windows App Store).
It feeels like the former are, in general terms, being de-emphasised by Microsoft, and therefore are not sensible choices for fresh development. Sweeping? Ask any user of the last-but-one database API (OLE DB anybody?).
The latter are, in general terms, not being taken up, and are therefore are not sensible choices for fresh development. Sweeping? Ask any veteran casualty of the OS/2 wars ('Better DOS than DOS', anybody?).
Thus dud technologies #2: Everything bearing Ballmer's meaty paw-print. I hope my fellow rats - sorry 'Windows programmers' - find this tip useful.
Right. Nothing from MS then. So what will we be putting into Subversion in this brave new world?
Nothing? We programmers are all out of work? Software will write itself henceforth, in the style of The Last One?
Nope. I am saying that Dud technology #3 is Subversion.
That's a vertiginous descent from general to specific. Nay, nay and 2.67 times na. You have this all wrong. Subversion is the version control system for the twenty-first century.
I'd love to agree. More in sorrow, and all that. But there it is. Dear old svn is as fashionable as a portable Blackberry-and-not-Apple telephone.
What other well-loved, popular, successful and growing technologies you are blithely going to cast into darkness?
Dud technology #4 is XML.
<colour me not terribly surprised/>
Dud technology #5 is SOAP.
Now you're just being obvious. If you have nothing to say, I can go water my Bitcoin generator.
Perhaps I could interest you in a trio of scripting languages?
Go on, then.
Dud technology #6 is PHP. I've always liked PHP. I love its quality of not so much being designed as fag-packeted one Saturday afternoon through a thickish hangover. I love the retroactive object-oriented extensions, adroitly nailed on to the language just as OO became unfashionable. I love the fact it still has the cleanest, most useful docs in the business.
Most of all, I love the fact that you always know where you are with PHP: either a) coding your way into a pickle, or b) already in a pickle and burrowing deeper. I will miss it.
If nothing else, that should buy you a few dozen @STOBCREEP U NO NUTHIN LOOSER MR SO-CALLED SNOB #PHP4EVER! tweets to the Twitter account you have neglected to set up.
Dud technology #7 is Python, somehow the Waitrose of scripting languages; smug and elegant and curly-bracketless as a young fawn in a BBC Bristol documentary. It flatters the user. Coding in Python is like handwriting with an italic nib: all but the most inept efforts look good.
But Python is also a victim of late-blooming OO extras; there is a schism between V2 and V3 users which is losing it momentum. The other day, I saw somebody refusing to install some utility '<sigh> because it needs Python'. This is the beginning of the end.
Eight trillion young Raspberry Pi users say you are wrong, and good luck to 'em. And the third?
Dud technology #8 is Ruby. Its doom is neatly encapsulated in the title of this talk.