Futurist Programming.. in 1994

I’m guessing that these ideas were to make programmers think critically and not necessarily take their own programming training at face value. I’ve come to this conclusion because I’m having a hard time reconciling: “Rejecting COPIES that have been done before” and “Rejecting Modularity”. Also, if your trying to stop a programming religion, why would start a new one? Since Futurism was originating by painters, this sounds so Dada to me.

It’s an admirable set of goals.

Hmmm. I saw this some years ago, and I remember thinking then that it was a load of bollocks, and I think time has proved me right :slight_smile: It was a clear over-reaction to what a couple of guys thought was a problem. I would like to see what sort of code they produced under this regime. Although I wouldn’t like to have to work on it :slight_smile:

Oh, and Scott L, this doesn’t sound much like Agile programming to me (the no paper documentation is the only vaguely Agile thing in the list), and Agile programming != no planning. It does, however, require a different sort of planning.

They reject “Reusable code” ? I can understand that to keep a system lean not adding things in for “code reuse” that you may not need, but copying and pasting the same algorithm everywhere doesn’t seem like a good way to keep things lean or fast, much less bug free.

What is wrong with user-configurable software? Am I supposed to read someone’s mind and guess where files should go, who the user should be, where the database is?

Or is this aspect of the futurist philosophy so narrow-minded that I should already know where those things are?

Or am I a noob and got it all wrong?

I think some of the “Priorities” are dead on mark:

* The USER LIKES to use the program.
* The program is BUG-FREE.
* The program needs NO USER MAINTENANCE.
* The program requires NO USER DOCUMENTATION.
* The program requires NO SYSTEM ADMINISTRATOR

Hi,

While discussing Yet Another Software Development Movement Based On Some Other Movement, I’d like to mention the one I just came up with:

Programming Dadaism:

“Dada Programmers thought that reason and logic had led people into the horrors of war, so the only route to salvation was to reject logic and embrace anarchy and irrationality.”

According to its proponents, Dada Programming was not programming — it was “anti-programming”. It was anti-programming in the sense that Dadaist Programmers protested against the contemporary academic and cultured values of programming. For everything that programming stood for, Dada Programming was to represent the opposite."

The red background on that “Futurism resource page” site really messed with my eyes. Also the link colors couldn’t be any worse. I had to CTRL-A to select all the text just to read the URL links.

I don’t think I want to be on a team that doesn’t decouple code using standard O.O. design and/or modular and reusable code. “Don’t worry guys if you need some data just grab it the globals.h file I’m sure no one else plans on using your data” That sounds like a nightmare to manage. I can’t imagine this “model” works well for life critical software either…

I’m pretty tired of hearing about people who think computer science curricula should not consist of computer science education. If you just want to be a programmer solely, go to ITT Tech.

Yeah, well, I want my car to run on nothing but farts, but there’s some natural laws that get in the way.

Am I supposed to read someone’s mind and guess where files should go, who the user should be, where the database is?

The futurist stuff-- and I’ll admit some of it is just rhetoric-- turns out to be a decent oracle in this area, as well.

Convention over Configuration
http://softwareengineering.vazexqi.com/files/pattern.html

Anything that is done for the convenience of the programmer at the expense of the user.

All additional forms of USELESS and IRRESPONSIBLE WASTE.

These sound very much like Lean/Agile to me. I am just finishing up “Lean Software Development” by Mary and Tom Poppendieck ( http://www.amazon.com/Lean-Software-Development-Toolkit-Managers/dp/0321150783/ref=pd_bbs_sr_1/102-3016171-0456151?ie=UTF8s=booksqid=1185213614sr=8-1 ), which is a great explanation of the motivations behind the Agile “philosophy”. A couple big recurring themes in the book are (a) eliminating waste, and (b) rapidly delivering value to the user.

This repeats the oft spoken nonesense about bloatware. “Don’t waste precious memory”, “don’t waste precious processor cycles.” Frankly that is total bunk. Memory and cycles are not particularly precious at all. When I was a kid I wrote lots of Z-80 code that had to be extremely tight on memory and cycles, today you simply don’t have to. It seems much better to waste memory, than delay a release.

Premature optimization of cycles or memory is a core mistake made by people who don’t have to work in the practical world of deadlines and feature lists. Since my Z-80 days, I never hear people complaining about the memory footprint of applications, and rarely do I hear about performance woes. (In the latter case, it is usually a poor choice of algorithm, rather than the need to unroll all your for loops that is at fault.)

Futurist Programming looks like a great tool… for writing revolutionary software and helping one think out-of-the-box. But, that’s not always an important requirement.

I hope that the computer scientists coding the local nuclear power plant’s water supply control routines don’t throw out all their proven algorithms to try something new.

It takes courage implore others to forget everyone and everything that’s come before and then admit that they didn’t actually come up with the idea.

I tend to agree with Stephen Jones’s remark that we are now writing software that coddles users. Rather than expecting users to learn how to use the application, we try to make it fool-proof, often at the expense of efficiency and, in the long run, dumber users. If you expect users to be non-intuitive then they will expect you to be perfectly intuitive.

Michael Debro said: “Future Programming looks like a great tool (for) helping one think outside the box…that’s always…an important requirement.”

Couldn’t agree with you more. And it’s a good thing our profession widely adopted this tool; in 2025 we have no boxes due to the Great Box Famine of 2019.

I like the analogy of Futurism with coding methodology. Most of the goals listed are right up the alley of a typical demoscene coder. Yet, the demoscene started up well before this 1994 realization. :slight_smile: Nice find.

“Universities should provide students with less religion, and much more practical experience in making and analyzing small, fast, useful and efficient programs.”

Sounds like TopCoder (www.topcoder.com).

This could be about art. Maybe, programming has had too much method drilled into it. Is there room for emotion?

What luck!

I enter a search to read about the Futurists in order to be inspired and giddy about the gadgetry and widgetry washing over us, and I end up here.

I love the nationwhole: the Hudson River School landscapes and the Futurist cityscapes.

I love the way Boccioni made urban scapes hirsute, and how Mondrian made oceans like subdivisions.

I have traveled through time and space on astral wings, and have drifted back home in cosmic gales.

The waxing of heaven sweeps through and without the tidal basin, bringing every glinting pebble and stone forward an increment toward soft gentle ovule and sedimentary shore.

The Positivists are ok, but the Futurists are smokin’ cool.
I am not sure how well their pre-digital principles can be superimposed and integrated into a digital age, but it is well worth the effort.

Paul