At 11:47 PM 5/8/99 -0700, EKR wrote:
>I believe you're failing to distinguish the intentional purpose
>of code -- describing what you want done -- from the procedural
>purpose of code -- describing what in fact is to be done. This isn't
>surprising, given that no current language gives you the ability
>to actually communicate your intentions as opposed to the
>procedure. This is a bug, not a feature!
I think 'formal verification' is the closest people come to
such nonprocedural descriptions; CS language types also like
to play with such languages.
Ok, in practice very few use formal logic to verify their code
in practice, though it can be done. (Possibly people working on small
critical code sections might prove various theorems about it.)
But a language doesn't have to be implementation-neutral to be
humanly-expressive, does it?
Going back to your original statement,
>> >code (especially C code) is littered with constructs which serve
>> >no communicative purpose but solely tell the computer what to do.
I can describe English that way too: English prose is littered
with constructs which do nothing but instruct another brain. Punctuation,
articles, etc. are not part of the 'intent'; they're just there to tell
your linguistic processor what to do.
>If your purpose in using code is to communicate with other
>humans, what you want to communicate is intention with only
>the barest amount of procedure.
What if you're communicating a procedure? Good or bad,
that's what we do.. only managers can get away with specifying
only what they want... The host asks for a dish, the chef
has to phone another chef for a recipe. Of course the recipe
will include implementation-dependent things, like the size
of bowls to use or number of times to whip the cream.
The recipe is protected speech even if the dish would be
illegal in both regions.
However, in reality programs
>are almost all procedure with the barest amount of structure
>to attempt to communicate intention to humans who need to
>work on it.
>
>> Eric I hope you're just miffed about reading some lame
>> code written by some quasi-literate who can't touchtype.
>Nope. I'm a professional programmer with a realistic attitude
>about the situation. I'm not interested in making specious
>arguments about how software is speech merely to serve a political
>purpose -- even one I happen to agree with.
I hope you didn't think I meant you were that novice.
The issue for the Bernstein opinion isn't about *software*,
its about source code. 'Software' includes executables,
which don't seem protected by the B vs. DoJ decision.
The fact that you have to choose to perform separate behaviors
(compiling, loading, linking, running) isolates source
code from otherwise-(mis)regulated executables.
A blueprint for a full-auto sear or a NC gerber file for the thing
is legal to publish; feeding that blueprint into a milling machine is likely
legal, though installing the result into your plinker may require
a license.
Similarly, you can publish blueprints for ethanol distillers,
but making a still runs into (mis)regulated areas. (Curiously,
regulated by the same folks who get excited over full-auto sears)
But the human-readable bits are protected under this decision.
This just occurred to me: while assembly-language mnemonics
could be published, you couldn't publish the binary values (e.g.,
in an _inline) for them, although they are one-to-one. The very term
"mnemonic" should tip the judges. Certain concepts, such
as showing how to optimally use an instruction set, are best
shown to others with assembly, no?
The decision recognized that stuff that's mostly alphabetics and punctuation
(vs. a block of hex codes) is OK online as it has been OK for paper.
I don't think you could synthesize the DESCrack VHDL to some FPGA
and publish the FPGA configuration file, but the VHDL can be published
freely now, until the decision toggles again :-)
>> Good code is more readable than legal prose to a non-lawyer.
>To a non-programmer? I suspect that they're equally arcane.
>Please feel free to present studies that show the contrary.
Visit me around tax time :-(
-DH