• ### Announcements

#### Archived

This topic is now archived and is closed to further replies.

# Thoughts on Futurist Programming

## Recommended Posts

This post is actually the result of an email I got from XCHG asking my views on the futurist programming movement. I thought it would drum up some interesting conversation, the likes of which I haven''t seen in some time. I''ll assume you are familiar with the movement, if you aren''t, click here. Be sure to read the subpages as well. So without further delay, my thoughts on futurist programming (it''s a little long): My views of futurist programming in short (or long): It is an excellent idea. However, like so many software designs, it''s actual implementation would be impractical. It would require that many people change the ways in which they think, something not easily accomplished. It would also require the death of the academic''s ego, which would also be difficult since academics are damn know it all''s. In order for it to take hold and really fly would require a renaissance in computer programming, something I would agree is desperately needed, but there really aren''t enough people to spearhead the movement at this time. What would be required to awaken the beast and make it stir within the masses of programmers would be some program so advanced in it''s area that it leaves all it''s competitors 20 years behind, but even then it wouldn''t be a real reaction, it would be a capitalist response to a market threat. Kinda like what happened when the first Mac (or Lisa for that matter) came out. Apple was instantly 10 years ahead of the game in the design of their UI which sent Microsoft scrambling to respond with it''s own lackluster offering. What Apple did then was pure, what Microsoft did was merely respond to a threat. Admittedly, after that fist time, Apples motives were no longer pure and they did not embrace the future as well as they should or could have. Even today they are lacking. I would love nothing more than to see computer science evolve to something better, I just doubt it will. So long as there are lazy programmers, dogmatic academics, and people whose only draw to the field is financial appeal, there will never be a renaissance in the software industry, just clones and updates of things long dead and unoriginal. "Modern hardware has gotten fast enough to no longer justify the use of assembly optimization..." It is in this fallacious thinking that I see on the boards at gamedev all the time that really irks me and it makes me realize that so long as those people exist, software will always be slow, bloated, and wasteful. Those are my views, I could be wrong. Just take my ramblings with a grain of salt since I really don''t know what the hell I''m talking about sometimes. I''m not certain if this is one of those times or not, let me know what you think. ;-) Jacob Carnahan aka SilentError If only debugging were as easy as killing cockroaches... *sigh*

#### Share this post

##### Share on other sites
They''re all a bunch of whiners. Software isnt bloated

Once there was a time when all people believed in God and the church ruled. This time is called the Dark Ages.

#### Share this post

##### Share on other sites
Not only was reading that web page comparable to trying to stay awake in church but I found that trying to comprehend what that guy was saying 10 times as difficult.

"To look on the lot of computer "scientists" as at one and the same time useless and dangerous". This guy sounds like the Bin Laden of the entire field of computer science. Tonight before I will be able to sleep I think I might have to search my entire house over for any of his assasin agents hiding behind a curtain.

Not saying that he isnt right though, as I sure as !@#$couldn''t make heads or tails of any of it. ~Vendayan #### Share this post ##### Link to post ##### Share on other sites Arild: Thanks for spurning interesting conversation for me. That article presents just the kind of modern programmer mind set I so loathe! "Hey, here''s the deal man. Hardware''s bigger and faster. Storage and memory both are ample. Lets just cram every feature under the sun into our software, spot check it a few times and ship it out the door. The end user won''t care about it''s huge size or ridiculous requirements! Afterall, we''re a multinational corporate entity, what are they gonna do about it?" What about making small, fast, efficient, and elegant software that runs great on even the most modest of systems? Is this now just a memory of the past? It seems to me that the only reason my hardware becomes obsolete is because the software companies tell me it has. My current system (K6 233 32RAM)is considered obsolete but it still does a wonderful job. I have two 486 computers that are horrifically obsolete by today''s standards but they''re fully capable of doing what is required of most casual computer users so why should they be obsolete? I believe the thinking that hardware advances will make up for lack of tight, elegant code is damaging to software engineering as well as consumers. Then again, I learned how to program on a computer with only 64K of RAM so maybe my thinking just hasn''t caught up with the times. (I don''t think that to be true, I''m only 18) Vendayan: Please tell me that you are joking! That would seem to imply that the average attention span (or perhaps intelligence) has dropped well below what one could call acceptable standards. Well, either that, or it denotes a lack of literary class on your behalf. In either event, I am frightened. Still waiting for interesting view points... If only debugging were as easy as killing cockroaches... *sigh* #### Share this post ##### Link to post ##### Share on other sites Some quick clarifications. I can see the start of some rather lame responses on the horizon so I hope to nip it in the bud before it happens. First off, I am NOT saying that the 486 should not be dead. I'm just wondering what's with forced obsolescence and the software industry. It seems every time I just buy a new computer that I think will remain useful with minimal investment, it becomes obsolete within months. Not that I really have a need to run all the latest greatest software, but it is a little disturbing to me. I can't justify spending thousands on something that'll be out dated in a year as some people can. Second, all my complaining of software bloat stems from my desire to create code that is elegant, efficient, and above all, stable. I'll spend hours analyzing 50 lines of code if I think that there's even a remote chance of something being wrong with it, even if I eventually conclude that there isn't. Some people say I'm anal. I resume my waiting... If only debugging were as easy as killing cockroaches... *sigh* Edited by - Silent Error on February 7, 2002 9:29:57 AM #### Share this post ##### Link to post ##### Share on other sites You cant seriously think that manifesto is well written? If there actually is a valid point in there somewhere, they manage to bury it pretty well under the tons of banal rhetoric. In their own terms, the manifesto is "bloated". You could strip out 90% of the text without losing any of the meaning. And implying that people are less intelligent just because they dont like this kind of mindless rambling isnt a way of "spurning interesting conversation" either. Once there was a time when all people believed in God and the church ruled. This time is called the Dark Ages. #### Share this post ##### Link to post ##### Share on other sites Well written or not, it is not that difficult to understand. That is my point. It is not a laborious mental task to decipher so I honestly cannot comprehend why anyone would have difficulty understanding or staying alert in the process of reading the bloody thing. #### Share this post ##### Link to post ##### Share on other sites For those having a hard time with the manifesto, here is the important part: quote: The present state of the art in programming discourages experimentation and formal analysis. I disagree with the experimentation part, but formal analysis is something that could DEFINATELY be developed. People might not remember what you said, or what you did, but they will always remember how you made them feel. #### Share this post ##### Link to post ##### Share on other sites Silent Error, I think there are many things to be discussed on the subject, but specifically you have a point, current software (should I point out "commercial software") makes hardware obsolete. Just look at M$ Windows evolution, it took them too much time and versions to release their final product "XP", which will need a minimum of a PIII with 128 Mb of RAM just for the OS??? Of curse XP has tons of nice feautres, both,
culdn''t MS make a stable/reliable/with standard features, since Windows 3.0?
How many of us use new features from Office 2000 that we didn''t know or use from Office 98?
Does Corel or Adobe have improved their basic image processing routines, and tunning the not so basic ones? because they add like 100Mb on each release so...

Despite this facts, do not forget that not all the programming industry is like that, or that the assembler is not needed even on high level applications. AMD and Intel try to help on this suppling programmers with optimized routines and libraries (assembler of course) wich makes the best use of their processors features for a lot processing tasks. There are also the low level drivers programmers, firmware programmers, console game programmers, handheld programmers all those take a lot of care on ROM and RAM space, as well as speed and effectiveness of code.

Now, back to the futuristic thing, I think Open Source projects (on whatever platform) it is the futuristic programming approach of these days, Is their code elegant? I do not know, but I know that they make releases very often, bug correction happens soon, you can download play with it, modifing, etc, you can help to improv it, and so on.

So, my two cents.

/\
/__\ C.Z. Hagen

#### Share this post

##### Share on other sites
"Why does computer science reject self modifying programs?"

If they don''t know that, then how am I supposed to take them seriously?

The path through a static program is difficult enough to prove correct. Now take that program and make it so that it can alter itself... you increase the complexity of the program by an order of magnitude.

I agree with issues of bloatware (measuring it in terms of the price of hard disk space is a very vacuous argument) but I don''t agree with what looks like an "Algorithms bad! Assembly good!" protest.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost ]

#### Share this post

##### Share on other sites
If they code anything like they write, it''s no wonder they need to figure out a better way to do it.

It looked like several pages of auto-generated bs.

#### Share this post

##### Share on other sites
Personally, I like this one:

To rebel against the tyranny of the words "extensible" and "reusable" expressions so elastic that they can just as easily be used to demolish the art of Atkinson, Baumgart and Deutsch as well

Duh. I certainly have no use for reusable, extensible code. The company I work for doesn''t either. Every time we add a new feature to the product, we start from scratch.

8. To render and magnify the life of today, incessantly and tumultuously transformed by science triumphant

Let the dead be buried in the deepest bowels of the earth! Let the future''s threshold be swept clean of mummies! Make way for the young, the violent, the headstrong!

What?

#### Share this post

##### Share on other sites
Oh, one more thing:
1. To destroy the cult of the past, the obsession with all things old, academic pedantry, and formalism

2. To cast our scorn profoundly on every last form of imitation

3. To exalt every form of originality, even if foolhardy, even if extremely violent

Ok. Old things are bad. Unoriginal things are bad. New, original things are good. Now let's take a look at the very top of the page:
Based on the Manifesto of the Futurist Painters by Umberto Boccioni 1910

Edited by - Martee on February 7, 2002 11:30:01 PM

#### Share this post

##### Share on other sites
quote:

I agree with issues of bloatware (measuring it in terms of the price of hard disk space is a very vacuous argument) but I don't agree with what looks like an "Algorithms bad! Assembly good!" protest.

I did not make any such protest. I did not say algorithms are bad, and I sure as hell didn't say that ASM can or should replace them. It was an example. There's plenty more fallacious thoughts where that came from.

Now that I've cleared that up, I'm not going to put in any further arguments in favor of the movement. May not even seem worthwhile anyway, it's been in the making since the early '90s and until recently, I'd never heard of it. I'm willing to believe the same is true for you guys as well. I humbly resign my argument on this subject and apologize to those that I may have offended in the process.

As far as I am concerned, this thread is dead. Please do not post further arguments here. It's just a waste of time.

If only debugging were as easy as killing cockroaches... *sigh*

Edited by - Silent Error on February 8, 2002 1:41:27 AM

Edited by - Silent Error on February 8, 2002 3:22:06 AM

#### Share this post

##### Share on other sites
This is a really sad attempt at revolutionism. They saw what the real futurists did at the early part of the last century, and thought "Hey, we are so cool, we can pretend that this can now apply to programming like it did to art!" In art, it WAS a radical concept that seriously shook the foundations of what was considered "acceptable" art. That was its purpose. To just blantantly disregrad systems in which production is made simpler, more expedient (esp. the reuse of old code) is not only ludicrous, but missing the point. It''s almost akin to saying "We need new ways to think about numbers! Current arithmetic is unacceptable!"

Revolutions are not always for the better.

-scott

#### Share this post

##### Share on other sites
This thread is not dead yet...here are 3 yen:

1) Dogma Academics? Ummm...Anyone care to explain their views on why they think this exists? You get only what you take from college or school. If you continually ask the teachers questions, and they do not know, or will not at least try to help is a sign you choose the wrong school. My CS teachers were awesome.

2) Make small code, ex Windows, Excel.
Easy to talk. I am sure that 64K program you did was really a nice rich application with a full feature list. And I am also sure it ran along side other programs nicely, interacted with others, and had the ability to import tools made in a different application. The more open you make a system, the more code you will need to handle the cases that will arise. This tends to increase the size of a program. I personally like being able to make a custom control in VB real quickly and being able to slap in on a web page or an Access application. Yep, it just might be bigger than if I made the app from scratch. But my development time would be 100 times longer, not even talking about debugging. This is why re-use is good.

3) Code reuse. Man, if your company is scrapping everything, they are either not good designers, the code just stank, or your applications were just way too different from each other. I hope it is the last case.

4) Martee, great observation!

Silent Error, I think this subject does indeed merit a good thread. However, it will not ever get one. Why? Pick one:
A) People do not understand it from lack of interest.
B) People think is sucks because they do not believe in it.
C) People think its great.
D) People think it sucks because it does.

I choose D. Why? It is just too easy to preach that everything out there is fat and slow. But people tend to make this argument on the belief that they can do better and start talking about their little app or test program they wrote is an example of their excellence. The biggest problems I have come accross in this industry (from real experience) is the management and methods companies use. The people who really know something are normally not the ones making the design decisions. Red tape gallore in hopes of keeping a well documented products is typically abused and only hinders production. The list goes on.

So, in conclusion, these are my oppinions. I have these oppinions because of the experience that I have taken in during the course of my life (including college and after). Your life experiences may have been different. I am interested mostly in views from experience that would make people think this ''movement'' is not one that would occur when sitting on the pot. Is your college really FORCING you to do something? Did you research that college''s course list before you joined it? Etc...

#### Share this post

##### Share on other sites
Yes, I have seen the errors of my ways. It was stupid to think they even had a point, I see that now. But you know, you guys sure have a way of slapping a young mans vigor right into the dirt instead of showing him a better way and maybe helping him to channel that vigor where it''s needed.

To continue this thread at this point would be stupid. No one else is defending it (I''m not anymore) so it''s all one sided. So unless someone else comes along that wants to defend it, there is no point.

Just a note to whoever might think it worth defending, prepare to get smacked around for a while, even after you no longer defend it! Looking back, I''m not even sure why I did. Guess I just got caught up in idealistic dreaming and went with it. Oh well. Such is the place of the young and arrogant.

#### Share this post

##### Share on other sites
Hey, what''s all this rolling over and playing dead?
Are we all saying that we''ve found the perfect way of programming, and there''s no need to improve it?

Come on, I know the manifesto was a completely POS, but that''s no reason to say they had no point at all.

How about formal analysis of programs?

Did you know that the US DOD has done some work with rigorous design techniques that involve formal correctness analysis of each part of the program? Did you also know that it actually REDUCED development time, much to everyone''s surprise?

People might not remember what you said, or what you did, but they will always remember how you made them feel.

#### Share this post

##### Share on other sites
quote:
Original post by Taulin
This thread is not dead yet...here are 3 yen:

1) Dogma Academics? Ummm...Anyone care to explain their views on why they think this exists?

Re-read the thread and started thinking on this. I can''t really cite a good end all be all reason why I think this exists, but I can cite one small stupid example that''ll probably get a few "Well that''s a dumb example" replies.

Goto. We''re taught not to use it. It''s bad, a no-no, a programming sin. Are we ever taught why? I mean in the end your code ends up with a shit load of them when you compile anyway, so why not use them? I was taught it was to prevent spaghetti code. Okay, but I don''t see how the appropriate use of a GOTO will lead to that. I mean you can use any programming construct but so long as you don''t use it appropriately, you''ll end up with spaghetti code. So why not just teach the appropriate usage of it, times when it might be advisable to use it, and when not to use it instead of telling us not to use it at all? It''s things like this that I consider dogma. When the instructor teaches his own "religion" in programming instead of leaving it as a user exercise like it ought to be.

Agree, disagree? It doesn''t really matter though, the apt pupil will search for his own answers instead of simply taking an instructor at their word. There''s always something beyond what you''re taught, unfortunately most people only want to learn what is taught and nothing more.

#### Share this post

##### Share on other sites
goto is actually quite a good example.

In almost all cases, it''s something to be avoided, but even Stroustrup, the inventor of the language, has some examples where goto is helpful (most notably: generated code, and for breaking out of nested loops and conditionals where break and continue aren''t good enough).

People might not remember what you said, or what you did, but they will always remember how you made them feel.

#### Share this post

##### Share on other sites
quote:
Original post by MadKeithV
Hey, what''s all this rolling over and playing dead?
Are we all saying that we''ve found the perfect way of programming, and there''s no need to improve it?

Come on, I know the manifesto was a completely POS, but that''s no reason to say they had no point at all.

I did take some things away from the reading of the manifesto, but I''ve given up defending it as a whole as I was. I thought it was great, wonderful stuff when I first read it. But on consecutive rereads, I found it weaker every time. I''m rolling over and playing dead so to speak because I realize now that I was defending a lost cause. Overly romanticized dribble on how software should be done. And while I did find gleaming gems here and there in the riverbed, I''d realized the river was bone dry.

#### Share this post

##### Share on other sites
Fair enough I''m glad that you critically reviewed the manifesto, it''s the first step towards being a top-rank programmer. NEVER assume!

People might not remember what you said, or what you did, but they will always remember how you made them feel.

#### Share this post

##### Share on other sites
Yeah, I read over the whole thing somewhere around 10 times, and to the poor guy who was falling asleep with it, that must sound insane! (BTW, Vendayan I am deeply sorry for insulting you, some days I'm a real prick. Forgive me.)

It's an interesting idea, but lacking direction, focus, and most importantly, examples. A lot of what they saw I came to realize, I don't see. I mean sure, software has become huge, but in at least most cases, it appears justified because of the inherent complexities of what it aims to do. I have come to the conclusion that I never got out of the development loop I became accustomed to with my TRS-80 and later 486. Hardware can answer many of the problems, just not all of them and fortunately it appears that those that believe that hardware solves everything are only a small percentage of developers. Same for those that think software is the solution. We must walk the middle path, much as Budda did in his path to enlightenment. Those that walk any other path are either foolish or just clinging on to old ways that no longer apply. I was both.

Edited by - Silent Error on February 8, 2002 4:32:29 AM

#### Share this post

##### Share on other sites
Yep, the goto is a good example. I also think,in some cases,
it is OK to use. You can not deny that many people have mis-used it, creating horrible to read code (although it worked) and caused distress on many people. I am not going to try and start a goto argument though.

But I aslo agree that even if a college forces something upon its students, if that student is good, they will know what to follow or not.

SilentE, it sounds like you are taking everything the wrong way. The cool part of these forums is the ability to blurt out thoughts and ideas. Of course depending on other''s oppinions they will either agree, or start slapping the poster.

One thing I was trying to say is that while I think a revolution on the programmers end is not as badly needed as that paper talked about, I do believe other areas need something done. The final point being, it is indeed not a perfect development world, and we should never give up looking for new ways to improve our methods, no matter how silly they may sound. The Earth is not flat!

#### Share this post

##### Share on other sites
Well isn't it interesting to see how this bunch actually manages to "paste" someone onto the pavement (pun intended), not considering the fact that the odds here are rather interestingly against him and that he -as he has mentioned himself before- has no technical know-how to back any of his OPINIONS.

Hmmm.. doesn't sound much like forum stuff to me. More on this later.

Anyway, before I continue on to technical replies (not sure I want to anymore), I'll say this.

Aside the point of that "manifesto" material being right or wrong, stupid or wise, there is a damage here that has already being done that goes beyond any of this 'forum'ing, excuse the word. Now you will surely come up with a lot of bandaid excuses for having ranted at him the way you did, and then go on to say he took it all the wrong way, but whatever it is you did it's already done nonetheless. You might've grabbed some techniques from the boss that mashes his employee down to sh*t and then gives him a raise.

A note to Silent Error: Silent Error, you were not left alone on your own.

I started to watch this thread carefully and kept myself from making any comments until I gave you and the rest the chance to make some useful exposition and discussion material rather than this bash fest galore. I hadn't said say anything until now just to avoid this thread being tagged as 'elitist' minded, but at some point I lost track of it until now. Now I come back just to see its interesting outcome so far.

Let's see:

quote:
Silent Error: Yes, I have seen the errors of my ways. It was stupid to think they even had a point, I see that now.

So those "futurist" guys don't even have one single point. Good brain job, guys. More on this later.

Silent Error continues:

quote:
Silent Error: But you know, you guys sure have a way of slapping a young mans vigor right into the dirt instead of showing him a better way and maybe helping him to channel that vigor where it's needed.

Not my words. His. And that's EXACTLY the kind of stuff that's going around and that many people like 2600 (yes, 2600), shag, trzy just to name a few around here are up against. It's an EXCELLENT example of what's going on.

Then, you proceed to discourage this young fellow from his CURIOSITY and his 'vigor' to do any further research, even if what he's looking is be wrong:

quote:
Silent Error: To continue this thread at this point would be stupid. No one else is defending it (I'm not anymore) so it's all one sided. So unless someone else comes along that wants to defend it, there is no point.

To the rest of you who had something to do with that, you'll find a lot of ways to justify it, I'm sure, and many yuppie arguments to go along with it, but that doesn't make it right.

I'm only sorry I couldn't come in any sooner to stand firm in Silent Error's support, not necessarily because I agree with that manifest, but because you people come down at somebody without any regard for him (or her), forcefully throwing at him (or her) a bunch of remarks and opinions and statements without much consideration for his (or her) feelings, and leaving him/her no other choice than to finally follow your beliefs without further thought. What you did is a fine example of what I say is going on, and if that's not a DOGMA, then what is?

In a way, I'm glad this happened as it makes pretty much clear what's going on and what I've been saying is going on.

Don't be troubled, Silent Error, you're not alone. And even if you were, stand firm by what you think no matter what, and just as you respect other people's opinions, make yours respected too. You don't have to program in c(++), make large and wasteful .DLL's or even use windows IF YOU DON'T WANT TO.

In his interesting note:

quote:
Silent Error: Just a note to whoever might think it worth defending, prepare to get smacked around for a while, even after you no longer defend it!

Silent Error is saying a truth probably deeper than he might even imagine. You sure have smacked him around, but that's happening not only to him, and not only by you. Anyone with any regard for detailed knowledge nowadays is likely to meet with such 'smacking around'. Silent Error, just learn to prepare to be ready against it.

quote:
Silent Error: Looking back, I'm not even sure why I did. Guess I just got caught up in idealistic dreaming and went with it. Oh well. Such is the place of the young and arrogant.

Even when you get caught in anything you consider worth defending, don't let anybody come between you and what you believe in such a way as this people have, and just as the world is doing. You are (still) entitled to follow your own choice, and that I will continue to defend no matter what.

XCHG

Edited by - XCHG on February 10, 2002 7:20:28 AM

#### Share this post

##### Share on other sites
This topic is now closed to further replies.

• ### Forum Statistics

• Total Topics
628293
• Total Posts
2981868

• 11
• 10
• 10
• 11
• 17