Feeds

Of opposable thumbs and software engineering

Where will evolution take us

SANS - Survey on application security programs

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++.

High performance access to file storage

Next page: Lock step

More from The Register

next story
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Oh no, Joe: WinPhone users already griping over 8.1 mega-update
Hang on. Which bit of Developer Preview don't you understand?
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
IRS boss on XP migration: 'Classic fix the airplane while you're flying it attempt'
Plus: Condoleezza Rice at Dropbox 'maybe she can find ... weapons of mass destruction'
Ditch the sync, paddle in the Streem: Upstart offers syncless sharing
Upload, delete and carry on sharing afterwards?
New Facebook phone app allows you to stalk your mates
Nearby Friends feature goes live in a few weeks
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
prev story

Whitepapers

Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Top three mobile application threats
Learn about three of the top mobile application security threats facing businesses today and recommendations on how to mitigate the risk.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.