If you are looking for an answer to the question What is Artificial Intelligence? and you only have a minute, then here's the definition the Association for the Advancement of Artificial Intelligence offers on its home page: "the scientific understanding of the mechanisms underlying thought and intelligent behavior and their embodiment in machines."
However, if you are fortunate enough to have more than a minute, then please get ready to embark upon an exciting journey exploring AI (but beware, it could last a lifetime) …
Harnessing the wisdom of the community, Visual Studio IntelliCode is revolutionizing developer productivity. We started with AI-assisted IntelliSense and are now expanding the application of artificial intelligence to significantly accelerate learning, radically improve development agility, and increase code quality by means of two exciting new capabilities: whole line completions and refactoring. Technology is evolving so fast that every developer is constantly learning, whether you're adopting a new programming language, API, or architecture (e.g. Amidst this rate of technological change, existing tools are no longer sufficient for achieving agility as development teams are trying to accelerate their time-to-market and increase code quality. As a result, development tools need to radically evolve to satisfy the productivity demands of modern teams.
Our first article in this two-part series addressed three areas of software development – Requirement Analysis, Design, and Engineering – that have already been influenced by AI to "automate automation" or accelerate maturity. As we continue to explore how the integration of engineering processes and AI will help shape future systems, this article will focus on three additional development aspects: Review/Testing, Operations, and Collaboration. We have come a long way since the days of traditional quality assurance, with new tools at our disposal including automated test environments, automated testing and "automated automation." As hypothesis-driven and test-driven development has enabled experimentation, it is imperative to left-shift quality control. In a high-performing enterprise, the onus lies on the developer to ensure all developed code causes no unexpected disruptions.
Visual Studio IntelliCode brings you the next generation of developer productivity by providing AI-assisted development. Every keystroke and every review is informed by best practices and tailored to your code context. You can try it out today by downloading the experimental extension for Visual Studio 2017 that provides AI-powered IntelliSense. IntelliCode is a set of AI-assisted capabilities that improve developer productivity with features like contextual IntelliSense, inference and enforcement for code styles, and focused reviews for your pull requests (PRs.) AI-assisted IntelliSense, and the other features shown at BUILD 2018, are just the start.
There has been much recent talk about the near future of code writing itself with the help of trained neural networks but outside of some limited use cases, that reality is still quite some time away--at least for ordinary development efforts. Although auto-code generation is not a new concept, it has been getting fresh attention due to better capabilities and ease of use in neural network frameworks. But just as in other areas where AI is touted as being the near-term automation savior, the hype does not match the technological complexity need to make it reality. Just in the last few weeks Google, Microsoft and IBM have announced new ways of boosting developer productivity with deep learning frameworks that fill themselves in--at least in part. The headlines exclaim that code is writing itself; that programmers will no longer be necessary.