Dev Watch

Blog archive

Here Come the Coding Robots

Maybe this whole "teach everyone to code" thing wasn't such a good idea after all.

Emerging into the programming landscape is a new class of AI-assisted coding robots (or programming copilots) to train developers and augment their efforts. Their functionality is limited now, but they could signal the vanguard of an insidious uprising that one day will see you training your robotic replacement as your boss impatiently awaits his first command: "Siri (or whatever), wire me up a back-end to our new shopping app."

Related to the premise of this recent article questioning if data scientists will be automated and unemployed by 2025 ("Are we really just grist for the AI mill? Will robots replace us?"), they could be coming after YOU!

Or they could just be handy time-savers.

So say hello to your new little friends: Kite and Root.

Kite is described as "your programming copilot." It "augments your coding environment with all the Internet's programming knowledge." It's a desktop app that integrates with your tooling, fixing simple errors, providing example code and helping you search for answers to your problems.

Root is "a new educational robot," teamed up with an "accompanying programming environment, Square, to engage students with coding from an early age, retain their interest, and guide the growth of their coding skills."

The insouciant Kite ("No nerds were harmed in the making of this product.") is the product of a classic Silicon Valley start-up headquartered in San Francisco, with a Web site showing 13 team members.

"Kite is an artificial pair programmer," the requisite FAQ states. "While you're coding, it shows you examples and documentation for the libraries and terminal commands you use."

Kite, Which Doesn't Harm Nerds
[Click on image for larger view.] Kite, Which Doesn't Harm Nerds (source: Kite)

It so far has limited functionality, supporting only Python, running only on Mac OS X and providing open source plug-ins integrating only with Sublime Text, emacs, vim, PyCharm and Atom code editors. More languages, along with Windows and Linux support, are planned. Here's a video:

"As you type, we send your code to our servers as a query," the FAQ explains. "Our back-end analyzes your code and generates a response by querying it against terabytes of data, i.e., all the source code publicly available on the Web. This index is simply too large to ship with each client."

The company takes pains to assuage resulting privacy concerns (which you just know will be hashed to death on Hacker News) with that working model. "We never share your code with anyone," it says. "If we ever introduce new features that involve sharing code, we'll explicitly ask you first. But we'll never do something ridiculous like silently start showing all of your code to the world." Oh, and no nerds will be harmed in the process.

Root comes from the Wyss Institute, with a more educational bent. "One of the main challenges in teaching K-16 coding is the difficulty in finding frameworks that span a wide age range and appeal to broad audiences," the project's Web site states. "Databases aren't something that excite most students, and some concepts of coding can be too abstract to engage young minds."

Root and Square
[Click on image for larger view.] Root and Square (source: Wyss Institute)

"The robot, Root, is designed to fit into every classroom," the site continues. "It operates on whiteboards by driving on the vertical surface magnetically and -- using dry-erase markers -- draws, erases, and responds to lines drawn on the board. This ability to interact with the robot simply by drawing opens up potential for a broad range of unique instructional activities and games." Here's a video:

The accompanying Square programming environment, however, can help even somewhat experienced programmers.

Square "provides a sliding framework in which students can program the robot at different levels of proficiency -- from a blocks-based graphical environment designed for beginners and early elementary school students, up to a traditional text-based environment for older students or intermediate coders -- with the unique ability to toggle and automatically translate a program from displaying in any of the multiple levels," said the project site. "In this way, it helps support the transition to more advanced concepts and coding processes. The interface meets students at their individual level and evolves with them as their skills develop."

Its creator, the Wyss Institute for Biologically Inspired Engineering, is far from a Silicon Valley start-up, originating from the hallowed halls of Harvard University. It seeks to discover nature's engineering principles and apply them to real-world materials and devices to revolutionize healthcare. From that mission, somehow, came Root, to teach kids how to code.

"Root requires no special set up to begin operating on the whiteboard at the front of the classroom," the site says. "Unlike structured Web sites that teach coding as an individual activity based on exercises with unique solutions, the classroom environment is ideal for using multiple Root robots at the same time, providing opportunities for peer-to-peer learning and more freeform creativity. Coding with robots is an inherently dynamic experience; robot, environment, and students all react to each other, stimulating students to come up with diverse solutions and challenges together. Furthermore, robots have been shown to have a powerful appeal to all ages and demographics, making interactions and relationships with them far more compelling than images confined to a computer screen."

According to a write-up in the Harvard Gazette, "The Wyss team is currently seeking the right partners to help put Root into action in a classroom. The next step, said [Zivthan] Dubrovsky, is to develop a curriculum, including a coding module, around Root."

Over at Hacker News, Kite co-founder Adam Smith provided thoughts on the future of the "artificial pair programmer" in response to a comment about the need for an on-premises installation (you know, that whole HN privacy thing). A commenter said: "I was really excited, then very disappointed to see the code I type is sent to your servers. This immediately prevents it from being used by many businesses, including my employers. Super bummer :( Please get the on-prem sorted out pronto!"

Smith's reply:

We want you to be able to use it just as much! : )

There will be an adoption curve from early -> late adopters. Working through this is something we're committed to, and we know it will take time.

We're committed because we think it will be incredibly valuable to our field. We just can't imagine a future 50 years from now where programmers don't benefit from a smart back-end helping them work.

So we start with step one today, and here we go : )

And don't worry: No nerds will be harmed. (Yeah, right. That's probably what they said when they introduced Skynet and the Terminator).

How can humanity protect itself? Comment here or drop me a line.

Posted by David Ramel on April 19, 2016