Software Development Trends for 2014
2014's lurking around the corner - time to look into the crystal ball. What technologies will take off and have a major impact, which of the fashions and fads of 2013 will become important trends and game changers in 2014.
InfoQ has assembled a collection of items that have been up and coming in the past 12 months - and now it's your turn. Tell us which you think (or know) will be important in 2014.
- Hadoop and its ecosystem: Will Hadoop and the Hadoop ecosystem continue to grow or will other solutions gain mindshare?
- Software Defined Networks: Open Flow is being adopted by Google and others, VMWare and other Virtualization vendors have announced products supporting SDN. Will SDN become important in 2014?
- Containers and low overhead virtualization: Docker has caused quite a stir and made it easy to create and manage software appliances. Docker's technologies (LXC, etc) have been around for ages; have they become attractive again? Are full machine hypervisors too heavyweight to allow for a service to be composed of dozens of modular components?
- Private clouds: Have the NSA revelations led companies to reconsider Cloud deployments? Will security conscious companies move to hosting cloud-ish services in-house? The tech community reacted to the NSA revelations with a furious shrug: fury over the confirmation over what everyone had already suspected anyway.
Cloud computing has always required a substantial amount of trust - have these revelations shown that this trust was misplaced? And more importantly, we're the revelations bad enough to cause management to demand changes. Have you or your company taken any steps to move cloud-ish services back in house?
- Devops: Will more enterprises adopt Devops practices?
- Internet of Things: Amazon is building a drone fleet, 2 million Raspberry Pis have been sold. At the turn of the decade, mobile programming went mainstream, will 2014 be the year more developers will need to learn about interrupts, servos, realtime programming etc?
- Low-latency Services: soft-realtime on the web: The Reactive Manifesto summarizes what modern services should be: reactive, responsive, scalable, resilient. A slow service is hard to distinguish from a dead service. Is 2014 the year when developers will put an end to comfortable blocking APIs and scale up?
- Return of SQL (the language): Many NoSQL DBs come with SQL or SQL-like languages - are SQL skills back in fashion?
- Return of RDBMS: Dozens of NoSQL vendors told us RDBMS were dead ... but are they? Or are they back?
- Hosted Development Environments: Keeping developers' environments up to date is tricky and due for a cloudy solution. Cloud9, CodeEnvy, VS Online ( http://www.visualstudio.com/en-us/news/2013-nov-13-vso.aspx), etc. Has the time come for online/web IDEs and hosted development environments?
- Immutable Deployment or Immutable Infrastructure: Stop bothering with fixing servers, just trash existing ones and start new ones. Has Immutability reached admins?
- Native development Back?: Rust, D, Go, ObjectiveC, C++, compiled functional languages like Haskell or Ocaml, etc. Will developers start to look at natively compiled languages again? Squeezing the last bit of inefficiency ouf of code is one aspect, fighting GC latency is another. Portability is a surprising argument as well: the only languages supported across all mobile platforms are C/C++. Google's (P)NaCl has matured and promises secure native performance in the browser without having to wait for asm.js to deliver - at the cost of being limited to Chrome.
- Solutions to Callback Hell: C# has had async/await for a while, Rx has made waves on the server and the client, some functional languages use Monads, some use lightweight threads... will 2014 be the year when the Callback Hell will recede into the background and we can have our async cake but keep our sanity too?