Slashdot Mirror


The Code Is The Design

danielread writes "In 1992 C++ Journal published an essay by Jack W. Reeves called 'What Is Software Design?' Many credit this essay as being the first published instance of assertions such as 'programming is not about building software; programming is about designing software' and 'it is cheaper and simpler to just build the design and test it than to do anything else'. developer.* Magazine has republished this groundbreaking essay, plus two previously unpublished essays, under the title Code as Design: Three Essays by Jack W. Reeves."

15 of 354 comments (clear)

  1. Oh Boy. by Anonymous Coward · · Score: 5, Funny

    Here we go.

    The UML monkeys are gonna have a fit!

    1. Re:Oh Boy. by jacquesm · · Score: 4, Funny

      in the good old days code unreadability was directly proportional to job security :)

    2. Re:Oh Boy. by Anonymous+Brave+Guy · · Score: 3, Funny

      It's not any more? Damn! I just spent all day recoding the highly readable 50 lines of C++ I wrote yesterday as a single line Perl before checking it in.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  2. Less is more by tinrobot · · Score: 1, Funny

    ...unless you're from Redmond, then more is still not enough.

    1. Re:Less is more by Anonymous Coward · · Score: 1, Funny

      If you look at some WinCE source it just looks like someone barfed into a voice recognition device.

      Dear EmbeddedJanitor,

      Your quote above on SlashDot is a clear violation of the Nondisclosure Agreement that we required you to sign when we allowed you to look at our source code for WindowsCE.

      Clearly, your accurate description of our coding technology and approach will actively assist others hoping to reverse engineer our code. Your willful disclosure of our trade secrets has materilly damaged our interests.

      We therefore demand that you cease and desist immediatly from any further disclosure of our coding methodology. I assure you that our legal department will soon be filing suit against you, the editors of SlashDot, and the Linux development community (who will clearly use this patented methodology to unfairly improve Linux) to recover substantial monetary damages.

      Have a nive day. :)

      Sir Wm. Gates

  3. What a lousy magazine by Anonymous Coward · · Score: 5, Funny

    developer.* Magazine has republished this groundbreaking essay, plus two previously unpublished essays, under the title Code as Design: Three Essays by Jack W. Reeves."

    I'm supposed to be impressed by this? Ten years to republish an article? What a rag. Why, here on Slashdot, you barely have to wait te--

    [sound of post getting modded into oblivion]

  4. What is Software Design? by GillBates0 · · Score: 5, Funny

    Probably something like this?

    X=1024; Y=768; A=3;

    J=0;K=-10;L=-7;M=1296;N=36;O=255;P=9;_=1<< 15;E;S;C;D;F(b){E="1""111886:6:??AAF"
    "FHHMMOO555 57799@@>>>BBBGGIIKK"[b]-64;C="C@=::C@@==@=:C@=:C@= :C5""31/513/5131/"
    "31/531/53"[b ]-64;S=b<22?9:0;D=2;}I(x,Y,X){Y?(X^=Y,X*X>x?(X^=Y) :0, I (x,Y/2,X
    )):(E=X); }H(x){I(x, _,0);}p;q( c,x,y,z,k,l,m,a, b){F(c
    );x-=E*M ;y-=S*M ;z-=C*M ;b=x* x/M+ y*y/M+z
    *z/M-D*D *M;a=-x *k/M -y*l/M-z *m/M; p=((b=a*a/M-
    b)>=0?(I (b*M,_ ,0),b =E, a+(a>b ?-b:b)): -1.0);}Z;W;o
    (c,x,y, z,k,l, m,a){Z=! c? -1:Z;c <44?(q(c,x ,y,z,k,
    l,m,0,0 ),(p> 0&&c!= a&& (p<W ||Z<0) )?(W=
    p,Z=c): 0,o(c+ 1, x,y,z, k,l, m,a)):0 ;}Q;T;
    U;u;v;w ;n(e,f,g, h,i,j,d,a, b,V){o(0 ,e,f,g,h,i,j,a);d>0
    &&Z>=0? (e+=h*W/M,f+=i*W/M,g+=j*W/M,F(Z),u=e-E*M,v=f-S*M,w =g-C*M,b=(-2*u-2*v+w)
    /3,H(u*u+v*v+w*w),b/=D,b*=b ,b*=200,b/=(M*M),V=Z,E!=0?(u=-u*M/E,v=-v*M/E,w=-w* M/
    E):0,E=(h*u+i*v+j*w)/M,h-=u*E/(M/2),i-=v*E/(M/ 2),j-=w*E/(M/2),n(e,f,g,h,i,j,d-1
    ,Z,0,0),Q/=2,T/ =2, U/=2,V=V<22?7: (V<30?1:(V<38?2:(V<44?4:(V==44?6:3))))
    ,Q+=V&1?b: 0,T +=V&2?b :0,U+=V &4?b:0) :(d==P?(g+=2
    ,j=g>0?g/8:g/ 20):0,j >0?(U= j *j/M,Q =255- 250*U/M,T=255
    -150*U/M,U=255 -100 *U/M):(U =j*j /M,U<M /5?(Q=255-210*U
    /M,T=255-435*U /M,U=255 -720* U/M):(U -=M/5,Q=213-110*U
    /M,T=168-113*U / M,U=111 -85*U/M) ),d!=P?(Q/=2,T/=2
    ,U/=2):0);Q=Q< 0?0: Q>O? O: Q;T=T<0? 0:T>O?O:T;U=U<0?0:
    U>O?O:U;}R;G;B ;t(x,y ,a, b){n(M*J+M *40*(A*x +a)/X/A-M*20,M*K,M
    *L-M*30*(A*y+b)/Y/A+M*15,0,M, 0,P, -1,0,0);R+=Q ;G+=T;B +=U;++a<A?t(x,y,a,
    b):(++b<A?t(x,y,0,b):0);}r(x, y){R=G=B=0;t(x,y,0,0);x<X?(printf("%c%c%c",R/A/A,G
    /A/A,B/A/A),r(x+1,y)):0;}s(y){r(0,--y?s(y),y:y); }main(){printf("P6\n%i %i\n255"
    "\n",X,Y);s(Y);}

    Courtesy IOCCC:http://www0.us.ioccc.org/2004/gavare.c

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
  5. Re:I'll Add... by agm · · Score: 5, Funny

    Hey, it was hard to write, it should be hard to read!

  6. My company. by inertia187 · · Score: 5, Funny

    Whenever I bring stuff like this up to the powers that be, their response is basically just, "Shut-up and code." Then conversations like this take place between employees:

    Dilbert: I'd quit and become an entrepreneur, but I don't know how they handle such huge risks.
    Wally: Denial, probably.
    Alice: We got bought by our arch-rival this morning. Their CEO says he plans to be as "humane" as possible.
    Dilbert: He sounds nice.
    Wally: Maybe we'll get bonuses.

    --
    A programmer is a machine for converting coffee into code.
  7. Re:The Code Is The Design by ZeroExistenZ · · Score: 4, Funny

    You haven't seen my code. Nothing designed about it.

    I assume you work for Microsoft?

    --
    I think we can keep recursing like this until someone returns 1
  8. experiment by k4_pacific · · Score: 5, Funny
    I thought I'd test to see if the code really is in the design.
    > chmod +x project_design_overview.ppt
    > ./project_design_overview.ppt
    Segmentation Fault
    Nope.
    --
    Unknown host pong.
  9. Design paralysis by QuantumG · · Score: 3, Funny

    Does any other programmers suffer from the paralysis caused by "design staff"? For every project my company starts, someone inevitably gets assigned the task of "designing it". The result is a bunch of incoherent scribbles, quasi-UML documents and vague ideas that us programmers are expected to work from. When we ask for more detail we get an insufficient answer. When we just go ahead and use our own initiative the design dude will moan that we havn't done it exactly how he wanted us to. The whole time I feel like smacking the design guy in the face and saying "why don't YOU fuckin' code it?"

    --
    How we know is more important than what we know.
  10. How High is Sufficiently High? by handy_vandal · · Score: 2, Funny

    Given sufficiently high level languages (as appropriate for the app) this would be true.

    And God said, "Let There Be Light."

    God uses a very high level language: four words, and the hard work is done.

    -kgj

    --
    -kgj
  11. Re:False Economy by simcop2387 · · Score: 2, Funny

    yea i got that working last week, then my boss made me have it look at its own source code. the thing hasn't been sane since.

  12. Re:The Falacy of self-documenting code. by Zaak · · Score: 3, Funny

    Grep is a great program. But it's REALLY broken if what you wanted was cat, or ftp.

    Slight nitpick: cat is a subset of grep. Just use a pattern that matches every line like ".*". Granted, if you said "write cat" and your programmer wrote grep, you should have a talk with him about creeping featuritis.

    Other than that I agree.

    TTFN