Is it just me or does anyone else see "trained neural network" and read "garbage in, garbage out"?
Pair programming? That's so 2017. Try out this deep-learning AI bot that autocompletes lines of source code for you
Talk about working smarter, not harder. A computer-science student has got the right idea, by building an intriguing code-completion tool that uses deep-learning software to finish lines of source. And while, yes, there are already a ton of source-code autocomplete tools available, this one, dubbed Deep TabNine, is said to be …
COMMENTS
-
-
-
Monday 22nd July 2019 10:31 GMT Anonymous Coward
It reminds me of a recent graduate who was let loose on Netbeans, which provides all kinds of helpful hints as to how to improve your code. Unfortunately the hints sometimes make code almost unreadable, and of course they don't take int account why something might have been done that way.
So he took a major piece of code and implemented every single suggestion. The result was interesting, but unless he went and did it to the entire codebase and then tested the entire lot, it would have been a documentation nightmare.
-
-
Monday 22nd July 2019 10:30 GMT JetSetJim
I can well imagine it being used on I/O sanitation, the AI 'thinking':
"nobody else cares to check if this string entry contains special characters, or overflows the length of a buffer, so why should I?", and then gets given Bobby Tables input strings.
All the same, an interesting project that is deserving of a pint/doctorate. I do hope someone does sensible unit testing on all the code it writes (although if it's just auto completing individual lines of code one would hope that there's a certain amount of user checking going on anyway - assuming a competent user, of course!).
-
Monday 22nd July 2019 10:47 GMT Rich 11
assuming a competent user, of course!
There'd certainly be a risk of following its suggestions without thinking too clearly about the implication of any particular suggestion. No doubt that response would be something a human could learn to cope with, and minimise, but that's still one more load to deal with in an already loaded brain. When I think of the times that I've been writing a document or email and only belatedly spotted that autocomplete/autocorrect has mangled a sentence for me, I can't help but think there's a downside it's going to take some time to get used to and learn to manage.
-
-
-
-
Thursday 25th July 2019 21:43 GMT Cederic
I fear you are misinformed (and want a cookie for resisting 'are talking shite').
"Shite, now a jocular or slightly euphemistic and chiefly British variant of the noun, formerly a dialectal variant, reflects the vowel in the Old English verb (compare German scheissen)"
-- https://www.etymonline.com/word/shit
-
-
-
-
-
Monday 22nd July 2019 11:03 GMT SVV
This is certainly the problem with the "training" approach. If he trained it looking at Stack Overflow then the tool will be useless. It would need absolutely top quality code to train it for it to be beneficial, otherwise the algorithms will inevitably skew towards the lowest common denominator of code quality. It also claims to support a suspiciosly huge and wildly different list of programming languages, so that's another reason to be very sceptical.
Whilst he's undoubtedly a very bright chap, does he understand the true nature of "good" coding at his age? For me, thinking time and good design are far more important than typing time when it comes to producing good code.
-
-
-
-
Monday 22nd July 2019 17:10 GMT jake
Re: An interesting proposition
I have discovered that explaining it in detail to my Velcro Whippet generally works wonders for my own understanding.
Grandpa once told me that he didn't mind teaching me things because whenever he did he learned something new for himself. That stuck with me. Smart man, Grandpa.
-
-
-
Monday 22nd July 2019 11:24 GMT Flocke Kroes
Re: Can I get one trained on homework assignments?
Very close to my question: What is the license for the training data?
The SCO Group spent millions of investor's dollars suing world+penguin for using code that they did not own (and wasn't in the Linux kernel anyway) and infringing patents that did not exist. Some counties have a fair use concept that might allow ripping off a small percentage of someone else's source code but that would be a fragile fig leaf to hide behind even without the certainty that something like SCO version 2 would appear.
-
Monday 22nd July 2019 11:55 GMT Anonymous Coward
Non sequitur
"Pair programming? That's so 2017. Try out this deep-learning AI bot that autocompletes lines of source code for you".
But pair programming is not mainly intended to avoid syntax errors. It's meant to help prevent (or quickly fix) errors of logic, consistency and abstraction - which still require a human mind to engage with.
-
Tuesday 23rd July 2019 09:40 GMT Mike 137
Re: Non sequitur
"kinda like a pair-programming partner."
From a specification of Pair programming: 'The best pair programmers know when to say "let's try your idea first."'
which explains a lot about the parlous quality of code. Once you're at the keying in stage, you should be long past decision on the "idea" - that's properly part of the design process.
Ever since "agile" took off we've left out the design stage entirely, instead going straight from concept to implementation, resulting in completely uncontrolled development based on the idiosyncrasies of individual coders - witness the results.
-
Friday 8th May 2020 07:51 GMT Anonymous Coward
Re: Non sequitur
Back in 2019 an actual human mind was required, but here in 2020 an agent that understands code the same way a human does, is an even better solution than a (fallible) human mind.
https://www.americaninno.com/colorado/colorado-startups/golden-startups-ai-aims-to-make-developers-more-efficient/
-
Monday 22nd July 2019 12:34 GMT Pen-y-gors
No, just....no!
Autocomplete really slows you down - instead of just letting the code flow smoothly from your brain via the keyboard to the file, you have to constantly keep checking to see what suggestions are made and pause to decide which one you want - given that the list may not include what you had in mind). Constant mental stop-start, instead of a natural flow. Of course you could just keep typing and ignore the suggestions, but that rather defeats the purpose. The way Komodo autocompletes brackets and braces is a big enough pain!
-
Tuesday 23rd July 2019 00:31 GMT ovation1357
Re: No, just....no!
Yes! This 100%!
It's not just in code editors either, it's things like 'intelligent' highlighting which insists on expanding my specific selection of some text to include the nearest word boundaries or the next quote mark, or by the likes of MS Word taking a command or code excerpt and 'helpfully' changing the quote marks to pretty (but no longer valid) ones; or auto correcting capitals or a word that happens to match its list of common mistakes. Now Gmail is trying to auto predict the next words an email... No thanks! I'm fully capable of selecting/typing what I meant thanks.
I truly wish that all these 'features' were off by default - I generally find myself having to figure out how to turn off a load of assistive nuisances.
Specific to coding I do like being able to call upon some kind of hinter that will present contextual snippets of API docs and/or the usual cscope type features, but only on demand. Anything trying to second guess what I might type next is likely to be often wrong and very distracting.
It's probably why I still use vim with a few choice plugins for almost everything.