Earlier quoted context omitted.
Another amateur linguist + software dev here (loosely involved in NLP-related work and studied linguistics at university). I invite you to try to convince me that there might possibly be a natural-language-esque version of the (in)famous inverse square root function that is more comprehensible than the original. float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y…
I think you're missing the practical use cases of natural language programming, at least those in the next decade or so. "Hello Computer! I need an inverse square root function. It should take a float as a parameter and..." - Not practical "Hello Computer! I need this image to pan across the screen. It should take one second. When it gets there, I want it to stop and become clickable. When you click it..." - Very pra…
The English-Likeness Monster Stalks a New Generation of Programmers
51–60 of 78 posts
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#52I actually disagree to some extent with Raganwald here. I am both a software engineer and an amateur linguist. Let me try to go into where my disagreement is. I figure that someone, probably me, will have to set the record straight about how poorly our expectations of English grammar match the realities and utilities of this language.[1] Natural languages and computer languages are very different both in how they are…
Another amateur linguist + software dev here (loosely involved in NLP-related work and studied linguistics at university). I invite you to try to convince me that there might possibly be a natural-language-esque version of the (in)famous inverse square root function that is more comprehensible than the original. float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y…
I'm reminded of Paul Graham's remark about Prolog being more high level but not more terse, and that this had something to do with its present-day situation. Natural language is high level because it is terse and humans can supply a great deal of omitted information on their own. Teaching the computer how to supply that information is an incredibly error-prone burden. Teaching people how to use precise English seems to be worse than teaching people how to use a precise language that isn't English.
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#53I actually disagree to some extent with Raganwald here. I am both a software engineer and an amateur linguist. Let me try to go into where my disagreement is. I figure that someone, probably me, will have to set the record straight about how poorly our expectations of English grammar match the realities and utilities of this language.[1] Natural languages and computer languages are very different both in how they are…
I mean this in the nicest possible way but this is like saying a whole lot and nothing at the same time. I think if I heard this as a verbal response to the original article, I would think the speaker just wants to hear himself speak.
You haven't really stated counter point by which to justify any kind of disagreement. It's seems to be like a promissory note of "well if the language conformed to some subset dialect like legalese that could be great." I think there are very big problems for English-like programming languages that this sort of skirts over and dismisses. Just because you think people that think a phrase like "Me ain't got no dollas" is horrible grammar are just fuddy duddy "prescriptivists" doesn't really solve the problem of English-like programming languages.
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#54Earlier quoted context omitted.
Another amateur linguist + software dev here (loosely involved in NLP-related work and studied linguistics at university). I invite you to try to convince me that there might possibly be a natural-language-esque version of the (in)famous inverse square root function that is more comprehensible than the original. float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y…
My point is that one doesn't use a natural language to get the job done, one uses a computer language in the likeness of a natural language to get the job done. The similarity speeds learning process. As for an example, you just gave one. But if we wanted to make it more natural-language-like it would be a slightly different syntax: DECLARE FUNCTION q_rsqrt (float number) THAT RETURNS float AS ( .... ); Now if you th…
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#55OK, maybe writing arbitrary English as a program won't work; but, I can think of a lot of occasions where it would be useful for a computer program to be understandable by any English speaker. I'm thinking of lawyers, who want to be able to review whether a program conforms with legal requirements, or managers, who want to be able to confirm that business logic is doing what they want it to do. Zed Shaw kind of hints…
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#56For example, what should happen if the network drops out in the middle of a save? Should it save a copy locally? Where? No, not the temp directory; that will be erased if the computer is rebooted. And so on.
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#57Earlier quoted context omitted.
Another amateur linguist + software dev here (loosely involved in NLP-related work and studied linguistics at university). I invite you to try to convince me that there might possibly be a natural-language-esque version of the (in)famous inverse square root function that is more comprehensible than the original. float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y…
My point is that one doesn't use a natural language to get the job done, one uses a computer language in the likeness of a natural language to get the job done. The similarity speeds learning process. As for an example, you just gave one. But if we wanted to make it more natural-language-like it would be a slightly different syntax: DECLARE FUNCTION q_rsqrt (float number) THAT RETURNS float AS ( .... ); Now if you th…
ADD: Do you accept that programming has its basis in mathematics and logic? If so, how is making computer languages resemble human languages a more direct way to improve comprehension than learning some math? Walking up a mountain path is difficult, but not nearly so difficult as moving the mountain until it lies beneath one's feet.
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#58Earlier quoted context omitted.
DECLARE FUNCTION q_rsqrt (float number) THAT RETURNS float AS ( .... ); And no programmer will want to write in such a language because it's so verbose. I don't mind making programming languages look more like natural languages; I would offer Python as an example of a language that takes advantage of this where it makes sense. But I draw the line at having to type boilerplate; if it's absolutely necessary, at least k…
It's not that far from PL/SQL and PL/PGSQL CREATE OR REPLACE FUNCTION foo (int bar0) RETURNS int language plpgsql security definer volatile as $$ begin return $1 + 1; end; $$;
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#59I actually disagree to some extent with Raganwald here. I am both a software engineer and an amateur linguist. Let me try to go into where my disagreement is. I figure that someone, probably me, will have to set the record straight about how poorly our expectations of English grammar match the realities and utilities of this language.[1] Natural languages and computer languages are very different both in how they are…
Re: The English-Likeness Monster Stalks a New Generation of Programmers
#60Earlier quoted context omitted.
DECLARE FUNCTION q_rsqrt (float number) THAT RETURNS float AS ( .... ); And no programmer will want to write in such a language because it's so verbose. I don't mind making programming languages look more like natural languages; I would offer Python as an example of a language that takes advantage of this where it makes sense. But I draw the line at having to type boilerplate; if it's absolutely necessary, at least k…
It's not that far from PL/SQL and PL/PGSQL CREATE OR REPLACE FUNCTION foo (int bar0) RETURNS int language plpgsql security definer volatile as $$ begin return $1 + 1; end; $$;
Edit: added sample.