InfoQ

Interview

   Good News: We have re-worked our video infrastructure to provide more reliable service. Please email bugs at infoq.com with any problems.

JAOO Panel: Who will Develop Software in 10 Years?

Interview with Martin Fowler, Jimmy Nilsson, Dave Thomas, Frank Buschmann, Steve Cook by on Mar 15, 2007 08:26 AM

Community
Architecture
Topics
Business,
Events,
Open Source,
Grid Computing
Tags
SmallTalk,
JAOO Conference,
Outsourcing,
Java SE,
QCon
Summary
Martin Fowler, Frank Buschmann, Steve Cook, Jimmy Nilsson, and Dave Thomas discuss the future of software development. Topics covered include outsourcing, is Google the next MS?, multi-core & parallism, grid computing, software stacks of the future, and more. A thoroughly thought-provoking panel! JAOO is producing the QCon event.

Bio
The panel was moderated by Martin Fowler, and included POSA author Frank Buschmann (from Siemens), Steve Cook (working on DSL tools at Microsoft), Jimmy Nilsson (author of Applying DDD), and Dave Thomas (founder of OTI who created Visual Age).
Martin Fowler introduces the panellists
Martin Fowler explains theme of the panel - Who's going to be developing software in ten years time?
Frank Bauschmann responds mentioning non-technical developers, self-authoring software, and that software development will not disappear in the western world.
Steve Cook talks about increasing rate of change, security, metadata, modelling, enormous opportunities for development, and software as a supply chain.
Jimmy Nilsson on ordinary people writing software and outsourcing.
Dave Thomas responds on software development changes, who will write software and current bleeding edge techniques that may become mainstream.
Is Google the next Microsoft? To what extent will web oriented platforms make a difference?
What will be the impact of Grid computing - massively distributed computing and having that freely available.
Will multi-core change the way we program?
If this session was held ten years ago what would your answers have been and how would they be different?
Martin Fowler talks about why he likes the JAOO conference.
show all  show all

7 comments

Reply

Massively distributed applications - non collaborative vs collaborative by Michael Bienstein Posted Mar 15, 2007 9:07 AM
Re: Massively distributed applications - non collaborative vs collaborative by Dimitar Dimitrov Posted Mar 25, 2007 2:19 AM
Re: Massively distributed applications - non collaborative vs collaborative by Cameron Purdy Posted Dec 3, 2007 12:01 PM
10 years? by Chris Paulse Posted Mar 16, 2007 3:12 PM
something to do with the platform by Floyd Marinescu Posted Mar 19, 2007 12:59 PM
Re: something to do with the platform by Alex Popescu Posted Mar 20, 2007 6:48 AM
KISS... by Mittal Bhiogade Posted Mar 19, 2007 2:37 PM
  1. The representative from Seimens says that cell-phone networks are an example of massively distributed applications. That's true as to how to route packets and connections, but it is not a collaborative application like the classic Seti@HOME. That made a thought enter my mind - I haven't seen Seti@HOME offer people with cell-phones using i-mode (always connected) to sign up so that when not busy on the phone, data can be pushed to the phone, crunched and packets sent back. Isn't the cellphone network a great resource for long-running applications whose data can be partitioned well?

  2. Back to top

    10 years?

    Mar 16, 2007 3:12 PM by Chris Paulse

    What were people saying 10 years ago? I imagine pretty much the same. Business experts would become involved in software development. Google seem now to be pushing things in the opposite direction.

  3. Back to top

    something to do with the platform

    Mar 19, 2007 12:59 PM by Floyd Marinescu

    One thing that I think will be an important aspect of what software development will be like in 10 years (although that wasn't the initial question to the panelists) is what platforms will people be writing for, which itself is driven by how will humans interface with computers. Today humans are interfacing more via the web than on direct desktop apps. The web has changed everything and forced us to re-invent a lot of the development concepts and styles that we had a long time ago. For example, it's a bit ridiculous that we (or maybe just I) get excited when I see web apps becoming more like GUI's with widgets like modal dialogues. We had all this before, just on a different platform (OS-specific). I think in 10 years we will see computers all over the home in all kinds of devices that you wouldn't imagine them in, such as the current infant movement of home media computers. How that will impact human-computer interaction, I don't know. :)

  4. Back to top

    KISS...

    Mar 19, 2007 2:37 PM by Mittal Bhiogade

    at the end of talk - some one did mention - how complex phones have become and how simple they were earlier - are we taking s/w towards it - by adding layers after layers.....

  5. Back to top

    Re: something to do with the platform

    Mar 20, 2007 6:48 AM by Alex Popescu

    I think in 10 years we will see computers all over the home in all kinds of devices that you wouldn't imagine them in, such as the current infant movement of home media computers.
    Wasn't this the initial assumption of creating Java? And I don't think things have moved pretty far in this direction. Having all people to accept computers ubiquity may take longer than what some may expect. Imo the big shift is the parallel computing. We will need to come up with better concepts and tools to ease our lives when developing for multi-cores. And the developers will be quite the same, probably just learning to interact more and more with the end users (and sometimes making these directly involved through smart DSLs). toodle-oo, ./alex -- :Architect of InfoQ.com: .w( the_mindstorm )p. C4Media/InfoQ Co-Founder

  6. I don't think that the idea of using the idle CPU power of mobile devices is a very good one due to one main factor - battery power. Few years ago, my Ericsson t39 was able to work about between 3 days and a week on one battery charge. These days I charge my mobile every night, just to be sure that it won't die on me in the middle of the day while I use it to check my email, read news, play games and so on. The main power consumers are the high-res back-lit color screens, the RF circuit and the CPU.

  7. > Isn't the cellphone network a great resource > for long-running applications whose data can be > partitioned well? Unfortunately, most tasks are a lot heavier on the data reqs than they are on the crunching reqs .. that's why most problems tend to scale poorly in stateless systems (because most problems have state ;-). Look at it this way: If an execution unit requires B bytes of data and P processor cycles, and assuming there are no QoS issues with the data (i.e. it can be stale, so distributing it to a cell phone isn't a problem), then you have to look at the cost (call it "C") of CPU power and other resources at the data-center for pushing out B bytes of data in order to save P processor cycles. If the management cost C exceeds the P processor cycles from the cell phone, then you achieve negative scalability (bad). Most problems will fit this pattern, unfortunately. Peace, Cameron Purdy Oracle Coherence: Data Grid for Java and .NET

Exclusive Content

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.

Voca, UK's largest payment processing engine running Spring

William Soo and Meeraj Kunnumpurath discuss the Voca transaction processing system, architectural challenges and requirements, Voca's Spring/J2EE architecture, and the future SEPA architecture.

Patterns for securing architectures

Security is about trade-offs. Only a few have the expertise to design good security. This talk focuses on Security Patterns, such as Role-based Access Control, Single Access Point, and Front Door.