The Pathetic Fallacy, or, an Engineering Approach to Programming

01:45 PM - 02:15 PM on August 17, 2014, Room 704

James Powell

Audience level:
novice
Category:
Core Python
Watch:
http://youtu.be/2GA4y6_I7b4

Description

Software programming is a young discipline, placed somewhere between the rigorous world of mathematics and the pragmatic world of engineering. As evidence of its immaturity as a discipline, consider how frequently the same problems arise in the practice of writing a programme, and how these problems are unaccompanied by widely-disseminated conceptualisations or a commonly agreed-upon pathology or even a well-defined guiding philosophy and epistemology. In other words, we keep running into the same problems, and we often lack even a basis for discussing them (much less avoiding them)!

Abstract

Software programming is a young discipline, placed somewhere between the rigorous world of mathematics and the pragmatic world of engineering. As evidence of its immaturity as a discipline, consider how frequently the same problems arise in the practice of writing a programme, and how these problems are unaccompanied by widely-disseminated conceptualisations or a commonly agreed-upon pathology or even a well-defined guiding philosophy and epistemology. In other words, we keep running into the same problems, and we often lack even a basis for discussing them (much less avoiding them)!

This talk is the first in a series which proposes an engineering approach to programming and related conceptualisations and a pragmatic philosophic framework to underlie this approach.

This talk will focus on one missing conceptualisation: the so-called "pathetic fallacy," a confusion between map & territory. Drawing from a common example in quantitative finance, the talk will illustrate the problem and try to derive fundamental principles for discussion and analysis.

It all sounds very dry, and I'm surprised if you've actually read this far, but I think it's important stuff. We all know how to sit down and write a programme... and people also knew how to act proper and not go fittin' to kill their neighbours long, long before we got magic letters etched in stone tablets and long before we consciously thought to peek behind the "veil of ignorance." But that we can operate without a philosophy and without well-defined concepts of morality doesn't discount their value. A philosophy, a pathology, epistemologies and conceptualisations try, like this talk, to bring greater insight and deeper understanding of what's really going on when we write code. And maybe I'll just throw in some generators if y'all get bored.