Skip to content
0:00 / 0:00

#genericprogramming#declarativeprogramming#elementsofprogramming

A Possible Future of Software Development

Google TechTalks

349K subscribers • 62 videos on Hallway

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • A classic. People kept recommending it from 2013 to 2017.
  • Presented by Sean Parent, Principal Scientist at Adobe
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

81K views18 years ago2 recommendations

Programming languagesSoftware designC++Functional programmingSoftware architecture

Sean Parent argues that object-oriented frameworks fail to scale and proposes combining generic and declarative programming to build high-quality software.

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

Why it's here

2 people recommend this

What people say. Highly recommended for its mind-expanding take on reducing codebase sizes drastically by applying mathematical concepts from Elements of Programming.

wwwestonon Hacker News • Recommends

On “Edward C++Hands”

…afe code. Yes, initially you’ll be scratching your head trying to implement something in Haskell that you could hack in C++ in 10 minutes. If you’re lucky, and you work for Sean Parent or other exceptional programmer, he will code review your hacks and show you how not to program in C++." For those who aren't familiar with Parent, watch this talk: link to this video which introduced me to Stepanov's "Elements of Programming" and the idea that I could be working with better/more reliable/provable abstractions in C++. That said... after a few weeks of shallowly digesting the material, I started thinking pretty much like Milewski says above: it's great if I can learn to write better C++, but if what I rea…

adamnemecekon Hacker News • Recommends

On “App sizes are out of control”

They make code reuse possible. Watch this Sean Parent video link to this video where he estimates that if Photoshop was rewritten using generics, the code size would go from 3,000,000 LOC to 30,000 LOC. You are right, during compilation, generics are specialized so you end up with code, however going all in on generics removes a lot of accidental complexity.

agumonkeyon Hacker News • Mentions

On “A Programming Idiom You've Never Heard Of ”

Turns out I greatly exagerated my memories (sic), he was mentionning equivalence relation using c++ concepts then went into constraint/dependant interactive input. link page 18, 38 this was hosted at googletechtalks link to this video (240p)

adamnemecekon Hacker News • Mentions

On “What Is Abstract Algebra? [video]”

…a relate to software engineering, this book might be of your interest link The main selling point of this approach is that it can cut out a lot of code In this talk, Sean Parent, at that time working on Adobe Photoshop, estimated that the PS codebase could be reduced from 3,000,000 LOC to 30,000 LOC (=100x!!) if they followed ideas from the book link to this video Another point of his is that the explosion of written code we are seeing isn't sustainable and that so much of this code is algorithms or data structures with overlapping functionalities. As the codebases grow, and these functionalities diverge even further, pulling the reigns in on the chaos becomes gradually impossible. Bjarne Stroustrup…

adamnemecekon Hacker News • Mentions

On “Ask HN: What's the best computer science book you've read recently?”

…my earlier comments. # Elements of Programming link This book proposes how to write C++-ish code in a mathematical way that makes all your code terse. In this talk, Sean Parent, at that time working on Adobe Photoshop, estimated that the PS codebase could be reduced from 3,000,000 LOC to 30,000 LOC (=100x!!) if they followed ideas from the book link to this video Another point of his is that the explosion of written code we are seeing isn't sustainable and that so much of this code is algorithms or data structures with overlapping functionalities. As the codebases grow, and these functionalities diverge even further, pulling the reigns in on the chaos becomes gradually impossible. Bjarne Stroustrup…

adamnemecekon Hacker News • Mentions

On “Ask HN: Are we overcomplicating software development?”

…o much code. It proposes how to write C++-ish (it's an extremely minimal subset of C++ proper) code in a mathematical way that makes all your code terse. In this talk, Sean Parent, at that time working on Adobe Photoshop, estimated that the PS codebase could be reduced from 3,000,000 LOC to 30,000 LOC (=100x!!) if they followed ideas from the book link to this video Another point of his is that the explosion of written code we are seeing isn't sustainable and that so much of this code is algorithms or data structures with overlapping functionalities. As the codebases grow, and these functionalities diverge even further, pulling the reigns in on the chaos becomes gradually impossible. Bjarne Stroustrup…

adamnemecekon Hacker News • Mentions

On “Elements of Programming (2009)”

This book is really good, really dense but the ideas have inspired a generation. In this video, Sean Parent, at the time working at Adobe on Photoshop, estimated that if PS codebase followed ideas from this book, the codebase could be reduced from 3,000,000 LOC to 30,000 LOC. link to this video

u/jaja22in r/haskell • Mentions

On “So I'm teaching an introduction to data structures course this spring. The class will use c++, but...”

This Google Tech Talk by Sean Parent of Adobe describes some fp work his team did in C++: A Possible Future of Software Development link to this video

u/silverCloud7in r/haskell • Mentions

On “Trying to introduce Haskell at work”

Sean Parent's google talk "A Possible Future of Software Development" might help. It's not new, from 2007, when Sean was managing a software development lab at Adobe. Sean knows and understands Haskell, and applies that thinking to refactor some C++ code. It's a great talk! [video