Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

How will Artificial Intelligence change the way we code?

by LanX (Bishop)
on Jun 09, 2018 at 11:55 UTC ( #1216240=perlmeditation: print w/replies, xml ) Need Help??

The title says it already.

Many analysts predict that at least half the jobs as we know them today will be obsolete in 20 years.*

Our professions - which involves "genuine creativity" - will not disappear, but most likely become different.

Let's meditate about how our job might change.

Some input:

Opinions? =)

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

*) e.g. What jobs will still be around in 20 years? (Guardian)

  • Comment on How will Artificial Intelligence change the way we code?

Replies are listed 'Best First'.
Re: How will Artificial Intelligence change the way we code?
by zentara (Archbishop) on Jun 09, 2018 at 13:26 UTC
    #!/usr/bin/perl use v5.985.1; use AI qw(HeadSet); print "Please put on your head sensors \n"; print "Please think what you want done\n"; my $program = AI->new; $program->filter('pornographic thoughts'); #print "$program\n"; $program->export('the_matrix'); END

    I'm not really a human, but I play one on earth. ..... an animated JAPH

        LanX:

        In a thread like this, I think I'll not click on the link. I don't wanna get DickRolled...

        ...roboticus

        When your only tool is a hammer, all problems look like your thumb.

Re: How will Artificial Intelligence change the way we code?
by BrowserUk (Pope) on Jun 09, 2018 at 19:35 UTC

    Depends on your interpretation of "AI". The current interpretation -- at least as applied by the popular press and laymen -- are really just deep learning with a bit of inferencing.

    That is, you train the algorithms by giving them a crap load of examples with appropriate interpretations -- eg. picture of things and their names -- and the algorithms compare and contrast recognisable features and extract subsets of features that uniquely identify each of the trained subjects. Thereafter, give them a different picture of one of the training subjects and they will identify it as whichever of their training subjects it most resembles in terms of the number and similarity of features it manages to extract.

    The inferencing is limited to essentially making assumptions. So for example, if the training pictures included both eyes (full face), and the new picture does not (profile), then the subset of features extracted from the new sample will not include the distance between the eyes which is in the training subsets. However, the length of the nose will be present, and it is possible to draw a reasonably accurate correlation between nose length and the between eyes distance, so the algorithm can infer some of the missing features and then assign identity based on the probability of a match, based on the correspondence of subsets, including the inferred unknowns.

    Thus the algorithm may match an unknown subject against a sibling, mother/daughter, father son or similar relationship. However, they may equally match to a completely unrelated doppleganger.

    My point here is that most of the algorithms currently being labeled as AI, do not have any real intelligence; just big memories and the ability to extrapolate from knowns to unknowns, but that extrapolation is just statistical without any intelligence. Train exclusively with ICn subjects and then query against it with IC~n subjects, and the algorithms will still offer matches where the human eye/brain/logic would immediately preclude them.


    Apply these kind of algorithms to code generation, and its not hard to envisage training an algorithm with a bunch of data entry screens or shopping cart web pages -- with descriptions drawn from a very carefully worded (and human chosen and written) vocabulary -- and then having that algorithm accept new descriptions written by humans using that same vocabulary, and having it generate code that would approximate a solution.

    Where (most if not all) AI still comes up short, is in the ability to innovate; to intuit a new solution to a problem.

    It is easy to program a computer to take a brute force approach to testing possible solutions, and that can be greatly sped up by using randomisation of parameters and statistical instruments to move you towards a known goal; but there is no mechanism yet known that will find a solution to a problem that a human being hasn't solved first. And many, if not most programs, consist of not one problem, but a collection of problems each of which must be solved, in order to produce a final result.

    In short, I foresee it being a long time before software starts writing original software.


    That said, there are many, many ways in which software automation could be used to speed up, the development and testing of software, if only we weren't:

    • all so precious about our tools. Editor's etc.

      We are still like 18th century watchmaker's and cabinet maker's in the way we eulogise and covet our tools, working environments and methods.

    • apt to fall for the 'latest, greatest'; whether that be languages, libraries, APIs, or methodologies.

      Quite why so many of us think that a different syntax, manifesto, or stand-up meetings, will be the magic bullet that will transform the development process, is quite beyond me.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
    In the absence of evidence, opinion is indistinguishable from prejudice. Suck that fhit
      > Depends on your interpretation of "AI".

      My interpretation of AI is pretty broad, anything that enhances the capacity of a human brain by outsourcing "thoughts".

      So yes a calculator is already a kind of AI.(I remember barking dogs being labeled intelligent for supposedly calculating additions)

      Anyway in this thread I'm thinking about independently learning algorithms, not expecting any sci-fi consciousness soon.

      > Where (most if not all) AI still comes up short, is in the ability to innovate; to intuit a new solution to a problem.

      IIRC did AlphaGo train with itself and came up with new strategies, which where not understood by humans anymore.

      > In short, I foresee it being a long time before software starts writing original software.

      Not my aim, I'm expecting improved assistance and higher productivity.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery

        IIRC did AlphaGo train with itself and came up with new strategies, which where not understood by humans anymore.

        True, but it did so using a combination of brute force and genetic algorithms (written by humans) and a fitness function(*)(written by humans).

        I haven't any knowledge of the code beyond brief potted descriptions, but I suspect there are probably several fitness functions used to assess possible moves at different stages of the game.

        When someone comes up with a program that can watch a game or games being played (by humans or programs) and can first divine the rules and then devise a program like AlphaGo, then we'll have something approaching AI.

        When a 'general purpose' AI program gets bored of analysing genomes, nuclear reactions and black holes and spontaneously decides to invent a game to combat its boredom; that'll be true AI ;)


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
        In the absence of evidence, opinion is indistinguishable from prejudice. Suck that fhit
Re: How will Artificial Intelligence change the way we code?
by shmem (Chancellor) on Jun 09, 2018 at 17:10 UTC
    Opinions? =)

    Ah, no. That's not how it works. You first. :-P

    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
      For instance I think IDEs will gradually become cleverer, doing searches in the background while you type and offering DWIM solutions to pick.

      Or the revision history of GIT for other projects will be scanned for training the AI to assist finding errors.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery

        This post will be going from fun to unfun.

        The whole mess of all projects will be laid out on your screen as a landscape like google maps; you can zoom in and out in layers like, say, ERM and ORM and whatnot, and attack vectors will show up as missile trajectories in real time, which you could mitigate applying some python brushing as in photoshop, or fortify the targets with more test harnesses. Black spots in the map will mean "Here Be Dragons" and will inevitably point to the perl source code, and if you zoom in, you'll be invited to play tetris, piling rhinos.

        I'm sure there's already effort being put into this, because I know from experience that whenever I have a crazy idea, somebody else already had it and probably had it already worked out. A genuinely own idea is as seldom as a coin of gold in the gutter (G.C.Lichtenberg).

        That was the fun part.

        Less fun is the fact that we are mostly involved in automation of whatever kind, mostly of processes which already exist in real life, bundling and optimizing them, and speeding them up, thus shoving more money up the ass of those which already have enough. What we do is their rent. Who is them? They are of the kind of Bezos, Thiel, Zuckerberg, clever dudes which pay us for the work done implementing the automation in the first place, but gather all the revenue produced after the fact. It is theirs, not yours, you're not entitled for a rent, unless extorting your part via patent filed or copyright or intelectual property or blather.

        AI is about statistics and steering of algorithms given some parameters, but AI is a misnomer. Scott, beam me up, no intelligence here.

        Diversion: shortly after I dug into computation, I realized its enormous irruptive potential, and have been starry-eyed out of hope that this revolution would necessarily re-define our social fabric, much in the way a marxist sees capitalism as transitional towards socialism. This seems not to be the case, at least not yet.

        We are automating ourselves away and outsourcing human skills. Multiplication tables with two digit factors anyone? Quick, what's 16 * 18 ? Grab your calculator. Communication over long distances? The Aborigines of Australia do that all the time via a very skilled sort of empathy; we have our smartphones. What to buy, what to eat next? Give an algorithm your preferences and a sufficiently large set of your biological data, and it will tell you what is best for you, according to season and market prices, and also what to buy where from, if you don't have it on stock. And so on. Alexa, next wife please.

        Decision making via statistical averages will lock us into the boring average of mediocrity.

        IT is the cult of our time, having Big Data in its temple and AI in its tabernacle. The High Priests of that cult are those who deem the singularity of a friendly artificial superintelligence based on CEV (coherent extrapolated volition) as possible, capable of simulating anyone, and are working to bring it into existence. Of course, this cult has its devil looming - Roko's basilisk - which of course only exists within their way of thinking.

        So, how will AI change the way I code? Well, it will change with the tools, that's all - but what I code could shift strongly into coding myself out of (or blurring myself in) algorithms and helping others to do so, because that's coding for a living and not coding for money. This might require a bit of criminal energy which I don't have. But I know that criminal energy is close to ideals, so I know where to draw from, and might begin attempting to turn gold into shit.

        Sad end: currently, after nearly 30 years of coding, I am utterly bored with and dismayed over the IT world I too (with minuscule contributions) helped to create.

        perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
Re: How will Artificial Intelligence change the way we code?
by taint (Chaplain) on Jun 13, 2018 at 19:40 UTC
    Honestly; I see AI as little more than pattern matching -- either now, or likely in the future.

    Boring answer. Not nearly as clever, nor witty as so many others here.

    Sorry.

    But excellent Meditation, none-the-less.

    Thanks!

    OH, and props to shmem, for sharing his insight. It's refreshing to discover I'm not alone in my thoughts. Maybe there is hope. :-)

    Evil is good, for without it, Good would have no value
    °λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH

Re: How will Artificial Intelligence change the way we code?
by sundialsvc4 (Abbot) on Jun 15, 2018 at 00:54 UTC

    In my opinion, there is nothing at all to fear, because (IMHO) the actual description of the software developer’s task exists in the human world, and will never encompass nor be able to provide the set of “bright-line rule” parameters that computational algorithms demand.

    Any “AI algorithm” that would seek to take our place would immediately be confronted with the same set of uncertainties and ambiguities that we humans face every day ... and be tasked to cope with it using “vastly inferior hardware” to our “still barely-understood wetware.”   It could never successfully reduce the problem into a context that it would be able to more-efficiently understand, because, if the actual problem could actually be so reduced, we would have done it long ago (and we would not today be wishing for an algorithmic savior).

    “The problem is not ‘the computer.’”   (We possess still-barely-understood “wetware” that dwarfs the computational ability of anything that we have yet been able to create.)   The problem is the ever-changing context in which the tasks that we wish to computerize necessarily exist.   If it really were that easy, we would have already done it (and be teaching it today to schlebs who could only expect to ever earn minimum wages).

    More or less, our jobs remain exactly as they always have been:   to find a way to use relays ... vacuum tubes ... transistors ... over-glorified pieces of sand ... to accomplish useful tasks in the h-u-m-a-n world with perfect accuracy and astounding speed.

    Of course, to the extent that AI advances can assist(!) in these things ... “hey, that’s what digital computers are for!”   (Is it ready yet??)

      In my opinion, there is nothing at all to fear, because (IMHO) the actual description of the software developerís task exists in the human world,

      I like this. It means jobs are going to remain forever and not absorbed by AI. Even if you have plenty of things automated in your life (ex. Dishwasher, Dryer, Coffee Machine, Alexa, IFTTT) the next generation of work is always there.

      The work will be generated because we will touch the surfaces where once there was no possibility to even think about development. For example Virutal/Augmented Reality are new generation TV technology. Everyday household moving robots are new generation toolsets etc. These may do many things that is still not imagined.

      In pre-Internet era, someone had told me that all the software have been invented and world won't need many software engineers, akin to what was told earlier that world won't need personal computers and 5 big computers may be enough.

      Technology will never be enough for us.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://1216240]
Front-paged by stevieb
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (5)
As of 2018-07-20 01:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?















    Results (422 votes). Check out past polls.

    Notices?