Feeds

Of opposable thumbs and software engineering

Where will evolution take us

Intelligent flash storage arrays

It’s been almost 200 years since Charles Babbage first started work on his difference engine, and programmable computation is fast approaching 100 years old.

Over this time there has been a lot of change in software development and in this article we look at the evolutionary pressure that has shaped that.

Can we predict the next big thing in software development? Will nascent concurrency paradigms be the subject of the next ambush from a passing boss, or will the talk by the water cooler centre more on how to bridge that ever elusive communication gap with the customer? Read on or risk being unprepared!

If we go back to when the first computers were being programmed, there were with punch cards and state machines and the development tools were at a pretty basic level. At the time an integrated development environment was a room containing both the computer and the ticker tape. In the classier shops there was even a lockable cupboard that served as a source repository and for the very lucky, a fly swat that could be used for debugging.

Later, as digital computers replaced mechanical, computer languages, as we recognise them today, began to appear and the hole punches were returned to their rightful owners. A plethora of languages emerged during the following decades, addressing many different purposes in many different paradigms. One in particular holds a special place in the heart of computer science and for many of us it was our first experience in computer programming.

While never in danger of being adopted by right-thinking development departments, Basic is important in any discussion about the evolution of software development. Basic programs are after all noticeably primal, uncorrupted by notions of modularity or type safety. The language is diametrically opposed to intelligent design and exhibits many of the problems that the prevailing paradigm of today, Object Orientation, was specifically conceived to avoid.

Since these heady days there have of course been many changes in the tools available to the software developer. As the industry entered the Gold Rush era, the tool vendors got serious about providing ever improving picks and shovels.

Care in the Community

These days it’s bigger business than ever and we’re seeing unprecedented investment in compilers, development environments, platforms and testing software. How do the tool vendors choose in which direction to take the technology I wonder? Are they guided by what their own developers and research feel would be a good idea, are the decisions made on more commercial than technical grounds, or is there some other process at play?

The management of the Java language and platform by Sun is a marvellous example of developer-driven evolution. Since 1998 the company has engaged with the community through the Java Community Process and earlier this year we saw the release of open JDK. Developers can now perform research or try alternative implementations of language features by downloading the platform source and changing the code.

The good ideas will survive the testing ground of the open JDK community and from there they can be incorporated into the Java SE. An early result of this collaboration between commercial enterprise and open source developers is the incorporation of scripting engines into the Java platform, so that the variety of technologies that we like to create web pages in from ruby to javascript can all be run inside the virtual machine.

An older standardisation effort that is perhaps more formal, but certainly implicating the community and evolving to meet changing developer needs is that of C++.

Top 5 reasons to deploy VMware with Tegile

Next page: Lock step

More from The Register

next story
Preview redux: Microsoft ships new Windows 10 build with 7,000 changes
Latest bleeding-edge bits borrow Action Center from Windows Phone
Google opens Inbox – email for people too thick to handle email
Print this article out and give it to someone tech-y if you get stuck
Microsoft promises Windows 10 will mean two-factor auth for all
Sneak peek at security features Redmond's baking into new OS
UNIX greybeards threaten Debian fork over systemd plan
'Veteran Unix Admins' fear desktop emphasis is betraying open source
Entity Framework goes 'code first' as Microsoft pulls visual design tool
Visual Studio database diagramming's out the window
Google+ goes TITSUP. But WHO knew? How long? Anyone ... Hello ...
Wobbly Gmail, Contacts, Calendar on the other hand ...
DEATH by PowerPoint: Microsoft warns of 0-day attack hidden in slides
Might put out patch in update, might chuck it out sooner
Redmond top man Satya Nadella: 'Microsoft LOVES Linux'
Open-source 'love' fairly runneth over at cloud event
prev story

Whitepapers

Choosing cloud Backup services
Demystify how you can address your data protection needs in your small- to medium-sized business and select the best online backup service to meet your needs.
Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
Reg Reader Research: SaaS based Email and Office Productivity Tools
Read this Reg reader report which provides advice and guidance for SMBs towards the use of SaaS based email and Office productivity tools.
Storage capacity and performance optimization at Mizuno USA
Mizuno USA turn to Tegile storage technology to solve both their SAN and backup issues.