1 / 7

Spoken Language Support for Software Development

Spoken Language Support for Software Development. Andrew Begel University of California, Berkeley Advisor: Prof. Susan L. Graham. High-Level Code and Commands. Programming Language Analysis. Source Code. Introduction and Motivation. Development mechanisms mostly unchanged for 30 years

sylvia
Download Presentation

Spoken Language Support for Software Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spoken Language Support for Software Development Andrew Begel University of California, Berkeley Advisor: Prof. Susan L. Graham

  2. High-Level Code and Commands Programming Language Analysis Source Code Introduction and Motivation • Development mechanisms mostly unchanged for 30 years • Enable people to program linguistically rather than textually • Program by Voice • Intended to help RSI sufferers, as well as students learning to program SIGCSE 2002

  3. Current Tools Are Painful! for statement … next … declare variable name india variable type integer … assign zero … next … recall one … less than ten … next … recall one … post increment … next for (int i = 0; i < 10; i++ ) {  } Program editing and navigation are much worse! SIGCSE 2002

  4. Hard Problems • Disambiguation • User says ARGS SUB ARG NUM PLUS PLUS Possible interpretations: args[arg.num]++ args[arg(num)]++ args[argNum]++ • Must support navigation and editing • Go to the second if statement and replace the predicate by x is less than 7 • Programming languages aren’t spoken • Modify syntax to be easier to say without changing semantics SIGCSE 2002

  5. Cognitive Questions • How do programmers express themselves? • Does everyone speak the same language? • Vocal expressiveness is important: x[i]++ vs. x[i++] • Abstraction is natural • Consistency and correctness are inferred by context • How does speaking affect programming concentration? • How hard is it to learn to program by voice? • How fast or slow can one write code? • What kinds of mistakes are made? SIGCSE 2002

  6. Where are we? • Harmonia-Mode for XEmacs • Provides interactive, on-line program analysis services • Deployed in undergraduate compiler class • Program by voice prototype: Code template expansion by voice • Initial design for Spoken Java language SIGCSE 2002

  7. Conclusions and Questions • Programming by voice won’t be for everyone • How can we apply this to novices? • Will it be easier to learn to code? • Could this change how we teach programming? • How do we study this in a real course? • Next up • Document navigation by voice • Voice-over program comments SIGCSE 2002

More Related