Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Metafor: Translating Natural Language to Code 475

vivin writes "Computer programming is second nature to most of the Slashdot crowd. However, this is not true for the vast majority of people. Formal programming languages are not as expressive or flexible as natural languages. This becomes more evident when we try to translate user requirements into actual code. Researchers at MIT have come up with a program that bridges this gap. It's not so much a tool that turns English into code, as it is a program that translates requirements (in English) to code. When Metafor analyzes English, nouns phrases become objects, verbs become functions, and adjectives become object attributes (or properties). In addition to helping programmers visualize their program better, I think it also promotes writing concise (and therefore) requirements and descriptions. Metafor doesn't handle run-on sentences (or bad English) that well." Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.
This discussion has been archived. No new comments can be posted.

Metafor: Translating Natural Language to Code

Comments Filter:
  • Usefulness (Score:5, Insightful)

    by suso ( 153703 ) * on Tuesday March 29, 2005 @11:52AM (#12076982) Journal
    Well, I doubt something like this would be used to write the next version of Gimp, but I can see its use in helping people to convey what they want a computer to do. Few people need to write programs and I don't know whether I'd want people who don't
    understand computers to actually write them. But it would help when someone wants to make something like a 3D scene in Blender. It reminds me a lot of that episode of STTNG (Schizims) where Riker, Troy and Worf are telling the computer to replicate an alien room that they were in.
    • Wow, that episode has just finished on Sky One /geek
    • I think this would be helpfull for scripts quite frankly. If not that, just basic programs.
    • It is easy to get trapped into thinking that we always used natural languages until we got to programming and therefore languages are the hurdle.

      The use of special purpose languages is nothing new. They're used in mathematics, chemistry, music etc. ... pretty much anywhere where it is easier to use a special purpose language to express concepts than with a natural language. Sure there is a learning curve, but that is often the least of the hurdles in doing a reasonable job.

      Take for example music: For the mu

  • Dupe (Score:3, Informative)

    by tcopeland ( 32225 ) * <tom@th[ ]sleecopeland.com ['oma' in gap]> on Tuesday March 29, 2005 @11:53AM (#12076992) Homepage
    Of this [slashdot.org], I think...
    • Re:Dupe (Score:5, Funny)

      by Anonymous Coward on Tuesday March 29, 2005 @11:55AM (#12077036)
      I'm about to write a program that stops dupes:

      "Don't allow dupes."

      There, now I have to decide whether it will be FOSS.
    • Re:Dupe (Score:5, Insightful)

      by FortKnox ( 169099 ) on Tuesday March 29, 2005 @12:32PM (#12077510) Homepage Journal
      No fears, he's issued an update:

      Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.

      Nice. Someone should go to customer service 101 and grow up a little. Yelling at the people who (indirectly) line your wallet. Not a good idea....
      • Re:Dupe (Score:5, Insightful)

        by FortKnox ( 169099 ) on Tuesday March 29, 2005 @12:37PM (#12077587) Homepage Journal
        To actually add content to my content:

        How terribly difficult would it be to add a url checker. I can understand a dupe when its an article written differently by two publications, but a simple URL checker can state "this url was used in store XYZ [with link]," so the editor can determine if its a dupe story or just a url used in two different stories...
        • Re:Dupe (Score:3, Insightful)

          Or a spell checker, or a secondary read-only review queue, or any number of other things....
        • by SPYvSPY ( 166790 ) on Tuesday March 29, 2005 @01:11PM (#12078104) Homepage
          It really bugs me that /. editors treat dupes as a sort of charming fact of life, as if dupes are among those imperfections that make life worth living. Dupes suck, if for no other reason, because they fork discussion, confuse the archive and make searches less precise.

          It's especially annoying when the dupe article proclaims that the /. crowd is able to code by second nature. How f-ing hard is it to have a dupe checker (even a simple on like what FortKnox is proposing). Why is it that a website that proclaims itself the bastion of all things FOSS has languished in mediocrity while thousands of competent coders are practically begging to write this feature into the site's backend? Of course, nothing will come of this, except more shoulder-shrugging and gee whiz, golly nonsense. I'm not trying to flame, but this sort of unprofessional, "friendly fuckup" attitude is what holds the public image of FOSS back.
          • by Elwood P Dowd ( 16933 ) <judgmentalist@gmail.com> on Tuesday March 29, 2005 @01:15PM (#12078146) Journal
            Why is it that a website that proclaims itself the bastion of all things FOSS has languished in mediocrity while thousands of competent coders are practically begging to write this feature into the site's backend?

            We don't have to beg. We can just submit a patch to slashcode.
            • by dmd ( 404 ) <[dmd] [at] [3e.org]> on Tuesday March 29, 2005 @01:25PM (#12078293) Homepage
              The point is that such patches have been submitted, by dozens of people - people who are very talented, and who have a great deal of experience running and modifying Slash.

              Slashdot is not interested in applying these patches, because dupes mean more angry posts, and angry posts mean more pageloads, and more pageloads mean more ads served.
              • by A beautiful mind ( 821714 ) on Tuesday March 29, 2005 @03:02PM (#12080101)
                Dear CmdrTaco!

                Please state your requirements about a dupe checker, between realistic boundaries.
                Things like - integration into the accepting stories interface seamlessly, spamassassin style dupe detector with a point based system, or even coding bayesian algorithms - are possible.

                I'm willing to (help to) code it. With two conditions. You'll apply it and use it. If this happens i'm predicting a serious decline in dupe stories and posts.

                If you fail to do this or you're not interested in this offer, then STOP being pissed, put up with the hate mail, the accusations about ad revenues, and use the bloody search function.

                Just to make sure this offer reaches you i'm going to mail it to you, and continue to do so - in regular periods - until i get some kind of reply, either a yay or a nay.

                Yours, a beautiful mind
        • Re:Dupe (Score:5, Insightful)

          by snorklewacker ( 836663 ) on Tuesday March 29, 2005 @01:46PM (#12078590)
          > How terribly difficult would it be to add a url checker

          These are paid editors who can't be bothered to read their own website. The problem is not technological, and doesn't require a technological fix.
        • Lazy admins (Score:4, Insightful)

          by DogDude ( 805747 ) on Tuesday March 29, 2005 @01:48PM (#12078610)
          No, an url checker isn't needed. They need to actually do their fucking jobs. Hell, I just read the site, and I know when a story is a dupe, as do hundreds of other readers. For a few of these guys, their ONLY JOB is to maintain the site. If they can't recognize when a story is a duplicate, they aren't doing their job. It shouldn't require an URL checker. These guys should get off their lazy asses. The problem is that some of us just keep coming back, giving them more pageviews, etc. If people got really sick of it and just came to /. less, maybe management would wake up and can these guys posting the stories. Sure, I know they started it, but that doesn't mean they're inherently more competent than anybody else.
      • Re:Dupe (Score:5, Funny)

        by phasm42 ( 588479 ) on Tuesday March 29, 2005 @12:51PM (#12077796)
        I like how he duped the word "for" in his comment: Update for for the dupe.
      • Re:Dupe (Score:4, Funny)

        by poot_rootbeer ( 188613 ) on Tuesday March 29, 2005 @12:59PM (#12077902)
        Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.

        I fed this text into Metafor and it core dumped on me!
      • Re:Dupe (Score:5, Insightful)

        by 1u3hr ( 530656 ) on Tuesday March 29, 2005 @12:59PM (#12077917)
        Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.

        Is he drunk or something (For for??) At least we know he reads the hate mail, so send more. Ignoring stupid avoidable fuckups certainly doesn't work.
        They can either
        1) implement a simple function that compares the main words in the article with recent ones, particularly URLs (ignoring some obvious generic ones, like the home page of newspapers). (For extra credit, spellcheck the fucking thing, and check that any URLS exist.)

        2)Read the mail that comes in from subscribers telling them they've duped (apparetly that's mostly ignored; when I send it in it often bounces, some editora apparently have invalid forwardnig addresses)

        3)Or use their own brains and just type one relevant word into the Slashdot search box:
        Search 'metafor' [slashdot.org]
        Metafor: Translating Natural Language to Code
        On March 30th, 2005 with 170 comments
        vivin writes "Computer programming is second nature to most of the Slashdot crowd. However, this is not true for the vast majority of people. Formal...

        English To Code Converter
        On March 26th, 2005 with 52 comments
        prostoalex writes "Metafor from MIT is a code visualization utility, capable of converting high-level descriptions into class and function (or method...
  • Very Cute (Score:5, Insightful)

    by AKAImBatman ( 238306 ) * <`akaimbatman' `at' `gmail.com'> on Tuesday March 29, 2005 @11:54AM (#12077009) Homepage Journal
    While this is a cute concept, I don't think you'll be seeing computer programmers disappearing any time soon. The natural language bent was the original point of high level languages. Early languages like COBOL, SNOBOL, and BASIC were all designed to abstract programming to a level of natural language. Save for BASIC's success as a beginner's language, none of them accomplished their goal. In fact, the "natural language" design of COBOL only served to complicate the language and cause a variety of errors due to missing periods, improper spacing, and other common typing mistakes.

    It wasn't long before it was reul languages actually broke away from English and relied more heavily on easily-parsable, special characters to define structure. We can see the results of this in today's C/C++, Java, LISP, PERL (bleh), and Python languages. This new interface does nothing but try to perform some of the structural thinking done by the programmer. (Although I have my doubts as to its current real world ability.)

    So the question that then comes to bear is, "Who would use this natural language interface?" Sadly, the answer is most likely "programmers". But why would a programmer use this interface if he has to be trained in computer logic in the first place? It would seem like an unnecessary level of abstraction that would only serve to hinder a programmer's natural abilities.

    Of course, there is the documentation issue. Supposedly this interface will be useful for producing requirements in addition to code. But who produces the requirements? Not the programmer. That's usually the job of the business analyst, someone who may not even have experience with coding logic. And for code documentation, nothing quite beats the JavaDoc style documentation that has become popular in the last few years.

    I think that research like this is interesting, but I doubt it will have many uses until AI and voice recognition improves to a level similar to that seen in Star Trek. Only about 300 more years and counting. ;-)
    • Hmm... something seems to have broken in the pasting. Here's a patch to the second paragraph from the original document:

      It wasn't long before it was realized that programming was a structured discipline, similar in form to mathematics, and must be treated as such. Many of the more successful languages actually broke away from English and relied more heavily on easily-parsable, special characters to define structure.
    • Re:Very Cute (Score:4, Insightful)

      by krgallagher ( 743575 ) on Tuesday March 29, 2005 @11:59AM (#12077091) Homepage
      "But who produces the requirements? Not the programmer. That's usually the job of the business analyst, someone who may not even have experience with coding logic.

      Yeah that is what I was thinking. For this to be usefull, the requirements have to written in a format that mirrors programming logic. If you are not a progrmmer, you probably do not think in that kind of logic. That is why most the the requirements documents I see are incomplete and open to interpretation.

      • What I've noticed a lot of times is that Engineers can't write documentation and requirements worth crap. Ok, so I shouldn't make such a blanket statement. Some engineers can write well, but most can't. I think this will do two things:

        a) Help computer engineers describe their program's requirements better so others can follow them better.
        b) Help beginning computer programmers make the connection between a natural language description of their program and the program itself. For example, this can help th
    • Re:Very Cute (Score:3, Interesting)

      by bratboy ( 649043 )
      I think that most "real" programmers will have approximately the same reaction to this, which will be somewhere between a shrug and a snicker. To be an effective programmer you need to be able to accept certain formalisms, and for people who "get it" (i.e., are vulnerable to the snow crash virus) high level programming languages are quite readable. (have you ever tried explaining to a neophyte why you would use do-while vs. while{} vs. for(;;)? or variables?)

      In working with designers (especially inexperi

    • by simpl3x ( 238301 )
      Is this perhaps an extreme example of building code from language, which is perhaps notoriously sloppy? I just gave my son an old copy of Code Complete so that he could learn to go from what he wants to do to code, all while developing documented code. He is in the introductory C++ programming class. He has a professor asking him to draw flow charts.
    • Re:Very Cute (Score:4, Insightful)

      by ArsonSmith ( 13997 ) on Tuesday March 29, 2005 @01:07PM (#12078019) Journal
      I want to do this backwards. Can I feed it source code and have it output natural language?

  • by JamesP ( 688957 ) on Tuesday March 29, 2005 @11:55AM (#12077027)
    Verbs translated to functions?? Nouns to variables??

    int jerk_at_counter, hottie_in_accountancy, dork_at_it;

    kill(boss);
    send(intern,hell);

    Yeah, that will work...

  • Great! (Score:5, Funny)

    by Eusebo ( 24544 ) * on Tuesday March 29, 2005 @11:55AM (#12077028)
    Now all we need is a tool that will take a user's brain and turn it into solid requirements.
  • by hugesmile ( 587771 ) on Tuesday March 29, 2005 @11:55AM (#12077035)
    Metafor doesn't handle run-on sentences (or bad English) that well."

    Forget it being a tool for this crowd then!

    • of little value here!

      The natural language interface is of little value here!

      Forget it being a tool for this crowd then!

      You may then forget about the natural language interface being a useful tool for the Slashdot.org crowd!

      There, that should debug it. ;-)
  • by HaeMaker ( 221642 ) on Tuesday March 29, 2005 @11:55AM (#12077039) Homepage
    "Make it possible for programmers to write programs in English, and you will find that programmers can not write in English."

    http://www.murphys-laws.com/murphy/murphy-comput er .html
    • Ah, you mean something like this:

      // "Hello World" by Stephen McGreal.
      // Note that the views expressed in this source code do not necessarily coincide with those of the author :o)

      Gr34t l33tN3$$?
      M3h...
      iT 41n't s0 7rIckY.

      l33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
      1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p
      w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

      Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!
      g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!!
      I'M teh fr4GM4

  • Bad English (Score:2, Insightful)

    by bmac83 ( 869058 )
    How well would Metafor handle English like "nouns phrases become objects"?
  • by Proc6 ( 518858 ) on Tuesday March 29, 2005 @11:57AM (#12077070)
    Yeah, I know my neighbor with an IQ of 7 would rather be writing code that parses XML work orders and turns them into statistical graphs than watching NASCAR. It's just that complicated Java syntax kicks his ass so he's kicking back with a 6 pack of Black Label waiting for this technology to come out.
  • Oh, great... (Score:2, Insightful)

    by tomhudson ( 43916 )
    Just what the world needs, a way for more non-coders to produce ssss-hhhhh-iiiii-[tt]tt-yyyy software.

    I'm sure we've all experimented with header files that define an english-like syntax for our code. We've dumped it for a reason - it's not as efficient.

    Hiding what's going on "under the hood" is never a good thing. Good code, like good food, depends on good ingredients, and the knowledge of how to combine them.

    Crap food, on the other hand, can be produced by anyone with a stove and delusions of cooking a

    • Re:Oh, great... (Score:3, Insightful)

      by Otter ( 3800 )
      Yes, that's excellent reasoning. Anyone who isn't a trained chef should be denied access to their stove, and it should be made impossible for anyone untrained (or out of practice) in languages that meet your standard of snobbishness to solve their problems without having to pay you.
      • Anyone who had never even watched someone cook something for a few hours and just knows the names of the meals that taste best but doesn't even know the names of all ingredients or how they look raw should be denied access to a stove, yes.
      • Re:Oh, great... (Score:3, Insightful)

        by tomhudson ( 43916 )

        nd it should be made impossible for anyone untrained (or out of practice) in languages that meet your standard of snobbishness

        Definitely, at least when it comes to business apps.

        Would you trust a surgeon who's 15 years out-of-date to operate on you?

        So, would you trust someone to write code who is even a couple of years out of date? Things change rapidly in this field, dude. Us old far[tt]s remember when it was a kinder, gentler world ... but it's not like that any more.

        Just like you wouldn't give a you

        • and it should be made impossible for anyone untrained (or out of practice) in languages that meet your standard of snobbishness

          Definitely, at least when it comes to business apps.

          But not all code is written for business apps. What about scientists who understand logic fairly well, but who have difficulty in C or C++? (There are a surprising number of such people.)

          Would you trust a surgeon who's 15 years out-of-date to operate on you?

          Would you prevent a mother with no medical training to put a ban

  • Doomed to failure (Score:5, Insightful)

    by rde ( 17364 ) * on Tuesday March 29, 2005 @11:58AM (#12077079)
    I don't mean to sound pessimistic, but remember who comes up with functional specs; managers. As a consequence, this poor program may well come up with a framework that matches exactly what was requested, but once it's put together, the suits will say "it doesn't do this". When it's pointed out that that wasn't in the spec, the inevitable response will be "but it was implied; it should be obvious that we'd need it to do that." This is just a core dump waiting to happen.
    • Your reasoning makes sense, but I think something like this is absolutely necessary. If it wasn't for the managers who created the guidelines and specs, there'd be no direction for the programmers to take.

      Invariably, this is the situation where those who make the specs need to be at a higher level than those who code the project. The article is right, we don't think in C++, we think in English.

      I can't wait to see what kind of new things this project brings about.
  • by avi33 ( 116048 ) on Tuesday March 29, 2005 @11:59AM (#12077088) Homepage
    Computer programming is second nature to most of the Slashdot crowd.

    Maybe back in 1998, but haughty sniping is second nature to most of the Slashdot crowd now.
  • I'm sure if something lke this will be able to succeed until we see some big advances in AI and computers that are as tollerant of ambiguity as humans are. Programming languages grew out of a neccesity to have something that was easy to remember (by virtue of its similarities to english), yet still precise enough for the computer to interpret. At a certain point you still need to define a vocabulary with consistent semantics to be applied to programming concepts. Whether or not that vocabulary is very ric
  • by GreyWolf3000 ( 468618 ) on Tuesday March 29, 2005 @11:59AM (#12077093) Journal
    I think the idea has been around a long time. The whole object oriented paradigm (in addition to providing useful functionality like dynamic function binding) is designed to shape code around human thought.

    One of the things that really bothers me about Linux is the pervasiveness of languages like C that make no attempt to model higher thought and instead force the developer to constantly re-learn old unusable APIs and shove ancient hacks that are unreadable just to get drivers working. Objects in code need their a[tt]ributes to mirror real-word equivalents, otherwise reading the code is impossible because no one else can make sense of all the confusing acronyms and variable names.

    I actually think that .NET is the right step for us. Mono is really the first sensible language (Java doesn't count; it's not free) that has any mindshare for Linux, and let's face it the Linux world needs it. Until writing software for Linux can just be a simple translation of designs in our heads to GUI design and implementation, Linux will lag behind the rest of the world because of how long it takes to write software for it.

  • Sounds like a speech-to-COBOL processor.
  • It's a lot like simple English for me and that fact that Larry Wall is a linguist helps.

    Plus all the cool and naughty operators and functions like tie, bind, die, etc
  • by schestowitz ( 843559 ) on Tuesday March 29, 2005 @11:59AM (#12077102) Homepage Journal
    I wish that people spoke mathematically rather than poor and ambiguous languages that can now (supposedly) turn into (ambiguous) code. Can one really rely on translated 'code' like this. That's like sending an E-mail from speech-to-text recognition without proof-reading.
  • I doubt this will have much of an impact on programmers' work, but, the natural language parsing into a declarative structure is *really* fascinating.

    I'll bet this work will ultimately lead to effective verbal control of computers, as in the sort of Sci-Fi situation where you might say "Computer, play KidA by Radiohead, and get me the NY Times".

    Good, interesting stuff, I hope they keep working on it.
  • I think it also promotes writing concise (and therefore) requirements and descriptions.

    Indeed. "and therefore..." what?
  • Rules (Score:5, Interesting)

    by igny ( 716218 ) on Tuesday March 29, 2005 @12:01PM (#12077125) Homepage Journal
    How hard is it to change rules of treating the sentences? Can Metaphor learn Chinese, for example?
  • Doomed to fail? (Score:5, Interesting)

    by PissingInTheWind ( 573929 ) on Tuesday March 29, 2005 @12:09PM (#12077235)
    From Dijkstra's timeless "How do we tell truths that might hurt?":

    Projects promoting programming in "natural language" are intrinsically doomed to fail.

    He said that 30 years ago. People still don't listen.
  • by mlopes ( 671391 ) on Tuesday March 29, 2005 @12:09PM (#12077238) Homepage
    Shiver Me Timbers and Poke Me Other Eye Out! How would it handle this!?
  • For OOPing, silly.
  • by Timesprout ( 579035 ) on Tuesday March 29, 2005 @12:10PM (#12077247)
    waiting...
    waiting...
    waiting...

    Stupid computer doesn't do anything I tell it
  • by gowen ( 141411 ) <gwowen@gmail.com> on Tuesday March 29, 2005 @12:10PM (#12077252) Homepage Journal
    Computer programming is second nature to most of the Slashdot crowd
    Spoken like a man who's never looked at SlashCode.
  • nouns become objects, verbs become functions

    Congratulations!!!
    You've invented Smalltalk!
    Welcome to 1980!
  • by dubl-u ( 51156 ) * <2523987012 AT pota DOT to> on Tuesday March 29, 2005 @12:12PM (#12077266)
    While the logic of the researchers' interpreter tackles only about 20 percent of the problem of full natural language programming, it achieves about 80 percent of the perceived rewards.

    Ah, this old thing again.

    The hard part about programming isn't turning basic English text in to half-assed code. If it were, then Google have built their company on just-out-of-college scripters and Visual Basic.

    [Liu says] "Many subjects immediately identified the simplistic interpretation of the interpreter, and wanted the opportunity to rephrase their original wording to fix the error."

    Yes, regular English is insufficient for programming. If a tool like this becomes popular, you'll need still need a special class of people to figure out what is needed and to figure out how to phrase the desire in the precise way that makes this guy's interpreter actually do what they want.

    In other words, he hasn't invented a way to eliminate programming or programmers. He's figured out a way to make a programming language that is slightly easier to learn at first. But because it's removed from what computers actually do, much harder to use for anything serious. The hard part about programming isn't the month you spend learning Java syntax, it's the many years you spend learning to write code well.

    Their theory appears to be that this will make programming easier to learn. I wish them the best of luck in that goal, but having seen over the years a number of graphical and natural-language programming tools vanish without a trace, I'm not holding my breath.
  • It says nouns are objects, and adjectives are properties, which makes sense. Verbs are functions, so what are adverbs? Also, how are articles expressed? They're technically adjectives, but they don't work that well as a property (semantically anyway).
  • If Metafor cannot handle bad spelling or grammer, then maybe using MS Word to do it for you will help. This is ment to be a joke, and not insightful.
  • by Animats ( 122034 ) on Tuesday March 29, 2005 @12:19PM (#12077362) Homepage
    There's a paper linked from the article, but it's so short and weak that it's hard to tell if anything useful has been accomplished. In particular, it's not clear it if scales beyond the 25-line program shown. There are vague claims that it uses some database of "common sense" to help build the programs, but the paper shows no evidence of this.

    This has been tried before [c2.com], not successfully.

  • by cbelt3 ( 741637 ) <cbeltNO@SPAMyahoo.com> on Tuesday March 29, 2005 @12:20PM (#12077381) Journal
    Yes, this is not a new concept. And yes, it's been on every science fiction writer's radarscope since the concept of a calculating machine was considered.
    And it's still science fiction because:
    - Language is situational, societal, and emotional
    - Most people doing this sort of work communicate in English. So they assume English is a good place to start from. Unfortunately, it's one seriously illogical language to start from.
    There have been attempts to create 'natural language' programming languages. And in the main they HAVE been successful. Sure, they are inefficient. But so is human communication.
    Every psuedo-code compiler / interpreter that I've ever seen (since the 1970's) has simply been a programming language. Sure, maybe they're a little nicer to look at, but they will always fail the Turing test.
    Want TRUE natural language programming ?
    Develop a computer that works linguistically, not logically.
  • by El Cabri ( 13930 ) on Tuesday March 29, 2005 @12:21PM (#12077390) Journal
    Firstly, people for whom programming is too complicated should not code at all. We need less programmers building better code, not more programmers adding to the crap heap that the software legacy is as of today.

    Secondly, I think that what is needed is the other way around : automated analysis of code and production of natural language reports that designers could browse more easily than the code itself looking for bugs or designing extensions and additionnal feature. They would then intervene directly on the code itself.
    Sort of a souped up version of Knuth's literate programming, only with a much more radical transformation of the code for its vizualisation, bringing up the essential and critical aspects.

    Think of how a reasonably complicated mathematical proof, say within the formal set theory, would look like in a math paper or book meant to be read. Compare with how it would be coded in a theorem prover. Different. Yet the former can be automatically generated from the later.
  • by Toby The Economist ( 811138 ) on Tuesday March 29, 2005 @12:24PM (#12077422)
    The key to high quality software is controlling the complexity in the inter-function domain; the ordering of and the relationships between functions.

    Converting natural language to software does NOT address this problem. Natural languages are not expressive or fluent at rigiourously addressing complexity issues. Rather, formal methods address this problem; even weak formal methods such as state machines produce enourmous benefits to code quality, since they force the author to consider all possible outcomes from all function calls and at the same time, by rigiously, logically and consistently exposing the behaviour of the program, permit far easier code modification by later authors.

    --
    Toby
  • Taco has a point (Score:3, Insightful)

    by stinerman ( 812158 ) on Tuesday March 29, 2005 @12:32PM (#12077513)
    Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.

    Unless you have an '*' next to your name, you don't pay for slashdot other than the electricity to run your box. Don't give me the "but the ads are there" tripe either. I know most of you either use Adblock or ignore them anyway.

    The source is available. Start your own site.
    • by hackstraw ( 262471 ) *
      Unless you have an '*' next to your name, you don't pay for slashdot other than the electricity to run your box. Don't give me the "but the ads are there" tripe either. I know most of you either use Adblock or ignore them anyway.

      I don't see your '*', but a registered user and evan an AC adds traffic and credibility to the site. I don't know the numbers of subscribers, but I doubt /. would at all be the same if only subscribers were allowed to the site, or if it would exist at all. Also, I would assume t
  • Update (Score:5, Funny)

    by Espectr0 ( 577637 ) on Tuesday March 29, 2005 @12:34PM (#12077535) Journal
    Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.

    Ah, yes! Duping words next to each other, that is the new fad. Because duping articles is so yesterday's news
  • Poor Taco (Score:5, Insightful)

    by p3d0 ( 42270 ) on Tuesday March 29, 2005 @12:35PM (#12077545)
    Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.
    All together now: "Aaawwwwwwwww".

    I've never been one to complain about dupes. I figure I already get way more than I pay for from this site (which is zero). But if people are frustrated about dupes, maybe it's because it's an exceedingly simple problem to solve, and the Slashdot editors give every appearance of not bothering to lift a finger to solve it.

    • Re:Poor Taco (Score:3, Insightful)

      by kjamez ( 10960 )
      or rather than complain about the dupes, keep scrolling down to the next headline. I didn't catch the origional article because i do things like go out in public and bathe, so i for one am thankful i got to read it. i miss quite a few articles in fact, and it's really not the end of the world. if i should happen to notice a dupe, i calmly keep scrolling thinking in my head "that sounds familiar, not of interest to me... " really, you all should try it rather than wasting extra keystrokes to complain about
  • by Viking Coder ( 102287 ) on Tuesday March 29, 2005 @12:41PM (#12077634)
    When a Harvard natural language parser was given the phrase "Time flies like an arrow," in the 1960s it identified the following five parse trees in reponse.

    1) Time proceeds as quickly as an arrow proceeds.
    2) Measure the speed of flies in the same way that you measure the speed of an arrow.
    3) Measure the speed of flies in the same way that an arrow measures the speed of flies.
    4) Measure the speed of flies that resemble an arrow.
    5) Flies of a particular kind, i.e. time-flies, are fond of an arrow.

    I would guess the source code for those five different interpretations would be, well, different. (The fifth one is my favorite.)
  • by festers ( 106163 ) on Tuesday March 29, 2005 @12:44PM (#12077675) Journal
    Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement.

    Taco, you asshole, you've been duping stories for years. You've known about them and yet you've done nothing to fix the problem. Don't pull this sentimental BS about not "encouraging" improvement. If the fact that if Slashdot is your creation, and is your job, isn't enough "encouragement" for you to fix the problem of dupes, I don't think anything will be. From all appearances, it looks like you've given up on /. years ago.
    • by exp(pi*sqrt(163)) ( 613870 ) on Tuesday March 29, 2005 @01:07PM (#12078032) Journal
      Maybe he could just tell us what does encourage improvement. Sending fan mail every time a story that isn't a dupe is posted?
    • by Tim C ( 15259 ) on Tuesday March 29, 2005 @01:44PM (#12078555)
      Seems to me that a slashdot employee has one or more of four duties:

      1) pick stories to post
      2) sell advertising
      3) maintain the servers
      4) design and implement additions, bug fixes, etc

      Now, I'm not a subscriber, but I don't see much in the way of 4), even for features that the readership is crying out for, or that make financial sense for slashdot (such as moving to CSS for layout). I thought that /. got most of its advertising through the OSDN network, so I'd imagine that 2) is more or less minimal (and with /.'s fame, shouldn't be too hard anyway). That leaves 3) and 1). I have no idea about the time requirements of 3), but I can imagine that it might keep a couple of people busy full time.

      That seems to me to leave an awful lot of time left over for 1), picking stories to post. And yet, it seems like every day or two there is a dupe, every week or so there is a downright inaccurate (or even lying) summary or headline posted, and every month or so something that's accurately summarised, but the source is just plain made up or wrong.

      I know that the FAQ states that the editors don't check the stories for factual correctness, but Taco (et al) I ask you this: what do you do all day?
  • by Inoshiro ( 71693 ) on Tuesday March 29, 2005 @01:07PM (#12078021) Homepage
    "Update For for the dupe. Not going well. Appreciate all the hate mail. Really encourages improvement."

    At LWE in January, 2001, at a conference on Slashcode, someone asked us at Newsforge how our site had so few dupes compared to Slashdot. There were two reasons:
    1) We had a smaller audience of people to see the dupes we did accidently post.
    2) We searched our archives before posting any story. We searched by story URL, by story keyword. We also generally skimmed the site when we weren't working to be aware of what was being posted.

    Clearly, #1 is something Slashdot doesn't have working in its immediate favour, but #2 is something that shouldn't be too hard. Zonk, Timothy, Cliff, Simonker, etc, don't post dupes nearly as frequently as CmdrTaco. Hemos doesn't post often, but he also seems to be pretty dupey (understandable as he's not really associated with /. anymore, and wouldn't be familiar with what's been posted).

    The worst example is something like the PSP dupe story: Taco didn't even check out the games section, which had that story right at the top! A simple search for "PSP" and "Browser" would've shown it even if he never reads sections.

    CmdrTaco doesn't read his own site. What does this tell you about how he feels about it?

    I don't read Kuro5hin much anymore for the same reason. Complaining about dupes will just drive him further away, even though he still has to work on it by contract.

It was kinda like stuffing the wrong card in a computer, when you're stickin' those artificial stimulants in your arm. -- Dion, noted computer scientist

Working...