A Possible Future of Software Development
June 9, 2010 - 10:06 pm
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]
June 9th, 2010 at 10:06 pm
@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.
June 9th, 2010 at 10:06 pm
Regarding my …
Regarding my earlier question, the answer seems to be the “External Polymorphism” design pattern.
June 9th, 2010 at 10:06 pm
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?
June 9th, 2010 at 10:06 pm
What does adobe …
What does adobe mean?
June 9th, 2010 at 10:06 pm
Vejam este:
/watch …
Vejam este:
/watch?v=BPXzkli6NOg
June 9th, 2010 at 10:06 pm
Nice Informative …
Nice Informative Video. Keep it up
June 9th, 2010 at 10:06 pm
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?
June 9th, 2010 at 10:06 pm
This is what …
This is what Dijkstra said software development should be!
June 9th, 2010 at 10:06 pm
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#.
June 9th, 2010 at 10:06 pm
yeah…real …
yeah…real programmers work with a magnet.
June 9th, 2010 at 10:06 pm
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
June 9th, 2010 at 10:06 pm
Does anyone have a …
Does anyone have a citation for the survey paper mentioned around 0:50:00?
June 9th, 2010 at 10:06 pm
The internet ruined …
The internet ruined everything, lowering the standards of what a “computer programmer” is.
June 9th, 2010 at 10:06 pm
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
June 9th, 2010 at 10:06 pm
Hahaha. True.
Hahaha. True.
June 9th, 2010 at 10:06 pm
Can’t wait till …
Can’t wait till Windows 7 comes out. This concept reminds me of SimpleBasic and Boku and XNA concepts.
June 9th, 2010 at 10:06 pm
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 …
June 9th, 2010 at 10:06 pm
So, Sean, this is …
So, Sean, this is why Adobe products are riddled with more holes than a sieve these days?
June 9th, 2010 at 10:06 pm
…
3p6gkOZeNa8D6EIocsgd
Who says it ain’t easy being sleazy? I’m bored and I want a adult to do me!
c40geO53QtgE5BXccbrxgZ
June 9th, 2010 at 10:06 pm
Software companies …
Software companies and enegenerig in Russia is growng every day !
Investments in russian Software is a good idea !
June 9th, 2010 at 10:06 pm
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.
June 9th, 2010 at 10:06 pm
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.
June 9th, 2010 at 10:06 pm
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.
June 9th, 2010 at 10:06 pm
really important …
really important matter.
how to talk about the future of things that should be mainstream for 50 years