Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

  (email not shown publicly)

Blog Information [] Profile for chr0matic []

Journal of chromatic (983)

Friday November 09, 2007
09:12 PM

A Specification Language for Software

[ #34870 ]

I see a future where we tell the computer, a kind of super-compiler, what we want to achieve. The input is our specification, and the output is a complete and tested system. All we have to do is specify, verify and then push the deploy button.

Hans-Eric Grönlund, The Extinction of Programmers

Any sufficiently detailed specification language is indistinguishable from source code.


The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • When someone says ``I want a programming language in which I need only say what I wish done,'' give him a lollipop. -- Alan Perlis
    • That's funny. I had forgotten that "It should be possible to translate specifications into defect-free programs automatically" was a full-sentence false cognate with "I like candy". Another fun fact is that "Programming is like construction or (manufacturing)" is a full-sentence false cognate with "I know very little about building software and construction (or manufacturing)."

  • I see the same sort of future, but without the "extinction of software engineers". Engineering is a design process, and design is something that most humans can't get right anyway. (For the case in point, see "traffic engineering" (at least in the US), "almost any random kitchen appliance", or "the i-phone." Also see the past several years of interface/interaction design theory -- which have yet to establish any sort of closed formula for addressing design issues in a generic or product-agnostic way.)

  • The boss of my boss once changed from a CS professor to a hardware designer, and the cranky pronouncements of the kind "why can't we just spec the software and press a button and the software automagically comes out from the other end" soon started.
    • I remember translating a program from source code into machine code by hand once, in the '80s, just to see if I could. That magic button is a compiler.

      • I think he was more thinking along the lines of "insert a formal spec, out comes an application" (and out of the door go the now unnecessary programmers).