 From imaging the depth of the earth to manufacturing we're using computation and data to make better predictions and products It's a good time. Exascale computing is on the horizon and through the cloud We've got immense computing resources at our fingertips. However, the software required for this can be incredibly complicated It requires a combination of in-user expertise Mathematics and computer science all of this is coming together to form a near impenetrable Technological barrier even to make small incremental steps forward is requiring massive investments into large teams of specialists and this of course is a problem for SMEs and Like it is forming the the skills crunch So for me, I think this has got many parallels to the situation we had in computing back in the 1950s back in the 1950s all software was still written in machine code This is quite a painful process then the big idea of the day was to develop higher level programming languages there are more human friendly and like at develop computers and this is software that automated the generation of the machine code One of the first to be developed was actually Fortran, which is amazingly still in use today However, the high-level languages of yesterday are really today's low-level languages and for this reason my research group at Imperial College London Specialized in developing higher-level programming languages that are bespoke to today's applications And what this allows you to do is to get from to write applications at a much quicker rate So analogous to a pyramid your application developer then only has to write the top layer of software in the domain Pacific language And then we use a series of compilers to automatically generate all the other layers of software So in effect the application developer might only have written 10 lines of code in the domain Pacific language And millions of lines of code are automatically generated what this framework really enables is a genuine collaboration between the main specialists Mathematics and computer science it becomes possible to develop new complex applications without the need to understand the complexities of Extra-scale computing and because we're using software to write software we can implement optimizations That just would be untankable for a human programmer to attempt So we go away from the from the notion that we have to develop a workforce of super humans Instead what we do is we develop smarter technologies To make us more productive automatically generated software can be made much more reliable and it's already outperforming Code that has been handwritten by experts. So we've already demonstrated this in the area of seismic imaging The oil and gas industry collect petabytes of data And they use supercomputers to create images of the earth subsurface already. We are able to generate in seconds Better code than what teams of developers develop over a number of years this approach this framework It also frees up specialists to innovate within their layer of the pyramid their innovations in can be quickly integrated for everyone's benefit And one of the big payoffs here is that it greatly reduces the cost and the risk that large software development Projects are really notorious for the framework also allows expertise honed in universities to be fully engaged Because like people then they don't need to start becoming experts in everything in our particular case as well We've also made our technology open source because we we really strongly believe that open innovation is Really critical to the democratization of technology But there's much more to this story than increased efficiencies by developing smarter tools that can suggest and guide optimizations We greatly extend human capabilities and ultimately this leads to better outcomes It also makes training much easier for big companies. This means higher Productivity more innovation and lower costs better faster and cheaper for SMEs This means access to technology that will be otherwise inaccessible are too expensive to develop So I believe that software writing software will disrupt every corner of the digital world from monitoring the earth to Like designing more efficient energy devices It's actually the sheer scale and complexity of legacy software that has Limited innovation and progress to date and I think this is on the verge of being swept away by a whole new generation of software technologies Back in the 1950s many believed that people will continue programming a machine code The progress that we see today was only made possible because humans fundamentally shifted How the programs computers Thank you