none
Will Computers write their own program code ?

    General discussion

  • Hello Experts,

    Just a bit curious about future technology.

    As in today's world we have got familiar with Artificial Intillegence concept, and many program IDE's features like intelli-sense, auto code completion, code-grammar checking. So on basis of this. .would it be possible for computers, to write their own program code.

    From punching cards to assembly language, from assembly language to current dominant programming languages, it is clear that code writing is becoming easier (or comfortable) day by day.

    So is that day far away, when we will just order computer/robots in conversational english(or in other languages) and they would write code for themselves and behave in similar way.

    With Regards : Ajay Check

    • Changed type Ajay Check Wednesday, March 28, 2012 8:01 PM
    Tuesday, March 27, 2012 9:52 PM

All replies

  • On 3/27/2012 5:52 PM, Ajay Check wrote:

    Just a bit curious about future technology.

    As in today's world we have got familiar with Artificial Intillegence
    concept, and many program IDE's features like intelli-sense, auto
    code completion, code-grammar checking. So on basis of this. .would
    it be possible for computers, to write their own program code.

    I, for one, am still waiting for my flying car. Meanwhile, I feel pretty comfortable about my job security.


    Igor Tandetnik

    Tuesday, March 27, 2012 10:07 PM
  • >it is clear that code writing is becoming easier
    >(or comfortable) day by day.

    Really? Do you think learning how to program in
    C++ or with the Windows SDK/API is easier than
    learning how to program with COBOL or FORTRAN
    on a mainframe was 30 years ago? Or easier than
    using GW-BASIC under DOS on an XT was 20 years
    ago?

    - Wayne
    Tuesday, March 27, 2012 10:13 PM
  • WayneAKing wrote:
    >
    >Really? Do you think learning how to program in
    >C++ or with the Windows SDK/API is easier than
    >learning how to program with COBOL or FORTRAN
    >on a mainframe was 30 years ago? Or easier than
    >using GW-BASIC under DOS on an XT was 20 years
    >ago?
     
    Absolutely, yes.  That's provably true -- there are studies that show it.
    But, you have to compare apples to apples.  That is, a given task X is
    easier to program in a modern language like C# or Python than it is in
    COBOL or FORTRAN.
     
    It just so happens that the tasks we were solving in COBOL and FORTRAN 30
    years ago, or GW-BASIC 20 years ago, were dramatically simpler than the
    tasks we are solving today.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.
    Wednesday, March 28, 2012 4:25 AM
  • The sheer bulk and scope of languages such as C++
    and the Windows SDK/API make the learning curve far
    longer than for languages such as COBOL or FORTRAN.
    Even C was and still is less complex and comprehensive
    than C++. There is far more to learn when programming
    today, and with that complexity and scope comes increased
    difficulty to achieve mastery - if only by virtue of the
    magnitude of the sheer volume of material that has to
    be learned.

    >the tasks we were solving in COBOL and FORTRAN 30 years ago,
    >or GW-BASIC 20 years ago, were dramatically simpler than the
    >tasks we are solving today.

    It's not the tasks that I'm comparing, but the relative
    scope and complexity of the languages. Granted, the added
    functionality and features of languages such as C++ can
    make programming a given task easier than with some other
    languages. But one must learn these features - that they
    exist and how to use them correctly - before the benefits
    can be realized. That's not always "easier", as witness
    the confusion and endless flood of questions from befuddled
    programmers in forums such as these about language-specific
    issues.

    I disagree with the assertion that "code writing is becoming
    easier ... day by day." It is becoming increasingly more
    complex and consequently proportionately more difficult.
    However, the available tools to assuage that difficulty
    are becoming progressively more sophisticated.

    - Wayne
    Wednesday, March 28, 2012 5:13 AM
  • Your Question is not clear what you mean by computer will write their own program . Actually had worked on a new language name as my basic in that we provide UI to develop code for us. Instead of you write code the machine will do it for you . i.e if you want to implement a class select class from menu option and it will implement a class for you then select variable and function type inside the class and once you are done run your app . As we was taking care of everything so there was no parser involved which basically increase the speed to .But in last it's a machine and it need input to do things so it can as much as you want .

    Thanks


    Rupesh Shukla


    Wednesday, March 28, 2012 1:48 PM
  • Knock on wood, Igor. :)

    -- pa


    • Edited by Pavel A Wednesday, March 28, 2012 3:13 PM
    Wednesday, March 28, 2012 3:12 PM
  • WayneAKing ,  + Tim Roberts + Pintu Shukla

    Actually I got this idea, while playing chess on computer.

    You can imagine how complex and dynamic game, chess is. But even for that a program has been written. Accepted, it is not 100 % complete. But it still does, some part of thinking / calculating. Or is it Logic . . . .induced by Humans.

    So, in similar way would not be it possible for a computer to write code for particular task, when we have all functions library, IDK's etc with us. For eg. If task related to time has to be coded, than it will look in functions library for all time related functions and will use them as per task.

    I somehow still believe write computer code is getting easier day by day. Previously, a programmer had to type all code manually but now, we just need to select right button and code would be written for you. May be current technology is not so advanced, in order to make us believe that this can be achieved but the pace at which technology is running, I have little doubt for this curiosity.

    With regards and bit curiosity : Ajay Check

    Wednesday, March 28, 2012 7:52 PM
  • On 3/28/2012 3:52 PM, Ajay Check wrote:

    @ WayneAKing<http://social.msdn.microsoft.com/profile/wayneaking/?ws=usercard-mini>  ,  + Tim Roberts<http://social.msdn.microsoft.com/profile/tim%20roberts/?ws=usercard-mini>  + Pintu Shukla<http://social.msdn.microsoft.com/profile/pintu%20shukla/?ws=usercard-mini>

    Actually I got this idea, while playing chess on computer.

    You can imagine how complex and dynamic game, chess is.

    Chess is actually a simple game, with full information. It has a finite number of positions: it is possible, in principle, to calculate the consequences of every move all the way to terminal positions. The only thing that makes chess interesting is its combinatorial complexity - the sheer number of possible positions. The break-through in chess-playing programs happened when computers became powerful enough to perform brute-force analysis N moves ahead, for sufficiently large N.

    Human players, of course, can't do brute-force analysis, and have to resort to heuristics.

    So, in similar way would not be it possible for a computer to write
    code for particular task

    I think you are looking for this:

    http://en.wikipedia.org/wiki/Automated_reasoning

    I somehow still believe write computer code is getting easier day by
    day. Previously, a programmer had to type all code manually but now,
    we just need to select right button and code would be written for
    you.

    Really? There's a finite number of buttons - are you saying that, by clicking all possible combinations of those buttons, you are going to generate all programs anyone would ever need? I wonder why my employer still wants to pay my salary - looks like I'm just wasting my time and his money.


    Igor Tandetnik

    Wednesday, March 28, 2012 8:16 PM
  • These days you don't even need to click buttons... just release your brainwaves  ;)

    -- pa


    • Edited by Pavel A Wednesday, March 28, 2012 9:13 PM
    Wednesday, March 28, 2012 9:13 PM
  • Hi, Igor Tandetnik

    Thanks for link : http://en.wikipedia.org/wiki/Automated_reasoning

    So, why not use/develop Automated Reasoning for writing a program/or algorithm in addition to just proving theorems.

    May be in future. . . .

    Hi, Reader  . . .

    I am not biased on whether this thing will happen in future or not .

    If anyone thinks this is possible or not possible. . please . .explain with points.

    Is programming get easier day by day : still thinking positively . why ?

    Once a proper algorithm has been made then who is hard coding all the code now-days , many IDK's support drag and drop feature (Dreamweaver just for eg.), click button ( Visual basic / Visual C++ just for eg.) and you can also introduce many other features using plugins.

    Programming languages are also evolving, from punch cards to 4th Generation languages. Various programming approaches have been developed after early linear programming.

    With Regards : Ajay Check


    Wednesday, March 28, 2012 9:29 PM
  • >But it still does, some part of thinking / calculating.
    >Or is it Logic . . . .

    The operative term is "Artificial Intelligence",
    which remains a largely elusive goal. (Perhaps
    due in part to the fact that even in the realm
    of human activity behavioral scientists are not
    all in agreement as to *exactly* how to define
    "intelligence" or how to measure it.)

    >Previously, a programmer had to type all code manually
    >but now, we just need to select right button and code
    >would be written for you

    It depends on whether or not one is using a Framework,
    or a 4th Generation Language. But if one is doing "real"
    programming - using a 3rd GL language for example - the
    tasks still require the application of human logic and
    a comprehensive knowledge of the tools, language(s).
    algorithms, etc. The facility to generate programs from
    a specification of logical requirements is nothing new.

    We had code generating programs driven by decision tables
    decades ago. In many cases they obviated the need for a
    programmer - the systems analyst could fill in a decision
    table, specify the actions to be taken, and let the
    software generate the code. Report generators were also
    common place - I recall the Regent language on the
    Univac 1050, and of course the ubiquitous RPG from IBM
    (later adopted by Univac/Unisys on their 9000 Series),
    etc. Numerical Control of machinery has also been
    around for decades. We also had ALGOL decades ago.

    The problem with all such "automated" programming is
    that quite often the end user wants something which
    is "outside the box". That still requires human
    intervention in the coding process, and probably
    always will.

    >Programming languages are also evolving, from punch cards
    >to 4th Generation languages.

    How are those two related in any way? The former is simply
    the medium on which program code was transcribed into
    machine-readable form. Whether the Hollerith code
    represented 1-GL, 2-GL, 3-GL, etc, program code or
    data is independent of the medium itself.

    - Wayne
    Wednesday, March 28, 2012 10:35 PM
  • >The problem with all such "automated" programming is
    >that quite often the end user wants something which
    >is "outside the box". That still requires human
    >intervention in the coding process, and probably
    >always will.

    Hmmm . . .Now I am realizing fantasy and reality part of this discussion . . . 

    Thanks for your insight : Wayne

    But, is there any research ongoing in this field, or they have been stopped, due to above mentioned hurdles.

    With regards : Ajay Check



    • Edited by Ajay Check Thursday, March 29, 2012 12:50 PM adding info
    Thursday, March 29, 2012 12:46 PM
  • Hi

    Some yeares ago, I was thinking to apply to a reputable university for a PHd course researching into AI system possibly being developped to produce what we call a 'thinking machine' remotely.  I had searched and searched many Artifical Intelligence books and journals to get me where I should be in that diredction.  After months' searching, I had given up.  The current AI is in its infancy and showed no promise to get us to that holy grail. Personally I doubt that a thinking machine is possible. In my opinion, hardwares should change, software including OSs should change, and etc.  It is just a massive job which requires revolutions in computer science, not one buut dozens of them!!

    Best regards

    Chong

    Thursday, March 29, 2012 2:44 PM
  • In my opinion, hardwares should change, software including OSs should change, and etc.  It is just a massive job which requires revolutions in computer science, not one buut dozens of them!

    Hi, chong.

    You said right, and practical.

    This kind of thing would surely require new hardware and new software . . . .and of course revolution.

    With regards : Ajay Check

    Sunday, April 01, 2012 9:02 PM