Paving the way for Software 2.0 with Kotlin

#artificialintelligence 

Our work with differentiable programming, which enables programs to optimize themselves, is part of Facebook AI's broader efforts to build more advanced tools for machine learning (ML) programming. That's why we're extending the Kotlin compiler to make differentiability a first-class feature of the Kotlin language, as well as developing a system for tensor typing. Our work enables developers to explore Software 2.0, where software essentially writes itself, via: By enabling intuitive and performant differentiable programming in Kotlin, we're empowering developers to create powerful, flexible programs that take advantage of problem structure while seamlessly maintaining type safety and keeping debugging simple. Today, most code is either learnable (written using restrictive machine learning libraries) or explicitly programmed (using traditional coding paradigms). A major obstacle toward achieving Software 2.0 is that there's no true compatibility between these two methods.