 Okay, well I said I'm going to talk about computational language and artifacts from the future. So I'm going to try and summarize about 40 years' worth of work and thinking in 30 minutes, so I'm not sure how well that's going to work, but let me give it a try. So I think this idea of computation is probably the single most important intellectual achievement of the past century, and it's something that's really defined a lot of what we do today, and I think it's going to be even more important in the future. So what I'm going to talk about is kind of how one interacts with computation and how one thinks about it. So let me start off by actually showing something here. So let's imagine you walk up to your computer and the question is does your computer have kind of computational intelligence built into it? Back when computers were first out and about, you didn't really expect much from your computer, it was just raw machine code. Then there were early languages and operating systems, networking and so on. What we can expect today is to have computational intelligence built into our computers, and I've been working on this for many years now and millions of people use the things we've produced. But let me kind of show you what do I mean by that? I don't know, let's say I say, you know, prime of a thousand, what's the thousandth prime? Okay, we know that. Let's say we want to make a table of the first, let's say we make a table of a thousand primes. Okay, we know how to do that. Let's say we want to make, I don't know, let's make a plot that shows those prime numbers. That's not terribly exciting. Let's say we want to make, we want to work out differences between those prime numbers. Kind of the idea is we should be able to just walk up to our computer and have it know the things it needs to know so that we can take questions that we want to ask and immediately start to do computations with them. So for example, that was something with numbers. Let's say we want to do something with words. Let's say we should expect our computer to know all the words in English. So there's a list of words in English. Let's say we want to just take, let's say we want to work something out about these words. Let's say we want to take the first letter of all those words in English. There we got the result. And now let's say we want to make a word cloud that shows us what's the most common letter, what are the, what are the frequencies of different letters here. So these are kinds of things. Okay, let's do that. Let's see. Let's do that for Spanish just for fun. Who knows the answer to this already? It's like what pages of a Spanish dictionary will be the most used. Okay, it looks like C and followed by A are the most popular words. Or we could say let's take, let's pick up, let's take an image or something. And let's say we take an image there. We could say let's let's let's some edge detect that image. Or let's say we can expect to just compute things based on what we have here. So actually, let's do something different. Let's say we want to blur that image. And let's say we want to let's do the following. Let's say nest list. So we're going to make a nested sequence sequence of images where we're progressively blurring more and more. So let's make 10 successfully blurred images. Okay, so we're losing the tiger here. Let's say we want to let's let's just see what happens if we try and image identify what's in these pictures see how far it can get and still know it's a tiger. So let's see. The percent just means the most recent thing we got. Let's see what it can do with this. Oh, boy, it did really well there. Wow, I'm impressed. It must tigers tigers are not as well camouflaged as we think. Let's go to 20 steps here. Let's see what it does then. I think it's going to lose it eventually. It's going to say it's something crazy and different. Oh boy, tiger is very obvious there apparently. Okay, well in a case so so kind of the notion is we should just be able to immediately know things about about things in the world. So let's say we make to make a graph. This might be a graph showing relationships between people or something. We can just pick up that graph and we say let's make a plot of communities in that graph or we could say we want to know something about about the world. Let's say we say Madrid for example here. Okay, we know that that's a city and we could for example say what's the population of Madrid. We could say that's okay. So let's say we want to know what's the can we work out what the population has been over the course of time. Let's see how much data we have about that. Okay, so that only 34 data points but let's say we can say let's make a plot that shows the population of Madrid as a function of time. Okay, there it is. Oh, for example, we could say we're asking how far is it from where I am to where you are. I think you guys are in Madrid. Let's see what the geodistance between Madrid and where I am. Let's see, I'm actually in Concord, Massachusetts and the geodistance is 3400 miles. Let's see, I should convert that into kilometers and there it is 5500 kilometers. Let's say let's just do one more computation here. Let's say let's get the capital cities in Europe for example. And let's get then this is something where we're using natural language to specify what we want, but then what we're getting is this kind of symbolic representation in this case of cities. And we could say for example let's say find the shortest tour between those cities. Let's see if we can do that. Okay, so now that tells us that there's a so we could for example make a picture which says let's take what we've got there. I should have put this all together in one one line, but let me let me not do that. What I'm going to do here is I'm going to make a plot that shows hope. Yeah, there we go. There's a there's a kind of shortest tour that visits all the capital cities in Europe. Okay, so this is a little bit of an example of kind of what what I mean by by sort of computational intelligence. You can kind of just walk up to your computer and have it do these kinds of things. Have it already know lots of things about the world and already be able to compute lots of things from what it knows. And by the way for a practical level you can you could always say if I wanted to I could say cloud deploy something here and make this into an API that I can let let's say for example let's do this let's just for fun let's just let's do something very practical here let's cloud deploy an API function that takes let's say takes the city and something which is going to be a city and then let's say we want to compute this thing let's see hash city here and then we want to say let's um actually let me go ahead I can do the following let me just say I'm going to make that something that shows up on the web like that actually let me just go ahead and publish this and then everybody can use it um let's say cloud publish uh this API and now hopefully let's see what happens here um okay now we get this this object in the cloud we can go there and um oh I should have said whoops let me actually do something different let me let me make a form not an API this is an API that will be called by an external program this is a form intended for humans to use so now I can go and um uh um and get oh and I made a mistake here um I should have said I can change my code here I should have said that we go there okay so now I've got a page on the web if I could only get this to move to the right screen here hold on uh there we go okay so now I've got a page on the web and now I could say city boston and now it'll go and do the computation and give me a result there so this is something I just created this this thing and I deployed it here and in fact if you wanted to you could take um let's see uh let's just get the url out of that and let's say oops no that's not what I wanted to do um let's just get the url from this and then I could say something like um uh barcode image of that um as a qr code and now hopefully if you go and point your phone at that um you can um uh you can get to that particular api that I just created um I could also actually take this notebook that I've been creating here um that this kind of the concept here is this is sort of I can make kind of a computational essay here so I can go and say something like um uh cities in Europe or something here and I can take this and write out what I'm doing and then write it in in a language English Spanish whatever and then also also represent what I'm doing computationally okay so this is a little bit of a kind of what I mean by sort of computational intelligence and computational language let me now talk a little bit more about the the kind of the underpinnings of this what what to how to think about what we're seeing here so in a sense we can start with thinking about sort of what is computation what is what is going on when we do computation computation is about following rules by setting up rules that define how something should work and then following those rules so a long time ago I got interested in seeing how general is this notion of computation to what where can we apply this notion and so one big place that I got interested in is applying it to the natural world to understanding natural processes can we think about natural processes as computations if so what kinds of programs might nature be running well the kinds of programs we're used to writing are these big complicated things that we carefully construct for our particular purposes but if we just look at sort of programs at random what might they actually do so a type of program that I looked at a lot of things called cellular automata let me show you an example of one so here the idea is this is a very simple rule that just says you've got a line of black and white cells and at each step you update the color of each cell according to this rule depending on the neighbors of that cell so let's take a look here at what this particular rule does okay let's so let's start it off in just one black cell at the top and let's um let's run it for 40 steps and let's just put a mesh so we can see the cells um oops and if I do this right there we go oops uh what did I do here um let's see what did I do here um oh that's big mistake um okay so uh so this is just starting off with this very simple rule we start off with one black cell here we get just very simple things to happen okay so long ago I got interested in well what happens when we use other kinds of rules and we can just sort of imagine kind of looking at this computational universe of possible rules kind of turning our computational telescope at that universe of possible rules and just seeing what's out there so let me let me do that computer experiment for you again here so let's say I just look at um uh lots of different let's say I look at the first um let's do this let's look at uh the first um um 64 rules of this type okay oops okay so this is now experiment I first did back in the 1980s and uh looking at what happens with different kinds of possible programs possible rules so what we see is sometimes the behavior is really simple we just get one black dot in the middle sometimes we get this more complicated kind of nested pattern here um and uh but if we keep going the most surprising thing I've I've ever discovered is what happens when we get to this rule 30 here so let's take a look at what rule 30 is so let's just uh let's just copy these down here um rule 30 it's just another one of these simple solid automaton rules this is the rule and um let's see what it does so it seems to be doing something kind of complicated let's keep going a little bit longer let's see if it sort of resolves to something simple let's run it let's say for 400 steps um and uh um this is what it does so this is really a remarkable thing because we're just starting off with that very simple rule we just start off with that simple black dot and we're generating all of this complicated behavior there's a certain amount of regularity over on the left but many aspects of this pattern look for all practical purposes completely random and uh so it's sort of a fundamental thing that in the computational universe it's very easy to make very complicated things we're used to in doing engineering that if we want to make something complicated we have to go to lots of effort we have to set up very complicated plans and so on but that's not what happens in the computational universe in the computational universe you just look out there with the sort of computational telescope and you immediately start finding all of this amazingly complex behavior so how does this relate to for example what we know about nature well nature shows us a lot of kinds of complexity and what seems to be the case is that the kind of secret that it's using to produce all that complexity is it's just running programs from the computational universe why haven't we seen more of these programs in what we do in technology well it's because in doing technology we want to be able to foresee what the the programs that we set up are going to do so we don't want something we haven't wanted something whose behavior is as complicated as this we want something where we can readily say okay this is going to behave in some straightforward way that we can readily understand something like this for instance instead but what we learn is that out in the computational universe there is sort of amazing richness in what's possible and in a sense we already knew a phenomenon like this we knew that for example if you take let's say pi there's a simple procedure for generating the digits of pi but once they're generated they seem for all practical purposes random and that's the same kind of thing that we're seeing happen here okay so what's the significance of this well there are there are many things that this implies this provides kind of a new set of raw materials for making models of the of the world both social world and natural world in the last probably 15 or 20 years there's been really a transition from what was happening for the last 300 years which is if you want to make a model of the world you use a mathematical equation to if you want to make a model of the world use a program and that's been sort of a a silent transition in the world of science that's happened in the last 15 or 20 years to this kind of computational paradigm but there are also implications for example we can ask questions like how difficult will it be to foresee what's going to happen in the system how difficult will it be to foresee what's going to happen in some system that we model in the world well one of the things that we discover is this phenomenon I call computational irreducibility that it's really not possible to work out what's going to happen in a system like this much more efficiently than just by running the system and seeing what happens there's no way that we can figure out there's no way we can sort of succeed in being smarter than the system and figuring out what it's going to do more efficiently than just by running it and that's something very different from what we've been used to in science but it's something that we increasingly have to understand the implications of for science and many other things is this phenomenon of computational irreducibility so one of the questions that comes up from realizing that such simple rules can produce such complicated behavior and that it relates to nature is what does this mean for kind of our whole universe and for physics and so on so long ago I long ago I used to be a physicist and but I there's sort of been a long term question just how simple can the underlying rules for the universe actually be and a big surprise in the last year has been the fact that we've discovered that there is actually a way to understand how the universe works in terms of very simple rules and I'll just sketch this I'm not going to go into it in much detail this is kind of a visual summary of what of what's going on there the the idea in a cellular automaton you've got this kind of line of cells and it sort of predefined what space and time are like what we think is going on in an actual in the actual universe is that there's sort of an an infrastructure underneath space it's just like we think of space as just this continuous thing where we can put a point anywhere we want just like we might think of a fluid like water as being a continuous thing where we can pick any place in the water we want but actually we know for water that it consists of discrete molecules bouncing around it's just it appears continuous on the scale we look at it well we think the same thing is true of space and that actually space is composed of sort of individual discrete points kind of atoms of space and the only thing that's true about those kind of atoms of space is that they are sort of abstract elements with a certain identity and they have certain connectivity to each other and so in general we form this this hypergraph that represents the relationships between these sort of atoms of space and the remarkable thing is that when you kind of grow this hypergraph you can just like what we saw in the case of cellular automata you can do something like um you could uh see if I can find one no that's not the right one that's more like the right one um let's say we just grow this hypergraph um how do I have a good example here sorry um um the uh uh let's find you a better example um uh that's a good example here um this should be an example yeah here we go so this is this is just starting off from a very simple graph and showing how by applying very simple rules you eventually grow this much larger graph well turns out the graphs you grow here's an example of one um the graphs you grow on a large scale can behave like continuous space and so that's kind of how we understand that space like something like water is made up of discrete points uh we think that the actual scale of those discrete points is something vastly smaller than anything we've known so far it's probably more like 10 to the minus 100 meters and so on well turns out so so in this model one can understand the how space arises time is a rather different kind of thing from space time is sort of the inexorable progress of computation but it turns out that as a result of a phenomenon called causal invariance it turns out that uh one still reproduces kind of the the notions of spacetime that we've come to that to to think of in relativity theory and so on well then the next surprising thing is that this notion of space the in the abstract it's just a bunch of points connected together we don't even know that it's formed into something that we can think of as three-dimensional or whatever else but it turns out you can think of this as being limiting to something like a uh a finite dimensional space and then it turns out you can also have curvature in space and then the first big surprise is that from this underlying very simple model that involves just these these atoms of space and these hypergraphs being rewritten and so on you can reproduce Einstein's equations you can reproduce the the all the phenomena that we know about gravity and you can reproduce things like black holes and so on that that's sort of one branch another branch that's important is that you can reproduce quantum mechanics and in fact from from these models we can now get a much clearer idea of how quantum computing works we can actually compile existing kind of quantum computing methods into the underlying structure of these models and we can kind of see to what extent it's possible to really get advantages from quantum computing and so on but the main point here is that what we've discovered in the last year or so in the last last six months since we we announced it um is that we're really on a track here it seems to actually find the fundamental theory of physics and to discover that our universe is in some fundamental sense computational and that kind of motivates understanding more about just what is out there in the computational universe of possible programs okay well so now the question is we've got this giant universe of possible programs they do all kinds of different things now the issue is is this useful to us so what what what is technology about technology tends to be about the idea of taking um taking things that exist in the world perhaps in the natural world and harnessing them for some human purpose or another and so for example we might find out that there's you know magnetic materials in the world and then we realize that we can harness that for the human purpose of making magnets and so on um or we might find that there are liquid crystals and harness that for the purpose of making displays and so on so now the question is in the computational universe how can we harness the things we find for some useful human purpose so for example in the case of this rule 30s tell your automaton we've used this for many years as a random number generator it's really good at that but that's that's a particular purpose that we've managed to harness this thing for but now out in the computational universe there's just an amazing amount of sort of computational capability there and now the the key question for us is how do we connect that sort of ocean of computational capability with the things that we humans actually want to do and in a sense I I've spent a large part of my life trying to build that bridge between what's possible in the computational universe trying to understand what's possible in the computational universe and on the other hand trying to understand how we represent what we humans actually want to do and that's where computational language comes in the whole idea of this thing we call well from language is to create that bridge between what is what is possible in the computational universe and what um uh and what we humans want to think about so you know like in in a typical natural language there might be some tens of thousands of of words in more than language there are about six thousand sort of core things that you can think about doing in terms of geometry or sound or geography or finance or engineering or whatever else um and the idea is to have this this computational language that represents whatever we want to think about in computational terms so that we can make use of the power of the computational universe to be able to do the things we want to do now in a sense the objective is is very different from what's been done in kind of the long history of programming languages programming languages are about taking what computers do and providing wrappers around what computers do so that we can build programs that uh uh potentially quite large programs that kind of ultimately just tell the computer step by step what to do what we've been trying to do with our computational language is to build something where we can represent the way we think about things computationally and by the way we can then get at computers to help us do that thinking so kind of the notion of well from language is not only to make something that computers can understand but also to make something that us humans can understand to essentially provide a notation for thinking about things computationally so you know we might go back here and just look at this and see and see this kind of computational notation that tells us what to do so the way I think about this sort of in terms of sort of the historical implications is the following back if you go back 400 years people were doing math of various kinds but they was very hard to go very far with math because you ended up having to talk about math using words and that was not a very streamlined or sort of portable way to do it then mathematical notation was invented plus signs time signs things like that and suddenly it was possible to use math in a mainstream way and sort of mathematical thinking really took off and one got algebra and calculus and all the various mathematical sciences in a sense what we're trying to do with computational language now is to make this this notation this medium in which one can represent computational thinking in which one can can represent the things one wants to think about in computational terms and this provides and just as mathematical notation kind of enabled the mathematical sciences that brought us a large chunk of what modern science is today so the idea of computational language is to enable kind of computational x for all x I mean I think that the for every field one can imagine from sort of archaeology to zoology there either is now a computational version of the field or there will be and that's kind of the version of the field that is going to take over in the course of the 21st century so so kind of the idea is this is a sort of full-scale computational language that's trying to represent all these kinds of things in the world in such a way that we can make use of the sort of the the computational knowledge that our civilization has developed we can package that all up and make use of it in this computational language to be able to represent things in the world computationally and do the computations we want to do so that's kind of the the mission that we've been on and what's really fun to see is is that our computational language is used in lots of places it powers Wolfman for for example which powers the computational knowledge of things like Syrian Alexa and so on it also is used in lots of kinds of corporate settings behind lots of kinds of systems in the world that people might say are doing AI or or machine learning or but or just dealing with knowledge or dealing with with pure computation but underneath is Wolfman language running and what's really fun for me to see is that in a sense this the the concept of a full-scale computational language is something that's been kind of a separate branch in development from what we've seen in for example programming languages and so on but it has allowed lots of people including me to build things which I think we can talk of and think of as sort of artifacts from the future they're things that we kind of imagine can be done computationally but it has not been possible it's people it's been hard to conceptualize how would you do that computationally well the notion here is to provide this computational language which lets people think about things computationally and and then be able to get the computer to help them actually do those things and build large systems based on that this is obviously important also at an educational level for letting people do the thing which is sort of the paradigm of the 21st century think computationally to get to the point where you can think about things computationally without learning all of the sort of details of low-level computer science and never getting to the kinds of things where you actually get to compute about interesting things in the world well just to there's there's there's vastly more to say about all this I'll just mention one more thing that I think I said I would talk about which has to do with with how to think about this sort of the role of computational language in the future of things outside of of sort of pure the things we usually think of as computation so one one area is things like computational law if you want to write a contract today you would write a contract in natural language English Spanish whatever else but you try and write it in kind of a legalese to make it a bit more precise than standard natural language but in fact what computational language allows one to do is to start thinking about writing that contract not in a natural language but in a computational language which is possible to be autonomously executed and where there's a precise definition of what it means and one of the more important computational contracts that we have to write is the kind of the contract with the ai's so to speak it's kind of the the ultimate ai ethics question you know what is it that we really want to tell the ai's we want them to do we want to say be nice to humans we have to kind of define that more precisely and the way I think we define it is to write in computational language what we mean by what we're saying there we need to take the things we imagine that we're thinking about and turn them into computational language which is then executable and understandable at a computational level so I should probably wrap up there and I think the the main main thing I wanted to communicate was this this notion of computational language this idea of being able to represent things in the world computationally the you know we built this very practical system that has tried to collect as much sort of computational intelligence as possible so that it's so that one can expect us just sort of walk up to one's computer and immediately expect it to to be able to apply computational intelligence to lots of kinds of things and the fact that this is sort of connected what what makes that really powerful is that there's this kind of ocean of computational possibility that we've discovered from the basic science of computation and by the way we now know we now have really good evidence that our whole universe is making use of that kind of idea of computation because that's how fundamental physics seems to work and so this this notion that so we're kind of the the idea is there's this sort of ocean of computational possibility and we're gradually getting to mine little pieces of it and what computational language does is it goes from the things we want to think about to the kinds of things that it's possible to to execute in this computational universe of possible computations all right I should stop there I hope I left time for some questions and discussion thank you very much thanks a lot stefan we have three questions we have three questions it's the first one I think it will be easy for you it's how do you foresee the combination of algebraic computing with the statistical numerical computations in matcha learning algorithm so how do you foresee this combination of algebraic computation and statistical numerical computation yeah yeah right so so I mean what's what's interesting is if we take something like the there are things that we do which are very precise which are very well defined there are things we do which are instead based on things like machine learning the thing that I think is the most powerful is to combine them together so for example let's say we're we're dealing with our tiger here and I was really surprised that um that it was able to identify this but let's say we want to say let's say um image identification network there we go okay so this is now going to let's let's actually take a neural net here let's take the neural net that does the identification and we can well we'll see that that's just a a function here that is a function in our language so we it looks like kind of a a symbolic kind of function but if we wanted to we could take this network apart we could see what was inside there everything that's in there is kind of defined in a kind of symbolic way but um but what we get is is this thing that we can use machine learning on so so for example here let let's say we want to take our tiger and instead of looking at the complete output let's just look at five layers of the neural net and apply that to the tiger see what we get um we'll probably get the the internal thoughts okay we need to make that into an image we'll get sort of the internal thoughts of the neural net as it was doing this analysis and so what's interesting here is just sort of the way in which we can kind of smoothly combine these things which are in a sense precise computations with things that I did a feature space plot looking at how these different pieces of the thoughts of the neural net um were arranged in feature space and so on so I think the the greatest power comes from making use of things like machine learning as components in this bigger picture of doing overall computation I mean one thing I might say is that uh you could ask well why don't you just use um natural language let's say plot a you know cosine curve and purple I don't know if that's going to work um you just say why don't you just write code by by using um uh by by um um by by just giving natural language and so what one finds happens is that when when the thing one's asking to do is fairly simple it's just sort of one sentence that can work quite well when one wants to build up this more elaborate story about what computation one wants to do the idea of just sort of tell the computer what to do in words stops working and that's where the power of computational language and having the sort of organized well-designed coherent symbolic language becomes important where you get to put together all these different pieces so I think that's that's kind of the story that that um what uh sort of things like machine learning end up being powerful components in this bigger picture where you build up the sort of whole stack of computational capabilities in the in the notion in the in the context of symbolic language we have another another question for the for the audience is uh if you could please clarify what is the difference between computational language and making traditional language more high level right so so the big point is that um uh it's a language which already knows a lot of things about the world so I mean in you know if you if you imagine sort of a typical programming language I don't know I don't know too many programming languages but we could start up here we could uh let's see we could we could start up a python cell here and we could start typing something in python but you know we don't expect that python will know let's say I don't know uh who Vincent van Gogh was uh we don't expect that that um uh we don't turn we don't know you know we could say what were the notable artworks of Vincent van Gogh we don't expect that um that it will know something like that uh we don't expect that we could take I don't know we could take let's take a random collection let's let's take a random um uh random collection of five of these we don't expect that um uh we don't expect to be able to do computations immediately with these so let's say for example let's get um um let's see if we've got images for these we may or may not have images for these but let's see okay there we go we don't expect that now we could take one of these images and make um I don't know we could say let's make a um uh a chromaticity plot out of these let's make 3d chromaticity plots from each of these we don't expect that these are things that our language will intrinsically know how to do now what's the importance of having a language that intrinsically knows how to do these things well it allows one very quickly and very effectively to do real computations relevance in the world and the thing that has been kind of my activity for the last 40 years is maintaining kind of a coherent design of everything that's here it's not something where you start with a little language and you build all these libraries and you have to fit libraries together and you have one library and it's incompatible with some other library and there's a library that does this and library that does that the idea is to have a single coherent language where it's designed so that all these different things whether we're dealing with machine learning or image processing or numerical computation or things about artworks or whatever but all of that fits together that's kind of the idea of having a full scale computational language a representation of the world in computational terms that's kind of the notion of it and you can think of it as kind of the the unique case where one sort of built a library that knows about the whole world so to speak and did that in a coherent way so all the pieces fit together but but another you know you may notice that there are features of wealth and language which are really rather different from what one's seen elsewhere you know for example the fact that there is a notion of an object that a symbolic entity that represents a Van Gogh painting that's that's something that is the kind of the whole notion of symbolic programming is something that is fundamental to what what's going on here in fact the the idea of symbolic computation and the idea of kind of you know you define a function let's say I want to define a function I don't know I might define let's say I'll define a function with two like this that takes does I don't know what what might we do here we might do some function that and let me not but but basically what I'm doing is I'm I'm I'm specifying what the the way the language works is it's defining rules for what to do with patterns and these patterns can represent both things that are traditional kinds of things that one might see in a typical programming language but they can also represent this whole spectrum of other kinds of things in the world including you know artworks or whatever else another question final question because there's there's some related ones about the future about how you foresee the future of the facts the the future of computational languages the main trends you identify how do you foresee the future well I mean the main thing the main immediate thing is what do you expect your computer to be able to do and you know we have gone through over the last 60 years from it's just a raw computer to it's got some low-level language to it's got an operating system it's got networking it's got a user interface what we expect to have in the future is it's got computational intelligence built into it all of that computational knowledge that's been accumulated by our civilization whether it's about you know properties of planets or characteristics of movies or whatever else to have all of that knowledge immediately accessible and immediately computable that's that's something that I expect now what does that mean that means that you get to build a lot of magic things I mean today there are this is why I sort of talk about artifacts from the future today you know if you look at sort of people winning hackathons or startups doing amazing things you'll you'll you'll find lots of them where at the bottom of it is our wolfman language system being able to sort of bring computational intelligence to bear on on kind of a particular a particular problem or or task and I think the most significant thing is that you can expect to see kind of a sort of a big jump in the level of computational ability that you can expect to build things out of now what what it also is something that you can expect is a level of of sort of a new way of thinking about the world where you think about the world computationally where when you sort of formulate a question where you wonder about something about your personal analytics tracking or something you know have I had more cups of coffee while whatever is happening or whatever and you've got the data for it being able to routinely take that and using computational language express what you want and and get results I think that the the notion of kind of thinking about things in the world thinking about the ways that one sets up businesses and so on in these computational terms this is very powerful and in order to kind of fix those ideas in order to have a way of thinking about those things coherently we need some language to think in and that's what computational language provides for us now going forward there are just so many kinds of things that that computational language is important for I mean one one example I've been a little bit involved in is questions about when when one wants to define something like I'm sorry can we lose it no it's fine it's fine it's fine you can continue yeah yeah I'm sorry the um no I was I was just going to say that that lots of kinds of things about sort of you know expressing our preferences for for things is something we can expect to do we might do that by just telling somebody in words what our preferences are for you know what we should see in our news feed or some such other thing but we can also express that in computational language and it becomes a medium just like when when literacy for for ordinary natural language became decently common 500 years ago there is a moment that will eventually happen when there's sort of literacy in computational language that becomes common and where people expect to be able to communicate things in computational language just like at least some part of the world expects to communicate things in mathematical language today but it's a much broader thing to communicate in computational language another thing that one realizes as soon as one realizes that sort of everything is becoming computational is that these kind of principles about how computational things work become things that are important in everyday life so for example from 300 years ago with people like Galileo and Newton and so on we got ideas about the way basic physics works and ideas about things like energy and momentum and so on in mechanics and now we'll often think about energy and momentum as metaphors for lots of kinds of things in the world well similarly with sort of computation as a foundation for our understanding of lots of things including as it happens physics there are kinds of concepts that come in like computational irreducibility that are notions that then we realize are important generally in the world and so for example computational irreducibility is something that we gradually need to understand more of it's about it's kind of computational irreducibility is kind of explaining the limitations of things like science people have sort of imagined you have science you can predict what's going to happen you can predict how the pandemic is going to play out you can predict this or that thing it's the thing that one realizes is that one one has been the particular ways that science has been used are making use of kind of the pockets of computational reducibility that people have found but the fact is that a lot of what's out there in the kind of scientific world is computationally irreducible that is the only way you can work out what's going to happen is essentially to simulate it or play out what what actually happens and see what happens and it's this this phenomenon so this is something we kind of learn from the fact that sort of it's computational all the way down is we have to take seriously these kinds of concepts like computational irreducibility as things which are have an effect on all the kinds of things that we see in the world and the way that we think about things in sort of everyday life and the question of sort of can we to what extent can we expect that we can just sort of rely on science to tell us what's going to happen that from within the sort of the foundations of science is this phenomenon of computational irreducibility that kind of describes the limitations of science it both describes the existence of computational irreducibility both tells one that computation really achieves something it achieves some sort of irreducible amount of work but it also tells one that there are limitations on what one can say about what that computation will do so those are a few of the few of the kind of indications of of of kind of the where things will go i mean computational language is really the bridge between what is computationally possible and what we humans want to think about and one of the things that's always interesting in the evolution of language is the way that that what one talks about in language one then can think about and build on top of so for example there was a time before the word blog existed and one might have said well i'm writing these pieces and i'm putting them on the web and so on and so on and so on but then after there are enough of those kinds of things the term blog gets invented and then one can start talking in terms of blogs and one can start thinking about sort of how one builds things up from that and it's the same way with computational language once one has sort of taken these concepts and made them into something that one has sort of organized in a coherent way in a computational language one gets to start thinking in terms of those concepts and i know over the last 34 years that i've been building well from language what's happened is that their set of concepts and as we understand them better we can see further and we can build more and more and and sort of incorporate more and more into this kind of computational language to represent the world but i think that that's um that's the thing that i can we can expect to see happen is as computational language gets better understood there are these concepts that come into existence that when then one can reason in terms of and build other concepts on top of them it's interesting to me over the past 30 years or so that there are ideas that i wanted to put into the early versions of well from language particularly to do with higher order functions and functional programming and things like that which were hard to put in because there was not good ambient understanding of these things in the world at large so you put them in there but nobody understands how to use them and that's not a worthwhile language and over the course of time as sort of the sort of one's been able to build these layers of understanding it's possible to go further and further and to sort of make use of the kind of conceptual framework that's been built with computational language so thanks a lot stefan a real honor having you here to to close this this edition of business conference so it's thanks so much take care and keep in bye