''...one of the most striking features of recent discussions in the history and philosophy of science is the realization that events and developments ... occurred only because some thinkers either decided not to be bound by certain 'obvious' methodological rules, or because they unwittingly broke them.'' ''This liberal practice, I repeat, is not just a fact of the history of science. It is both reasonable and absolutely necessary for the growth of knowledge. More specifically, one can show the following: given any rule, however 'fundamental' or 'necessary' for science, there are always circumstances when it is advisable not only to ignore the rule, but to adopt its opposite.'' -- PaulFeyerabend ''TheFeyerabendProject is my attempt to repair the arena of software development and practice.'' -- RichardGabriel [From TheFeyerabendProject web-site] ----- TheFeyerabendProject is an attempt (triggered by RichardGabriel) to repair the arena of software development and practice. This workshop is one in a series leading up to an event to reinvent computing. For that event, a most diverse group of 75 people will be put together. The result of the two-week event will be the first steps toward a roadmap for massive rebuilding of computing - both as a theoretical endeavor as a practice - and toward a plan to accomplish it. * http://dreamsongs.org/Feyerabend/Feyerabend.html -- the project * http://dreamsongs.org/Essays.html -- essays possibly related to the project * http://groups.yahoo.com/group/feyerabend-project/messages -- discussion group By the way, Dreamsongs is a publisher that has produced only one volume to date, RichardGabriel et. al's complex manifesto along these lines presented at the keynote at this year's OOPSLA. ----- I read through this Feyerabend Project stuff, and the main thing that occurred to me is that this guy ought to get back on his meds. I've been around long enough to have watched a number of these "revolutions" and "new paradigms" roll through the software development world. Sometimes they have good ideas contained in them, which get universally adopted but are rarely revolutionary. Often they're totally impractical, and are soon forgotten. Anyone remember how we were supposed to be mathematically proving that our code had no bugs in it? He says in his "invitation", * some of us in the computing arena have come to realize we've made a false start that can't be fixed, and for us to finally be able to produce lasting, correct, beautiful, usable, scalable, enjoyable software that stands the tests of time and moral human endeavor, we need to start over. Perhaps we'll be able to salvage some of what we've learned from the First Era, but I expect almost everything except the most mathematical fundamentals to be brushed aside. I suppose it's possible that this guy is a genius of such magnitude that he actually has an idea that will sweep aside the last 60 years of software development. If it's true, I'll be the first to admire and adopt whatever it is. But my bet is that ten years from now we'll still be developing in what he thinks of as our "false start" paradigm, and the most common response to the phrase "Feyerabend Project" will be "Huh?" -- MichaelTrigoboff [** note: the Feyerabend Project was started in the spring of 2000- we're well over 10 years and, yes, my repsponse was "that vaguely rings a bell... NickKeighley] ''oh... where to begin with this one...'' ''in a nutshell... what would have happened if England had told us to "go back on our meds" in 1776? Or how about the revolutionary idealism of the Roman Empire? Revolution can spring up anywhere from sheer lunacy to pure sanity. (exercise to the reader: which is which? or are they the same?)'' ''Lackadaisical initiatives are the ones that fail. Perhaps those have been what you've witnessed. Perhaps the Feyerabend Project falls in that category. We don't know, yet. I, for one, am open minded enough to wait and see what is to come of it. It has lasted at least a year so far - that's 42 computer/dog years. And if I get opportunity, I will embrace it open-heartedly, and perhaps even participate in its evolution. If there is enough passion and drive, anything can happen - hence one of the many points of my Call Out.'' ''Don't get me wrong. I'm not trying to silence any oppression. Vocal oppression is what inspires and helps to drive the thought behind a successful initiative. If all objections are made known, perhaps the valuable objections can be addressed and integrated to satisfaction - making even more people buy in.'' ''Do you have anything specific?'' ''Oh. And for the record. In regards to the Feyerabend Project, I believe that there is still sustainability in our profession. One improvement I would love to see, though, is a 6GL that runs natively in its environment. An initiative such as that will require something equally, if not more radical than the Feyerabend Project. --SeanZachariasen'' What would have happened if England had told us to "go back on our meds" in 1776? A few more bullets from the long rifles of the Minutemen would've happened. What I was attempting to express with a bit of humor was that the Feyerabend Project web site had a lot of verbiage about how unsatisfactory the current state of programming is, and nothing about what it was proposing instead. And this kind of empty rhetoric reminded me of the ravings of manic depressives when they're manic and grandiose and just '''absolutly sure''' that they're about to go out and revolutionize the world, and then they end up wandering around naked until the cops pick them up and take them to the emergency room. If there is enough passion and drive, anything can happen Only if there's some practical new idea to back up the passion and drive. Otherwise you just get useless churn and end up back where you started. Do you have anything specific? Just the history of the last 50 years of computing, and all the "revolutionary ideas" that turned out not to be so revolutionary after all, or that were applied far in excess of their actual merit. Here are a few specific examples: * artificial intelligence * structured programming and the jihad against the "goto" statement ''(Hey... that one largly WORKED, didn't it?)'' * theorem proving and the idea that you could use symbolic logic to "prove" that your code had no bugs * "object oriented" as something that would absolutely revolutionize programming. It's useful and fun, but I'm still often neck-deep in code that, although now it's written as objects, is '''still''' hard to understand and maintain. (It's code I didn't write, by the way.) The current to-do about patterns is another phenomenon of this sort. Sure, I can see that it's an idea that's potentially of use sometimes. But I just don't see where patterns are going to make things so much easier that the word "revolution" ought to apply to them. -- MichaelTrigoboff It's easy to get the idea that Gabriel is 1) a bitter old man, and 2) a nut, if all you do is read what he's written. And, indeed, to specifically get the idea that he thinks he knows (knew) The Answer to the software industry's problems but is frustrated that we ''just won't listen'' to his towering genius. There's more than a little pity-me whining, of a curiously grand sort, in PatternsOfSoftware for example. But when you hear him speak, and speak with him, about this stuff, the matter becomes a litte clearer. And in truth he is somewhat old and quite bitter. He's bitter mainly that his principle area of interest, Lisp, has been written out of the software development story. And in truth, I'm not very happy about that either. And that what counts as progress in development tools has been stifled, canalised, and even regressive. And ditto. However, he does have concrete technical proposals for starting to improve matters, if that's what you're interested in, starting from some observations about the success of the web. The most concrete of these is that we could make our lives as developers a lot easier if we more often built applications out of components written to protocols, rather than APIs. Another is that we would do well to just build applications around LindaTupleSpaces in the first place, rather than rolling our own in almost every distributed app. A lot of what he suggests is social rather than technical. And even if he is just a nut (extremely unlikely) it's still very healthy for the rest of us to have someone come along from time to time and question those assumptions that have come to be treated as laws. -- KeithBraithwaite ---- ''"He's bitter mainly that his principle area of interest, Lisp, has been written out of the software development story."'' ''In his WorseIsWorse article (http://www.dreamsongs.com/NewFiles/worse-is-worse.pdf, written under the pseudonym 'Nickieben Bourbaki') he acknowledges this himself with the words,'' ''"The worse-is-better argument seems to be a sour grapes look at the perceived villain in the fortunes of Lisp. There is no such villain, and the worse-is-better argument is just so much vitriol poured onto the page."'' ---- ''Does anyone have any pointers to more information about what is meant by ''protocol'' in this context. I have difficulty imagining what the protocol version of an API might look like. At the moment I understand this as a custom script language for each service. And then how would they be expected to interact. Layering protocols is not something I'm fond of in programming. -- ChrisSteinbach'' If I understand correctly, the difference between building an app around protocols not APIs is the general case of which using RestArchitecturalStyle rather than . ---- Perhaps the Feyerabend Project has missed the transformations that have taken place in software development. Recently we have witnessed ExtremeProgramming, DesignPatterns, software refactoring and AgileSoftwareDevelopment emerge. My guess is that PaulFeyerabend would have jumped for joy at the explicit shift of values from process to people and their particular needs. In his essay AgainstMethod, Feyerabend - physicist 'come philosopher of science - argues that "[g]iven any rule, however 'fundamental' or 'necessary' for science, there are always circumstances when it is advisable not only to ignore the rule, but to adopt its opposite". In this new era of software development, there is not one rule or methodology but many. What happens now will be interesting. Are practitioners ready to be flexible and radically alter their way of working according to context. Or will we stubbornly adhere to our favourite practices. ---- Hmmmm... From his "invitation" page, it appears that '''nothing whatsoever''' from Simula and Smalltalk have made it into mainstream computing. According to him, we're all still using FORTRAN. I don't suppose he's seen Java, has he? I think this makes it a little harder for me to believe the rest of his claims. -- JeffGrigg ''You didn't read very carefully:'' "Early attempts to expand the realm of computing - such as John McCarthy's valiant attempt at Lisp and AI, Kristen Nygaard's similar attempt with Simula, Alan Kay's later attempt with Smalltalk, nd David Warren's attempt with Prolog - were rebuked ..." ''Of course, many of the interesting early experiments with OO were done in lisp systems, and with his background he might concentrate there, but that is fair enough. Java certainly shows a lot of its Fortran heritage, and is hardly a paragon of OO design.'' Since the question arose of his familiarity with Java, it might be interesting to note that Gabriel is the creator of java.net (see http://campus.acm.org/public/pressroom/press_releases/3_2005/newell_award_3_15_2005.cfm ). --ChrisSteinbach ---- The canonical example of LetsBlowUpTheUniverse ---- ''[Trivia: the German word "Feierabend" means "closing time", "leisure-time". Funny coincidence.]'' ---- ''I suppose it's possible that this guy is a genius of such magnitude that he actually has an idea that will sweep aside the last 60 years of software development. If it's true, I'll be the first to admire and adopt whatever it is.'' Neither of these statements are entirely true. Often times a set of good ideas can be -- have to be -- stated in a dramatic fashion outweighing their actual goodness. It helps focus the attention of the group (so people don't get bogged down in details), and it helps convey to outsiders a larger philosophy so when they do make an evolutionary change, they can see also perhaps how it express (imperfectly) the revolutionary rhetoric. There are, after all, major principles one discerns behind biological evolution (trends towards modularity and robustness, e.g.) that are invisible on the microscopic path. The analogy to a political revolution might be that the day to day functioning of revolutionary America was boring, dull and repetitive, and involved only evolutionary changes from the British model ("meet the new boss"); but the higher rhetoric of the moment led to a gradually diverging path. The egotism you can see in this project is real, of course; but that is a story about the importance of divorcing the singular nature of an idea from the singular nature of the I. ---- See also: PaulFeyerabend, SoftwareMethodology, FeyerabendOnSoftware