Rethinking Design, Risk, and Software

Our increasingly complex needs have led us to build increasing complex software. We’ve done this in an incremental fashion, building code on top of code. We write understandable snippets of code built on programming languages we know well and then bundle them into program structures to perform complex tasks. This incremental process may seem to have low risk at the snippet level, but it leads to program structures that can be hundreds of millions of lines of code that is intractable to change, redesign, and understanding, nor in the end is it easy to design. It also leads to code with potentially unwanted emergent properties. Today, we know how to create programs that can create programming languages. So why not write software that closely follows the problem, without a programming language, then let other programs create the programming language to support it? If we apply this rethinking to the design process, both problems and solutions can be thought of in terms of relational str

Related Talks

The Value of Values

Rich Hickey
32 minutes
In this keynote speech from JaxConf 2012, Rich Hickey, creator of Clojure and founder of Datomic gives an awesome analysis of the changing way we think about values (not the philosphoical kind) in light of the increasing complexity of information technology and the advent of Big Data. The broad subject ...

Keynote GoingNative 2012 C++

Bjarne Stroustrup
an hour
We know how to write bad code: litter our programs with casts, macros, pointers, naked new and deletes, and complicated control structures. Alternatively (or additionally), we could obscure every design decision in a mess of deeply nested abstractions using the latest object-oriented programming and generic programming tricks. Then, for good ...

The Future of Programming

"The most dangerous thought you can have as a creative person is to think you know what you're doing." Presented at Dropbox's DBX conference on July 9, 2013. All of the slides are available at: http://worrydream.com/dbx/ For his recent DBX Conference talk, Victor took attendees back to the year 1973, donning the uniform ...

Small Is Beautiful

Systems get bigger, technologies reach further, practices mature, advice changes... or at least some of it does. Some guidance remains unaffected by the passing of paradigms, the evolution of technology or the scaling of development: break your software into small, cohesive parts defined by clear interfaces and sound implementations, all ...

"How we stopped SOPA"

Aaron Swartz keynote - "How we stopped SOPA" at F2C:Freedom to Connect 2012, Washington DC on May 21 2012. http://freedom-to-connect.net/ ...

One Hacker Way

Erik Meijer
an hour
This presentation was recorded at GOTO Copenhagen 2015 http://gotocph.com Erik Meijer - Founder at Applied Duality, Inc. ABSTRACT Erik challenges the basic ideas on Scrum & Agile and how developers should be developing code for the future. In the next decade every business will be digitized and effectively become a software company. Leveraging software, ...

How brain science will change computing

Treo creator Jeff Hawkins urges us to take a new look at the brain -- to see it not as a fast processor, but as a memory system that stores and plays back experiences to help us predict, intelligently, what will happen next. ...

Power of Simplicity

Alan Kay
an hour
One of my all time favorite talks of Alan Kay's, given in 2015. Not my own video, though it hasn't been on YouTube before. Original location here: http://global.sap.com/campaign/na/usa/CRM-XU15-INT-STILP/index.html ...

Rethinking Computer Science Education

Alan Kay talks about alternative approaches to teach Computer Science in schools. ...