Coffeehouse Post

Single Post Permalink

View Thread: Self writing software
  • User profile image

    longnightmoon said:

    I worked with something like that in the dark ages, when it was all said and done it just went ahead and compiled itself and ran on the fly.

    I think what you’re looking for would turn out to be something that can make it easy to find the free source that’s already available that the programmer is looking for, and perhaps convert it to the desired language and os.

    I would say CASE tools might be one example that might fit in, or pretty close, for practical use. In fact, I wouldn't be too surprised if the OMG people that wrote UML specs are actually targetting on UML that can produce real applications rather than just codes. 'UML compiler'... how does that sounds?

    In order for software to produce codes by itself, the software must understand what the instruction means exactly. That is by far the most important thing and the most problematic thing. English, for example, have lots and lots of ambiguities. I guess, advancement in natural language processing and machine learning abillities would be needed before we can see any software that wrote codes given a specification. That's from the usage side.

    From the programming world side, I guess UML, XML, OSLO, etc are efforts to get machines be more humane. UML talks by diagrams which (if modeled correctly) may produce codes, XML brings structure and information to data that they are describing (which, if you ever use VS or other tools) can be converted to codes representing entities,... OSLO... is fun. OSLO in my perspective is an effort for reducing ambiguities by context limitations. So, even though some sentences or words have ambigue meanings in a global context, in a particular context this have an exact meanings. Those contexes are named DSL (Domain Specific Languages).

    Speaking of DSL and making machines more humane, I guess all programming languages have that goal in mind, right? Leveraging machine power by making languages that are easy to understand (to machines) and maintain. So, like Charles said above, we are writing software that produce software. But probably what Bass  wants is something like in Star Trek; "Computer, write a program that can beat Mr. Data..."

    Edit: sorry wrong name, it:s not longnightmoon, but Bass