Postmodern Computer Science
gnat writes "Two New Zealand computer scientists have a paper accepted for OOPSLA called Notes on Postmodern Programming, which identifies shortcomings in traditional views of computer science. With a section on the difference between "The Matrix" and the net, a bulleted list of new approaches called "We're All Devo", and a section called "Messy is Good" consisting of nothing but a scan of a hand-drawn diagram, this is not your father's computer science paper. It's thought-provoking stuff, though. And you know they did their homework--they cite Larry Wall's Postmodern Perl talk."
Great topic, and an important one as the field evolves. But much of commercial programming has become the equivalent of building carburators on an auto assembly line (or, perhaps in the case of OOP, putting carburators in engines).
Any thoughts on how a nascent postmodern programmer can spark revolution up the management chain?
"It was a summer's tale: Just a boy, his Linux, and a head full of dreams..."
If anyone is interested in an extension of this theory (which begins by stating that humans are destined to give birth to computers as the next sentient race, and segues into an attack on the baby boomer culture), I do encourage them to check out Boomeritis. The theories within it are rather intriguing, though the layout / writing style is nowhere near as 'hyperactive' as this article.
well - strictly speaking the computer cubist movement were pre-mod ...
This paper just seems very timely. As someone who is just about finished undergoing the quintessential undergrad experience in CS I think this paper hits a lot of nail square on their heads. Too many schools are hung up on the formal side of things without ever tying them back to the actual root of everything which is programming and this cannot be denied. And the rest of the schools are too busy teaching just programming to stop and discuss the formality of the process.
Anyone out there find a school which strikes this balance in the undergrad??
"Unlike most of you, I am not a nut." - Homer J. Simpson
I think post modernism is by far one of the most interesting ideas, and in a lot of ways like things computer geeks like, you know recursion and all that (Read Godel Escher Bach).
:P
You could say that the basis of post-modernism is "self-reference and irreverence". Basically looking inward, and realizing the absurdity of it. Obviously it has a lot of appeal to a cynical bastard such as myself
I mean, the idea on its face is absurd. How can something be "post-modern" Wouldn't the newly post-modern become modern, and the old modern simply old? (it's a bit more complex then this, as Modernism was an attempt to break from "classicalism" in the middle of the century. To build great new things. Post-modernism basically gives up on the great new things and says "fuck it")
Also the site seems to be slashdotted.
Lonely?
Find love on the internet
And you know they did their homework--they cite Larry Wall's Postmodern Perl talk.
Ugh... that was far from being the best thing (or even one of the best things) Larry ever wrote.
The ideas are interesting by themselves, linking to other's work isn't much a validation in itself.
A message from the system administrator: 'I've upped my priority. Now up yours.'
I don't mean to be thick-headed about such matters, nor to impugn your programming abilities, but I'm wondering if the impossibility of applying all that theory is perhaps a limitation of the real. I suppose I might explain that a bit more.
I think you're right that much theory cannot be practically applied, but as Jean Baudrillard (postmodernist philosopher who disavows postmodernism altogether [all links about Baudrillard]) writes in The Ecstasy of Communication, "The status of theory could not be anything but to challenge the real."
In other words, theory is meant to challenge what exists, even if what is proposed can't be achieved. So, it makes sense that the challenge of programming theory cannot be taken up by the real of programmnig practice.
Just a thought.
blog
OK. So I didn't read the paper... Perhaps it's great but more than likely it's another one of those pointless academic super high level treaties on software construction that really don't help anyone write better software.
Well good thing your complete ignorance of the paper's contents didn't stop you from putting forth an opinion on its value.
Write enough macros for ASM, and eventually you end up with C.
OK, I'll be serious now. There is nothing inherent about C++ that makes it bloated. It's just that the minds of most C++ programmers have been corrupted by object-oriented political correctness so that they write classes to wrap their classes to wrap their classes. That, and linking against dogs like MFC doesn't help.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
Not that I can argue that any of the phrases or sentences in the link that you provided are clear and concise...
But neither can you or the creators of the page in question honestly argue that the phrases or sentences are "drivel" when they have clearly been taken out of context in this fashion. Supply some context or be content to look like fools.
Like it or not, 'postmodern' is the widely accepted name for the cold-war and media-essential era which falls after the 'modern' era of the World Wars. Simply tossing words like 'drivel' about and quoting long sentences out of context does not automatically render moot any argument that you disagree with, postmodern or otherwise.
STOP . AMERICA . NOW
But then, with postmodernism, you can't really tell the hoaxes from the honest nonsense.
Hmm, I actually think this is part of the point of postmodernism. Postmodernism goes beyond just recognizing that truth is inscrutable and rejecting absolutism of ethics, aesthetics, and knowledge, and embraces the subjectivity of everything. In fact, some postmodernists seem to think that knowledge and reality are DEFINED by language games, i.e. who spins the best bullshit (apparently this derives from Wittgenstein).
So you see, the nonsense and the hoaxes aren't truly discernible to the postmodernist, and a true postmodernist would likely reject the very idea that a hoax is a meaningful concept. Anyway, I find it all to reek of bullshit after spending 4 years in college debating with my fellow students who majored in subjects like Social Studies (which included a heavy dose of postmodern theory) about whether these concepts were meaningful.
My general conclusion is that concepts that do not lead us any closer to understanding or interacting with the world in a productive manner and that lead to liberal arts students becoming unshaven, unshowered nihilists are just as bad as things that lead computer science students to become unshaven, unshowered Counter Strike addicts or code monkeys.
John Leo, in US News and World Report, wrote in an article about Postmodernism, "A professor once wrote this about Tonya Harding's attack on Nancy Kerrigan: 'This melodrama parsed the transgressive hybridity of unnarrativized representative bodies back into recognizable heterovisual codes.' Possible English translation: Maybe Tonya had Nancy's leg smashed because she was attracted to her. If so the media wouldn't tell.
The professor was writing in 'pomobabble' - the jargon of postmodernism'..."
The Postmodernism Generator Leo cites in the article (create your own Postmodern article!) has been moved.
"This corrosive scepticism about the achievements of programming is un-founded. Few doom-laden prophesies have come to pass: the world did not end with fireworks over the Sydney harbour bridge, and few modern disasters are due to software. To consider just two examples: the space shuttle crash was not caused by software; indeed, Feynman praises the shuttle software prac- tices as exemplary engineering [23]"
It is true that the software program on the Challenger was well tested, but it may not have been well specified. The following exerpt is from the Rogers report on the disaster:
At about 62 seconds into the flight, the control system began to react to counter the forces caused by the plume and its effects. The left Solid Rocket Booster thrust vector control moved to counter the yaw caused by reduced thrust from the leaking right Solid Rocket Booster. During the next nine seconds, Space Shuttle control systems worked to correct anomalies in pitch and yaw rates.
The first visual indication that swirling flame from the right Solid Rocket Booster breached the External Tank was at 64.660 seconds when there was an abrupt change in the shape and color of the plume. This indicated that it was mixing with leaking hydrogen from the External Tank. Telemetered changes in the hydrogen tank pressurization confirmed the leak. Within 45 milliseconds of the breach of the External Tank, a bright sustained glow developed on the black-tiled underside of the Challenger between it and the External Tank.
Beginning at about 72 seconds, a series of events occurred extremely rapidly that terminated [21] the flight. Telemetered data indicate a wide variety of flight system actions that support the visual evidence of the photos as the Shuttle struggled futilely against the forces that were destroying it.
The clincher is the last sentence: "the Shuttle struggled futilely against the forces that were destroying it." The entity doing the struggling (if anything) was the avionics -- the programmed part of the system. The program "knew" that something was seriously wrong for 9 seconds before helping the Challenger blow up; but though awareness was present in the program, failure was not allowed by the system. There were no provisions for aborting the mission and ejecting the passenger capsule.
A program is part of a system, and can only be as powerful and useful as the system allows it to be. In this case the software engineers should have noticed the absurdity of the infinite positive feedback system they coded (as mandated by the system design) and objected. Perhaps they did. This was not a failure of the program, necessarily, but it was certainly a failure of the programmers. Software is poorly considered because it reliably does the stupid things it is told to do.
Postmodernism is a license to criticize without being held to the rigorous requirements of critical throught. Self consistency is not one of its strong points, at least by usual standards. Just to illustrate this point, the authors' cite Wittgenstein's Tractatus Logico-Philosphicus, and its famous initial assertion (Die Welt ist alles was der Fall ist. - "The world is all that is the case.") Postmodern critics like to avoid the use of abstraction, tending to rely on facts to establish contradictions. The authors' literal reading of the first assertion is fully consitient with postmodern criticism. Of course the rest of the Tractatus has a lot of abstractions in it, which puts it about as far from postmodern as you can get. And as "everybody" knows the Tractatus is the philosophical manifesto for databases, logic programming, UML, .... (which are about abstractions too.) Hmmmm.
Postmoderism tends to irk those who attempt to read it and apply purely "modernist" notions of criticism. At least it irks me. There is a rather well developed theory of postmodern criticism, which the authors of this paper try to explicate (terms like "antitotalizing" etc), examplified, e.g., in the writings of Jacques Derida and many others. This is usually where the academic starts - by aligning their field of study with the concepts of postmodern criticism. This is a small industry and this paper is of that ilk. The best that can be said about postmodernism, IMHO, is that it's like brainstorming written down on paper. It's usually thought provoking. Postmodernist thinking is like a written form of a stream of conscious -- only less well organized! ;)
As an aside, when someone asks whatever became of all the nominal Marxists in this world? They all became postmodernist! They had to become something - given that their theory and all of its incarnations are failures. Marxism was the great 19th century critique of capitalism; it was successful so long as you didn't mind some nastiness on the road to Utopia. (Turns out, people *did* mind.) For a large portion of the political landscape both here in the US and around the world, the felt need to criticize the capitalist and capitalism has *not* diminished. Postmodern literary criticism fulfills that role nicely.
But these authors do make a point. Why do you need to learn programming if the reality is that you can purchase the answer? Or look it up for free. I think programming is good for the soul, but some might dispute that motive. Or that to even have the software given to you?? What would be the point of learning to program? Best to leave it to the highly productive few who are best able to do it. With the Internet, the answers are all there for the taking. Don't need nearly as much in the way of university faculty as you might have thought.
I sympathize with the authors' point of view because in my day job I profess computer science for a living. After 34 years of programming (hardly any of it in teaching, but with teaching experience separated by over two decades) I can see a pretty substantive material change in attitude.
However, to claim that all of computer science is only about programming -- this is not quite a postmodernist sentiment!
This paper is about 3 microns away from justifying plagarism and copyright theft under the guise of postmodernism. I love it.
Here's what I came away with in this paper; I'll annotate the good parts with a +, and the bad parts with a -.
This paper proposes that there really isnt any point to enforcing a rigid set of rules that forces each of us to reinvent the wheel (-) whenever we want to do something constructive (+) . However, that ideas a few caveats, namely that by allowing (or encouraging) people to simply 'glom off' the work of others, we deprive them of the experience and perspective that can only BE gained by reinventing the wheel (-)... Here's a cute example. About 7 years ago, I took a class in x86 assembly. Our instructor was pretty hardcore -- Was around even before punch-cards. The manner in which he taught the class was to introduce us to the most minimal set of tools possible, and force us to combine these tools in a way which allowed us to do more things (+) --For example, the MUL instruction in x86 (simple multiply) wasn't revealed to us until Week 4 -- Before then, we had to write our own routine to perform multiplication. To me, this is how it should be. In order to appreciate the car, at SOME point you must first reinvent the wheel and learn what thats like.
This paper puts forth the notion that its simply embracing the evolution of our science to take pre-existing forms, and adapt them for our own uses. In a nutshell, the whole concept of open source (+) . That having vast libraries of code to draw from, and then NOT doing so, is a terrible misuse of resources. After all, if we were to build an automobile, we wouldn't start off by cracking open a book on Chemistry to learn about electron exchange between atoms. We don't crack open a book on Newtonian physics, either, to learn why F=Ma. Chemistry and Newtonian physics can be thought of as the "legacy code" of manufacturing and construction, similar to all the standard tenets of programming. Why write new code when theres something 99% similar to it out there already, that you can simply adopt, modify, and re-release? (+)
I feel better about writing code now, after reading this paper. I had always felt a wee bit guilty about pilfering around in other people's code for a solution to a particular task, feeling that somehow I sucked that much more since I couldn't come up with my own solution, from scratch. This paper allowed me to realize that chances are, the person who I'm "cheating off of" probably did the same thing to someone else, to prepare his own.
Cheers,
Bowie J. Poag
Yes, it's a joke, but who is getting the joke? It reminds me of Alain Sokal, who wrote Transgressing the Boundaries: Towards a Transformative Hermeneutics of Quantum Gravity as a joke. He submitted it to "Social Text", a so called serious `scientific' journal, who published this obvious parody without realizing that it was a joke. You can read the account of his experiment with cultural studies here.
Han-Wen Nienhuys -- LilyPond
Taking that much trouble to write a hoax deserves publication. I always remember my uncle, an epistemologist, telling me how hard it was to come up with the kind of language that is "acceptable" for that field. He was probably right, but reading back over his PhD thesis he had trouble understanding it himself! Perhaps that is the whole point: somewhere the barrier between thought and language, at high academic levels, becomes very fuzzy, and a lot of the terminology serves to obfuscate.
Conversion Rate Optimisation French / English consultant
postmodernism is not the butchering of the language that you attribute to undergraduate papers. postmodernism is rather a way of looking at the world that says, "there is no one way of looking at things. shades of grey exist. there are in-between stages to life." early theorists, especially foucault and saussure were in fact attempting to use language to describe a new use for language. coupled with the fact that we all read them in translation, and yes, they're very difficult. derrida, for instance, is opaque in english, but actually makes sense in french.
a previous poster pointed out that postmodernism does indeed have its roots in art and cultural criticism. what it really is is a framework for thinking about those things. arguing that gender is a masculinist plot is /not/ postmodern, unless the writer uses a postmodern methodology to support his/her arguments. a good academic, and someone who really understands po-mo would not wink and promise to take another author seriously. a true po-mo critic would feel no problem with calling someone else on their bullshit. postmodern criticism opened up the academic world to the possibility of /not having to take each other seriously/.
i dunno, maybe it's just the fact that i slogged through an undergraduate arts degree, but as far as i can see, there is absolutely no reason postmodernist thinking cannot be applied to computer science. it exists in and affects our culture, therefore it can be interpreted in po-mo ways.