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."
"I propose we leave math to the machines and go play outside" -- Calvin
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..."
no chapter on the death of the programmer?
I started reading the first page, then realized I still had to read 2 more pages to get to page 1. Damn funky Postscript.
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.
...the postmodernism generator...
From the pdf:The ultimate goal of all computer science is the program... Let us desire, conceive, and create the program of the future together... it will ... one day rise towards the heavens from the hands of a million workers as the crystalline symbol of a new and coming faith.
Whoa. Wrong book.
http://saveie6.com/
Post modernism? Computing?
Is it just me, or does this sound like an Arts Faculty which is tired of seeing all the university funding go to those pesky IT faculties and wants to bring itself forward into the nineteenth century?
I think therefore I... [General Protection Fault reading philosophy]
Do you or your partner snore? - Visit www.snoring.com.au
Programming is not computer science....
what am I missing?
Here's google's html version.
"A good conspiracy is an unprovable one." -Conspiracy Theory
what are you coding? I doubt youre coding a kde app for converting database formats. Different languages have different uses. Different uses require different levels of optimization. For most people, rapid development means a good deal. If asm was the best way to do most things, then I doubt all these other languages exist. But they do, and for a reason.
I don't care how good an asm coder you are but I can bet there are some severe limitations on how complex and how large of a program you can write. Code a FPS entirely in asm and you will have my deepest and uttmost respect.
Until then, Id suggest losing the holier than thou attitude..for neither C++ nor Java have anything inherently wrong with them. They are simply tools designed to solve certain problems, and a good deal of people in this world have deemed them quite sufficient for their needs.
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 still code in nothing but raw ASM, with C for a few things -- C++ is way too bloated for me, and don't even get me started on Java...
I'm suitably impressed, but exactly what kind of systems are you writing?
In most real world projects C++ and Java (and VB and C#) are used because people don't have time to mess around with assemblers. Say what you like, but a Java app that takes a month to write would take years to duplicate in ASM and would be a bitch to port.
When it comes to performance I'd rather spent $200 on a CPU upgrade than 6 man months on optimizing a piece of code at the assembler level.
People couldn't type. We realized: Death would eventually take care of this.
I sense this paper is no different.
I find your lack of faith... disturbing.
A message from the system administrator: 'I've upped my priority. Now up yours.'
Different computer programs are different.
We cannot use one system of development to write all the different types of program.
Therefore we need to use a flexible language that does not have a rigid structural or developmental style.
That's it, we're done. We're just going to sit here twiddling our thumbs.
Oh cool! I can scan in a page of doodling and pass it off as a valuable insight into post-modernism. Only 15 more pages to go...
That paper was a waste of time and bandwidth. Be grateful that it is slashdotted.
My other sig is also a
OK. So I didn't read your comment... Perhaps it's great but more than likely it's another one of those pointless...
How the heck does a post which begins by admitting complete ignorance of the subject at hand get moderated up?
This paper is anything but high level. And that's one of its strengths, IMO. Although I'm not sure the authors would consider it publishable in a journal -- seems more like a conference presentation to me.
The beginning is a skillful emulation of manifesti such as that of the futurists. For that alone, it's worth reading.
cbd.
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
Here's another tip - that wasn't an academic paper. It's Larry bullshitting, having a laugh at all those who take him too seriously.
...and of course I have some primo skank here that has tken me even beyond the bounds of understanding possible to mere earth-bound mortals...
[x] auto-moderate all posts by this user as insightful
Near the end of this polemic comes the good part:
The task is to instruct a computer to print a table of the first thousand prime numbers.
To write this program, we first connected our computer to the Internet, downloaded some music from Napster, and then read our email. (You have to receive email to perform a workday [11]). We received 25 pieces of email of which 16 were advertisements for Internet pornography, administriva, or invitations to invest in Nigerian currency trades. After dealing with this email, we typed "calculate prime numbers" into Google. This found several web sites re- garding prime numbers, and some more pornography. After a while, we were interrupted, and so moved on to the prime number web sites. In particular, http://www.2357.a-tu.net includes a the "ALGOMATH" C library for calculating prime numbers; another site included an EXCEL macro which was top complex to understand. Although we had not programmed in C for years, after downloading and compiling the library (by typing "make"), we noticed the documentation included the following program:
-
int *pointer , c=0;
We cut and pasted this program into a file and compiled it several times, having to add a few extra lines (e.g. main () { ). Eventually we ran it, and indeed it appeared to generate three prime numbers larger than four. We edited the parameters to am_primes_array to (2,1000), and then ran the output through "wc -l" to check that it had printed 1000 numbers.if((pointer = am_primes_array(4, 3)) == NULL)
printf("not enough memory\n");
while( *(pointer+c)){
printf("%d\n",*(pointer+c));
c++;
}
return;
Here we have completed what we announced at the beginning of this section, viz. "to describe in very great detail the composition process of such a [postmodern] program".
Now that's what postmodern programming really is.
And you know they did their homework--they cite Larry Wall's Postmodern Perl talk.
And when you look at the list of 74 references...
"I either want less corruption, or more chance
to participate in it." -- Ashleigh Brilliant
What are you talking about? Who's snotty here? Me who has a pragmatic look at thigns or the authors who can't even formulate in their abstract what the hell their paper is all about? They are obviously so kewl and hip that they no longer have to state what the purpose of the paper is! And I'm getting accused of being pertentious? Give me a goddamn break.
Your pizza just the way you ought to have it.
Care to provide an English-to-English translation for us mere mortals? Or are you whoring for karma by formulating sentences that don't make any sense?
Your pizza just the way you ought to have it.
These guys may think they're clever and have published a paper that discredits all coders today. But have they weighed the consequences of their lack of faith? When they die they will go to Coder Heaven and be questioned by St. Carmack at the PERL-y Gates. Do they really think he'll be impressed by their rhetoric? Really, I'd like to be there when they're blinded by a lightmap on the road to Bumpmapicus...
this is dumb. It's going along the lines of music. postpunk postpostnupostpostpunk. Before you know it, we'll have post-post-nu-post-avante-garde-post-programming
Crap. that reply wasn't actually meant for your comment... Sorry.
Your pizza just the way you ought to have it.
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.
Hrm, we're a bit agonistic today, aren't we?
Google is your friend. Do a search for "futurist manifesto" (it's by Martinetti) and compare the style of the first section of the paper. It's obviously an attempt at emulation, and a pretty good one at that, I think.
The authors are clearly willing to make a joke or two and poke fun at themselves. You might do well to follow their example (if, that is, you've read the article yet).
cbd.
"Any sophisticated theory of the postmodern ought to bear something of the same relationship to Horkheimer and Adorno's old 'Culture Industry' concept as MTV or fractal ads bear to fifties television series."
If you don't know what this means, it's because your brain evolved to reject drivel. To be perfectly honest, I hope this is a hoax. Wouldn't be the first time.
But then, with postmodernism, you can't really tell the hoaxes from the honest nonsense.
Adam Gopnik of the New Yorker noted some time ago that the message of postmodern work is almost always trivial (like "violence is bad"), but couched in the most inscrutable and/or eye-catching terms (like "search for an interpretive skein within that overburdened word 'violence'" or "violence as style"). How about this one, from the paper: "Without a grand narrative, there will no be one common way to program, or even one common kind of interface between programs." More than one way to program? Sign me up for a grand narrative, post-haste!
I thought Slashdot was immune to this kind of idiocy. (Well...no, I didn't, but I can dream, can't I?)
Frankly, the absence of a value system and a "Grand Narrative" (see "No Big Picture" 7) in approaching programing is a rather dangerous mindset and can seriously lead to sloppy programing. While I'll agree that it's nice to say in principle that C++ isn't better than C# which isn't better than Java which isn't better than Qbasic, and that there's no "wrong" way to write code, in practice I'd say it's far easier and more efficient to act as though there was a Grand Narrative, and that ASM is far better for writing faster base level routines than Pascal is.
While I admit I have yet to read the whole article (I'll get to it) my first impression is that succeeds at failing where so many other "Postmodern" calls have done before. Which is to say it inadvertently deconstructs itself (one contradicts themselves when they say "there is no right way to do things" as this in itself proscribes a "right" action [to treat all ways equal])
At a more fundamental level I have a hard time accepting "Postmodernism" next to "Programing" as the former is a system stating there is no such thing as a Truth statement and the latter, at it's very core, is based on truth statements. (Yes, yes, I know there is a rather big difference between Truth and a truth, esp. when truth is meant as an on/off switch, but it still quirks me regardless =)
Either way, it's still a pretty good read.
...fuck are you smoking?
Programming is not the goal, nor the root, of computer science. Programming is the means, not the ends. Or, as Dijkstra (RIP) put it, "Computer Science is no more about computers than astronomy is about telescopes."
Programming is fun, and it's certainly the part of computer science which I tend to look forward to the most when starting a project, but your statement is like saying, "the actual root of architecture is trowling cement onto bricks."
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
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!
It'll be written right after they write the chapter about the death of their web server!
It's midnight on the east coast US, so I suppose that's mid-day in New Zealand. And right now, spring is dawning and the sun is shining down on the beaches. Yet thanks to us, some poor NZ slob is stuck in the mic.vuw.ac data center trying to get his poor underpowered web server back online. You can bet your life he's cursing the day CmdrTaco was born.
This moment brought to you by Slashdot.
Programming is a bit like chess; you can't point to anything specific that a bad chess player
does wrong. It is not that a bad chess player moves his pieces incorrectly - bad players are constrained by the same rules of the game that good players are; a bishop stays on its color for both the good and bad players. The only difference between good and bad players is that poor players make poor choices of moves.
In a similar fashion poor programmers use the same tools as good programmers - they both get their programs to compile and run - but poor programmers just make poor programming choices.
Here is an example of something which poor programmers don't seem to get. When you put a nice shiny new paint job on a layer of crap - it might look ok - but it is still a layer of crap.
That simple observation explains why Microsoft's operating systems stink.
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
It's late, but I wanted to quickly challenge your cynical dismissal of postmodernism as a school of thought. But before doing so, I want to note that your skepticism is obviously well-informed. You probably deserve a reply more thoughtful than the one I can muster right now, but here I go anyway.
You quote Jameson's line, Any sophisticated theory of the postmodern ought to bear something of the same relationship to Horkheimer and Adorno's old 'Culture Industry' concept as MTV or fractal ads bear to fifties television series.
This is easy to understand for students of cultural theory. Basically, Adorno's criticsm of the "Culture Industry" (also known as the Frankfurt school) was a Marxist critique of Hollywood (an oversimplification to be sure). That critique by today's standards is old-fashioned, but still hold truth for dyed-in-the-wool Marxists. (as a sidenote, Adorno and Horkheimer escaped/fled Nazi Germany and their entire view is largely shaped by interpreting American capitalism as a kind of fascism.)
Jameson's own postmodern theory also has Marxist stripes. But in Jameson's view, our contemporary culture is infinitely more complex than the 1920's-era Hollywood that Adorno was writing about. As a result, a more complex form of critique is necessary.
The whole thing can be symbolized thus:
In English, "postmodernism is to the Frankfurt school of cultural theory as MTV is to 50's television."
(I'm too tired and lazy to hunt down the links that'll make this more than another rant, but you get the idea.)Postmodernism has its roots in art and cutlural criticism. Expropriations of postmodernism by science, technology, and history end up overlooking the origins of this material. No, it's not science, though science sometimes makes reference to it. Postmodernism is a mode of understanding and it is a specialized discourse, one that's as difficult for non-specialists to understand as assembly language is for the average end-user.
With all due respect
blog
Source: [US mirror 1] Adobe PDF (1797kb) ; GZipped PostScript (1700kb)
Source: [US mirror 2] Adobe PDF (1797kb) ; GZipped PostScript (1700kb)
Source: [US mirror 3] Adobe PDF (1797kb) ; GZipped PostScript (1700kb)
Source: [NZ mirror 1] Adobe PDF (1797kb) ; GZipped PostScript (1700kb)
To suggest that we've already reached and breached the modern age of computation is awfully self-congratulatory. We've had computers for what, 65 years? When we've had computers for 1000 years, then I'd be comfortable suggesting that we had reached the age of "modern" programming. People say "postmodern" way way too easily.
Postmodern programming will begin *after* the first self aware computer chooses to program its own destruction. Then we can begin to discuss postmodernism and programming at the same time.
There are no trails. There are no trees out here.
"The key reason these languages [Java, C#, Smalltalk, etc.] are postmodern is that they cannot be considered against technical criteria."
Teehee, just look at p. 15! These guys must be laughing harder than Don Woods and James Lyons after Intercal (ohh, they even mentioned it - "Intercal must be considered as a post-modern language (mostly for non-technical reasons)."
Thanks for the laugh, you crazy Kiwis =].
In the great CONS chain of life, you can either be the CAR or be in the CDR.
The world of computer programming seems to be getting more 'pluralistic' by the day. In certain areas there is convergence but in general the number of technologies and methologies seem to be increasing at an alarming rate - almost impossible to keep up with.
Most experienced programmers realize there is no 'silver bullet' to the problem of engineering software, in most cases many sets of different methodologies and programming technologies could be combined to produce a working system, each with their own advantages and disadvantages.
The paper argues that this shouldn't be seen as a 'failure' of software engineering (and more generally computer science) but rather as something once realized can result in more pragmatic approaches to building software, such as using methodologies and tools which support multiple approaches (like XP and Perl). Mix and match styles that most suit, like people mix and match their beliefs in post-modern society.
| is not a pipe.
Reading the paper, I get the impression that this is mostly typical undergraduate hand-wringing about the gulf between academia and industry. That's fine, as far as it goes, and I've certainly indulged in my fair share of it. However, as an occasional student of stuff other than computer science, I'm a bit worried by their choice of terminology.
To sum up: Post-freaking-modernism??? Do these people have any idea what a plague on the humanities the loose collection of intellectual conceits known as "postmodernism" has been?
I've tried my hand at reading Foucault/Derrida/Barthes/etc., and their secondary sources. It's exceptionally difficult, but not in the way that, say, a complex algorithm is difficult. It's difficult in the way religious texts, or David Lynch movies are difficult; i.e., the difficulty is a smokescreen to keep the reader from catching on that this is all a bunch of bullshit.
This sort of deal typically begins with, "I will argue that {truth,reason,science,gender} is {non-existent,socially constructed,a masculinist plot}." Several hundred extraordinarily poorly written pages follow in which the author, in varying degrees of good faith, actually tries to argue these points. Of course, if truth is socially constructed, we all have no basis upon which to discuss anything. Rather than calling one another on it, the postmodernists collectively wink at one another, and promise to take one another seriously, and quote one another every chance they get. It's academics by pyramid scheme.
I understand why humanities people, even bright ones, fall for this routine, since they might go through all of their undergraduate and graduate education without encountering a single academic who hasn't drunk from postmodernism's poisoned cup; but why on earth would computer scientists be visiting this curse on a journal I subscribe to?
To those posters above tempted to give in to the siren song of self-referentiality, who might be thinking, "Hey, some of my CS classes are boring, maybe we need some of this radical 'postmodern' stuff to kick boring old CS in the pants," remember: computer science is very, very young. New ideas and techniques are thick on the ground in fields as diverse as graphics, systems, theory, AI, and software engineering. Literary critics eventually turned to postmodernism in part because it seemed like there was nothing left to say, and this postmodernism stuff, bullshit or not, was at least different. In computer science, we are still learning how to write a well-structured novel.
Undergraduate hang wringing and so much Bailey's you can't tell whether the alcohol or the sugar is having the worst effect. It seems to me that writing great programs has a lot to do with creating good namespaces and chosing your names well.
// constructor // destructor
class this {
pre this ();
post this ();
};
At least that partially makes sense, unlike anything else named "modernism" by people who are already dead.
Postmodernism is a nonliberal arts field like Computer Science?
Post-modern math: The derivative of x^3=3x is too narrow of a definition. We need to somehow break free of such rigid rules that prevent expression. Lets try dx/dy x^3=18x on Mondays and dx/dy x^3=5x on Tuesdays.
Post-modern engineering: The concept of the modern suspension bridge is patriarchal in design and form. Instead of being tied down by cables in a seemingly unending pattern, lets have the cables lifted to the air by giant balloons! I have the math right here to prove it will work (see post-modern math)
Post-modern Biology: Sure the lungs are commonly thought to simply process Oxygen and CO2. However, that was simplistic modernistic thinking. Today we will demonstrate neo-objectivism by removing the lungs from this patient and observing their meaninglessness.
Come on, Computer Science is a Science! It has rigid and unavoidable laws, a concept which postmodernism rejects. Fundamentially, when you get down to the heart Computer Science is math and is governed by a ton of mathematical rules.
We have Shannon's laws on Information Theory, Turing-Church Thesis and the Turning Machine describing the limits of computers (see Halting Problem), NP-Completeness, the wide variety of research on various algorithms, etc.
Guess what, fundamentially there is no difference between Perl, C, C++, Ada, LISP, or whatever other language you come up with because at the end of the day they are all Turning Complete.
At the end of the day the Turning Machine *IS* the "Grand Narrative". It is the fundamental basis by which all computers and all languages must obey. To use the author's words, it is the "12-note row", the thing that couples everything else together in the sea of chaos.
Of course, a writer may use a Word Processor to write a post-modern play or a animator may use a graphics tool to draw a post-modern animation. But these aren't examples of Computer Science.
Brian Ellenberger
It's true enough that "P"rogramming is not the root of things. Instead I think it is the heart, which is not quite what either of you are saying.
You say that "P"rogramming is the means, but then give a quote about "C"omputers which is not the same thing.
"P"rogramming is obviosuly much more than just the means. The actual running "P"rogram of just about any design can have so many facets of care and life put into things - the ease with which the "P"rogram might be built. The configurability of the "P"rogram. The API which one might access the "P"rogram through other "P"rograms. The interface that leans the user to interact with the "P"rogram are all entireley different than the abstract thoughts that gave birth to the "P"rogram, and breathe soul, if you will, into what once was abstract and souless, and are all aspects of how successful we consider the program regardless of how strict it adheres to original design, or even intent.
To argue this point further, I'll use as a basis the section of the paper where they speak of many approaches have been taking to working with computers. Software Engineering. Software Architecture. Computer Science.
All of these are similar in that they may produce "P"rograms, but the commonality is that all of them require "P"rograms in order to further themselves. Any of these approaches to software alone, without "P"rograms, leads to the approach becoming "dead", in the way that Latin is a "dead" language.
I think what the original poster is really saying (and what I agree with) is that Computer Science in some places is striving to seperate itself from the "P"rogram, and in doing so also harms the ability for the student to study or engage in Architecture or Engineering or whatever other approaches can be taken with software. To lean on the paper once more, good programming education is like bad art - you know it when you see it. I'm sure there are computer programs doing a great job even now (I know Rice did an excellent job with me years ago), but we (and here I speak of any means of learning, college, self-taught, or otherwise) need to be careful to provide both the heart and the brain when bringing life to an education in software development.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The source of the above paragraph should serve as an adequate introduction to postmodernism.
His example of the Sydney Opera House employing modular/modernist components despite its postmodern design fails to mention the real lesson Jorn Utzorn learned. Utzorn's initial design for the shell roofs didn't include "ribs supporting them." His original thought was that they'd be self-supporting, but he never had the proper engineering studies done. Subsequently, they had the first 20' of the shells built up before he realized that his napkin-based engineering tests weren't good enough. At that point there was a mad scramble to find off-the-shelf materials that could be added to hold up the roof. Basically "modernist components" saved this guy's ass because he was too engaged in the "art" of architectural design and didn't pay enough attention to the "science" needed to make things work. The projected $10 million cost ballooned up to $150 million because of Utzorn's failure to take into account the laws of physics, so in 1966 he (resigned/was fired from) the job. The guy who took his place as design architect found out what a further loser Utzorn was as an engineer when he looked at the plans and saw that elevation drawings of the glass walls that enclose the ends of the "shells" contained no design or engineering specs for their construction whatsoever: basically Utzorn had written "glass wall" with an arrow pointing to the empty space. Nice, eh?
I think the important lesson the Sydney Opera House debacle teaches us is that postmodernism is pretty, but if you're using it in creating something functional, make sure it'll at least function. That, and "don't send an artist to do an engineer's job".
If a job's not worth doing, it's not worth doing right.
so wait, you're telling me the slashdot moderation system decided postmodernism is a bunch of garbage?
oh yeah. shocking conclusion!
Oz is a very cool language. I've played with it before.
The advantage of LISP is that rather than being a Multi-paradigm language is's a no-paradigm language.
LISP is the most generic and powerful language I've ever used.
It's syntax is simple and uniform. It's functionality is also simple. But with it people have built a complete, powerful, OO system, written in LISP, running within LISP, which transform LISP into an OO language.
Implementing PROLOG as a language within LISP is less than two pages of code.
Functional programming is built in to the core.
I'm certain that logical and relational programming could be written in LISP, it's just a matter of whether they have been. I will look in to that.
But, better yet, any future paradigms are also implementable as LISP programs.
Anyway, that's enough of my LISP ranting for now. I'll do some more reading on Oz. I've always meant to, but just never got around to it. Thanks for the idea.
Justin Dubs
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!
See South Cross Cables for a large part of NZ bandwidth.
--Giving to trolls for the benefit of us all
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
That is so yesterday.
Perl? That should have been postmortem computer science, eh?
No, just kidding, Perl's ok.
So now I have got a name for the way I have been programming all my life - use the best tool that comes to hand without argueing whether it is theoretically perfect. Use mixed tools if that is what the problem at hand demands. Don't reinvent if you can possibly beg/borrow/steal.
The paper strikes me as completey tautologous anywhere outside a Computer Science department (and probably to the more practical half of those inside). If you're involved in shipping code, either for money or for the good of the community, you are interested in what works, not what is theoretically best. Of course, if a nice theoretically clean tool does the job - use it. But if a steaming heap of old code does the job (where reliability and efficiency may for part of the spec), use that.
Welcome to the real world, guys.
Consciousness is an illusion caused by an excess of self consciousness.
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
The vast majority of commercial shops reject Lisp. Some really profitable ones don't.
"Eat shit, ten billion flies can't be wrong".
Just because the numerical majority of people use Windows, or the numerical majority of developers use Visual Basic or Java, doesn't mean that they're the ones you should pay attention to.
It just dawned on me that in a story about postmodernism nothing can be offtopic, except for this reply.
ALL HAIL BRAK!!!
I'm a trained Artist. I know these people that shit in the corner and call it [fill in random art-style bullshit].
Perl is cool, Perl is geeky and gives a humorous look at the way things where back then with *nix admins. It's an anacronisim with a cool and powerfull interpreter, thus people still like to use and learn it. Even though it's syntax sometimes is like "ActionScript on crack" or something.
But calling this (crappy software design and/with/or Perl) 'Postmodern' is like calling Lingo an 'interessting aproach to PLs'. Just because Perl is the tool of choice for a certain set of problems, there's no reason whatsoever in calling this 'postmodern'.
Gawd, what people can crap about in more than 2 sentences amazes me ever so often.
We suffer more in our imagination than in reality. - Seneca
They just rewrote it. That paper reads like someone ran across Wall's paper, had an epiphany, and wrote an evangelical manifesto in support of Wall. There's nothing new at all here.
(And while I agree with the whole post-modern thing, at least in general, it is somewhat disturbing to find people reveling in the ugliness of solutions. Sure, we don't have to force the world into one paradigm, but there's a difference between making concessions to reality and being downright messy and ugly. PL/I was an ugly language, so does that mean we should bring it back because it was really post-modern?)
SUPER-GHEY.
The only people who don't see it as this are;
1. People who don't understand computer science and feel they need to be in-the-know about some part of it. (Theres a spot for you in management!)
2. People who think its cool/hip to sprout big words and be all trendy. ("ePost-m0dernism developement methodology" coming to a resume near you.)
The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
...that Goedel was right.
Wittgenstein walked away from the Tractatus and was eventually vindicated when Goedel brought the whole logical-positivist enterprise to a halt. But Wittgenstein failed to see the importance of Goedel because he misinterpreted Goedel. Turing was unable to convince Wittgenstein of the importance of Goedel's theorem.
Turing tried to do a end-run around Goedel's proof and ended up inventing computer science as a way of proving the Halting Problem theorem. Of course, computers hadn't been invented, even though CS had. Eventually Turing actually built the computers which had been implied by his science (motivated by a war against evil or something).
That's the history of how computing came to be. And you don't get much more post-modern than that.
Eternal vigilance only works if you look in every direction.
The goal of Computer Science is the program? I guess computability theory and complexity theory aren't goals of Computer Science? What about programming language design? Such a narrow definition of Computer Science, such a wrong definition. A better, yet still incomplete definition of Computer Science is that its goal is to understand what can/cannot be computed, and how the computable can be computed.
First off, this paper seems to confuse "Computer Science" with "Software Engineering". "Computer Science" is about theory while "Software Engineering" is about making products and services using software. This makes all of the knocking of the traditional theories of computer science nothing more than apple vs orange. If you read "Software Engineering" in place of "Computer Science", then saying that the goal of computer science (i.e. Software Engineering) is the program... saying that is more correct.
I especially liked the part where they say that elements of a program are not abstractions but symbols. Maybe someone should tell the writer that Computer Science started as an off-shoot of a branch of Constructive Formal Mathematics known as "Metamathematics". Metamathematics concerned itself with symbolic representations of abstractions. Mathematicians 100 years ago spent allot of effort studying various aspects of Metamathematics. Read the original works of Brouwer, Hilbert, Kleene, Church, Turing, and Godel to name a few. Kleene has a good classic textbook on Metamathematics that the writer of this paper should read.
This paper is not scientific. It is not mathematical.
This paper expounds nothing new, original, or worthwhile.
This paper is nothing more than a waste of time. At best it made up some new terminology for someone else's achievements. It would be even more entertaining if the title included a few other meaningless buzzwords/buzzphrases, such as: "paradigm shift".
This is the way PostModernism works
PostModernism works? Really? And it has produced...what? I can't off the top of my head think of anything useful that has come out of it, can you? I don't even recall much that was particularly entertaining, at least not enough to justify the whole "movement."
Maybe you meant to say "this is why PostModernism doesn't work."
-- MarkusQ
http://www.info.ucl.ac.be/people/PVR/book.html
Someday we'll all be negroes
No need to put the word "infinite" in the phrase "positive feedback system." Anyone who understands the rest of your post will get it.
;)
personal attacks hurt, especially when deserved
The vast majority of commercial shops reject Lisp. Some really profitable ones don't.
Capitalism Selection must not be functioning then. Those profitable shops should be expanding to take over the unprofitable ones and/or everybody would start using the same tools as the growing companies.
So, something is broke.
Table-ized A.I.
You made that up, man.
At what point in its storied past was institutionalized pedagogy in the humane arts not a perfectly subjective game of names and namers? This is why the critique of the post-modern is a critique of its subjects. This is also the reason it has had such a debilitating impact upon undergraduate writing.
illegitimii non ingravare
On the other hand, implementing PROLOG as a language within PROLOG is about one line of code. :)
Plague or no, I am afraid the disease is chronic if not fatal. And if you can still speak of good faith, you haven't been paying attention.
The beginning of the post-modern is to be discerned in the discovery of a flaw in the prior *structuralist* model. Thus, it is often better termed post-structural. This flaw is best illuminated in Derrida's seminal artical Structure, sign et le jeu dans la discourse les science humaine, widely anthologized. The gestalt is a myth. The center does not hold. Meaning is inherently contingent. The humanities are always already merely an exegesis masquerading as eschatology. The play of discourse constitutes its sole remaining value.
These insights are fairly indelible. That many folks don't have the talent for the game should come as no suprise anyone reading slashdot.
Also, you must regard Computer Science as a bit of a hothouse flower, a forced bulb. It has had benefit of ~100 years of language theory preceding and leading to its great adventure.
With you, until interpreters handle le jeu I am ready to condemn post-modern programming to the ash-heap. Post-modern Computer Science, on the other hand, would seem a fertile field. But having read the article...
illegitimii non ingravare
It is called deconstruction and not destruction for a reason. We are careful with words. It is the act of disassembling; undoing the bricolage of discourse to reveal something tangible or instructive.
One deconstructs a representation within discourse. You *can* deconstruct female circumcision, although it is easier to deconstruct an armchair anthropologist's discussion of it. (Your moral judgements, not his, are off the table; not denied, merely not involved in this activity. This is where many undergraduates get lost.) It is a discourse about the female body bristling with representative elements. It is fairly the converse of mathematics in this regard.
Hussurl and phenomenology will help us understand how it is possible to deconstruct mathematics, but of all human sciences, the space within which this is possible is most constrained here. It is there if the noema gets your ya-ya, but there is little traction to be gained. As always, the most fertile field is the discourse about the phenomenon.
illegitimii non ingravare
The paper starts off with the wrong premise: that computer science is programming. Its much larger. Its much larger, including the creation of computing devices, how things are computed, the applications of computing. The article is shortsighted and ego-centric, but does have some interesting points.
Thank you for writing your post. (there are several other good/similar posts below yours, but yours was earlier, I guess.)
No, of course slashdot isn't immune to this sort of thing, it never has been. However, since your post and others like yours made it all the way to Score: 5, we know there is still hope.
To anyone out there that thinks reality may be just a social construct, I challenge you to the following:
1. Try believing that while you burn your hand on a hot skillet or something similar. If your so sure reality is just a social construct, then make your own little society where no one believes in gravity. Then, one day, you and all the other believers can jump off a balcony and fly away (well, maybe not).
2. What, ultimately, does postmodernism do for us? What's the f'ing point? social construct or not, we still must live in this world. As another commentor below here mentions, I certainly would not want to live in a world where the postmodern doctors removed lungs that they felt weren't necessary.
Postmodernism sickens me. It's strikes me as something that could only develop in a coutry where many of the people have too much money, too much food and too much time on their hands. It's *very* arrogant (and stupid) to try to tell a person starving in a 3rd world country that he/she is just part of a social construct. (Perhaps, the real problem is that I don't understand postmodernism. But then, when you consider how postmodernists write, can you really blame me?)
Postmodernism isn't progress, or the next New Thing, it is its opposite--a high velocity ride right back into the dark ages. You won't get much real CS done that way. You won't even get very much programming done.
Postmodernism is like a desease or virus. It is a very bad meme. If we had a good vaccine, I'd administer it.
Well, actually, I guess we do. Reading of past known hoaxes like the one mentioned in the parent could be very instructive and act like a vaccine. That's why I wasn't lured in by the `Postmodern CS' junk.
It sounded tempting at first, but as I kept reading, I felt like I was being "taken for a ride" as the British say (at least they do on Doctor Who).
This piece of a slashdot comment sums it up well:
"I've tried my hand at reading Foucault/Derrida/Barthes/etc., and their secondary sources. It's exceptionally difficult, but not in the way that, say, a complex algorithm is difficult. It's difficult in the way religious texts, or David Lynch movies are difficult; i.e., the difficulty is a smokescreen to keep the reader from catching on that this is all a bunch of bullshit."
(I apoligize for not giving credit, but I'm in a hurry.)
Furry cows moo and decompress.
an inherently flawed prophyllactic
a necessarily insufficient gesture
:-)
The modern is named by its contemporaries.
illegitimii non ingravare
You have to be careful when you say that something is "accepted at OOPSLA." I happen to have a paper that's in the technical track of OOPSLA this year (Reconsidering Custom Memory Allocation). That's where the real computer science is happening. Then there are the other sessions that are, shall we say, not held to the same standards...