A Possible Future of Software Development

June 9, 2010 - 10:06 pm 24 Comments

Google Tech Talks
July, 25 2007

ABSTRACT

This talk begins with an overview of software development at Adobe and a look at industry trends towards systems built around object oriented frameworks; why they “work”, and why they ultimately fail to deliver quality, scalable, software. We’ll look at a possible alternative to this future, combining generic programming with declarative programming to build high quality, scalable systems.

Speaker: Sean Parent
Sean Parent is a principal scientist at Adobe Systems and engineering manager of the Adobe Software Technology Lab. One of his team’s current projects is the Adobe Source Libraries

Duration : 1:1:33


[youtube 4moyKUHApq4]

24 Responses to “A Possible Future of Software Development”

  1. BoxyDevel Says:

    @ProphetVS concrete …
    @ProphetVS concrete class with template constructor taking an arg of any T and holds the arg via type-erasure. Operations on the held arg are done through free-functions found via Argument Dependent Lookup.

  2. ProphetVS Says:

    Regarding my …
    Regarding my earlier question, the answer seems to be the “External Polymorphism” design pattern.

  3. ProphetVS Says:

    There is a bullet …
    There is a bullet point at the bottom of the slide at 38:52. It says:

    “Extend generic programming to apply to runtime polymorphism.”

    This intrigued me. Generic program using C++ and templates is a form of compile time polymorphism. To use runtime polymorphism, you virtual functions.

    So I’m wondering what Sean meant in that bullet point. How do you extend generic programming, via C++, to apply to runtime polymorphism?

  4. Za7a7aZ Says:

    What does adobe …
    What does adobe mean?

  5. globalwebdede Says:

    Vejam este:
    /watch …

    Vejam este:
    /watch?v=BPXzkli6NOg

  6. iqbalconsult Says:

    Nice Informative …
    Nice Informative Video. Keep it up :)

  7. DCWhatthe Says:

    Did he ever solve …
    Did he ever solve the integer question, the problem of brainstorming a non-peano integer definition, which is more appropriate to programming?

  8. D3mi4n Says:

    This is what …
    This is what Dijkstra said software development should be!

  9. shishkabobby Says:

    This sounds a great …
    This sounds a great deal like why Erlang uses functional programming (no side effects) and actor-based messaging. A spreadsheet is the most common sort of functional programming. You have established a sort of analogy between a spreadsheet, a DAG and your programming tasks. It seems like this suggests that we are going to see more functional programming. Time to brush up on Lisp/Scheme/Clojure, Erlang, Scala or F#.

  10. bamf75 Says:

    yeah…real …
    yeah…real programmers work with a magnet.

  11. seanparent65 Says:

    Sorry – I haven’t …
    Sorry – I haven’t been monitoring the questions here. Paper mentioned (incorrectly attributed to Doug Gregor – who’s done other good work) is:
    Ronald Garcia, Jaakko Järvi, Andrew Lumsdaine, Jeremy Siek, and Jeremiah Willcock. An Extended Comparative Study of Language Support for Generic Programming. Journal of Functional Programming, 17(2):145–205, March 2007

  12. beyerandrew Says:

    Does anyone have a …
    Does anyone have a citation for the survey paper mentioned around 0:50:00?

  13. raswirsky Says:

    The internet ruined …
    The internet ruined everything, lowering the standards of what a “computer programmer” is.

  14. DJFishlips Says:

    yeah, sure… Did …
    yeah, sure… Did you know that Adobe revolutionized the print industry with PostScript then PDF, “fag software” like Illustrator, they were the first to use Bézier curves for vector graphics, etc.

    “without Macromedia’s technology Adobe will be history today …”
    Creating Fireworks would be impossible without using technologies invented by Adobe.

    Or at least, that is my opinion :)

  15. poch333 Says:

    Hahaha. True.
    Hahaha. True.

  16. KnightChatX Says:

    Can’t wait till …
    Can’t wait till Windows 7 comes out. This concept reminds me of SimpleBasic and Boku and XNA concepts.

  17. nouShit Says:

    Adobe sucks, …
    Adobe sucks, Macromedia software ruled, they buyed them and ruined everything … including Flash, Fireworks and Dreamweaver the 3 most powerful web apps ever maked, they had go-live and such software that nobody used … without Macromedia’s technology Adobe will be history today …

  18. craiggybear Says:

    So, Sean, this is …
    So, Sean, this is why Adobe products are riddled with more holes than a sieve these days?

  19. Marascreams2210 Says:


    3p6gkOZeNa8D6EIocsgd

    Who says it ain’t easy being sleazy? I’m bored and I want a adult to do me!

    c40geO53QtgE5BXccbrxgZ

  20. MultipleEFP Says:

    Software companies …
    Software companies and enegenerig in Russia is growng every day !

    Investments in russian Software is a good idea !

  21. vicaya Says:

    Agreed. The video …
    Agreed. The video is a great case study on how to build a quality reusable library/framework.

    Kudos to you and everyone involved to make ASL open source in MIT license. I’m one of the fortunate (paid) open source developers as well.

    My original comment meant to point out that the title of the video might be a bit misleading to people who’re expecting new methodologies and/or new tools/languages.

  22. seanparent65 Says:

    As with geometry, …
    As with geometry, there is no royal road to computer science. It is a challenge to the industry to learn to collect our knowledge into (re)usable components and the responsibility of every professional engineer and scientist to contribute.

  23. vicaya Says:

    It’s still the same …
    It’s still the same old approach to software engineering though: look at a class of specific problems to see if it can be solved by a more general solution, which is basically a reusable library. By properly limiting the scope and expressiveness of the library via a DSL, you reduce the probability of errors. Somebody still have to have solved the class of problems before one can embark on writing such generic libraries.

    There is just no silver bullet in software engineering.

  24. fasteez Says:

    really important …
    really important matter.

    how to talk about the future of things that should be mainstream for 50 years :)

Leave a Reply