Speaker 1: 00:00 [inaudible] Speaker 2: 00:08 James, you know how we love talking about the future new products, Betas. We'd like to get ahead of ourselves. Well, this week we're going to get doubly ahead of ourselves. We're going to talk about the future of the future. You're ready for this. We're going to talk about.net five Speaker 3: 00:28 baby to add net five the future of the future of.net the future future not too far away. Future of the future. Yeah, Speaker 2: 00:37 I love it. We, we haven't officially released.net three but I got stopped at three is been in previews and Betas for awhile now. So we kind of know what it's gonna look like. We know it's features and everything, so let's look ahead. Yeah, well Speaker 3: 00:50 core three, right? So yeah, maybe we should start there. Actually seeing that we've already confused ourselves. So let's break down why we even one care about Donna at five. We're done at four win without an Air Corp for wind. And what is.net versus.net core versus framework? Or is it about, what are these run times, frank? Both spleen. Speaker 2: 01:13 Okay. I guess this is the also the version episode, Huh? Every, every year or so we have to update everyone on what version is that? Everything. Okay. So um, dot net we have a few different run times for it. We have the.net framework, the original, we have mono. Um, back in that day there were a few others. Um, you know, these are the things that take your IOL code, your assemblies and make them run. They're important. They're on time. What a good name for them. Um, let's see, what are the versions? so.net framework is up to like 4.8. That's a runtime. Yup. Dot Net core. That's currently at two point. Who knows? 2.2, I think ish. Um, with a 3.0 coming out soon. Anytime. Now I really don't know the schedule and we have mano, which you know, I get confused with its versions but I think it's at like five point 12 somewhere around there. But basically it's compatible with.net core two and compatible with.net framework for who do you think everyone follow along followed along with that? Speaker 3: 02:16 I think so. And you know, these are the run times that, like you said, execute your, your IML and make your, your app run. And we know that traditionally done it framework is, is that was like, you know, unlike mono mono and Donna and core have a lot more similarity than donna@frameworkbecause.net framework ships in the box. Speaker 2: 02:38 Yeah. It's a part of windows. Um, and it's, it's funny because organizationally at Microsoft it's actually two different teams, but they shipped together, they work together. And so whenever they wanted to update the.net framework, he basically had to ship a new version of windows. So schedules are locked. Um, visual studio would have to involved with that, you know, so everything's kind of in lock step and that just, you know, makes things harder to organize and sometimes you want to move fast on one product and move at a different pace on another product. So I think what we're seeing here with.net five, which we'll get to explaining in detail, but uh, I think this is Microsoft saying, ah, we want to break this lock step a cycle that we're in. Speaker 3: 03:22 Yeah. They want to be able to move forward quicker. I think you really, you know, that really paints a picture of well framework, which, which isn't going away, right? Obviously it runs windows, runs a lot of windows and office and runs entity framework six and apps. But there is this path forward. We did an episode how I was talking about running my WPF app on.net core three. So the benefit of a Donna and core or a mono application with those runtimes is that they're bundled into your application. So for most intensive purposes, like yes, you can install mano onto your machine and run apps against that motto, but most likely when you're packaging up an application, you're packaging up the run time, uh, in a, in a specific way for that platform. So like as a, as a, you know, mobile developer, we didn't really have to worry about anything. We're just like, let me just build my app and we're off to the races. We've lived this great life for what, 10 years now? Or we're just like, Eh, you know, there's a run time. It's in my, it's in my off. No big deal. But yeah. Speaker 2: 04:26 Oh James, it's been amazing. Like even in the early days, Mano touch days. Um, there'd be funny little things and I would ask Miguel, hey, could I have a custom build that does this one magic thing that I need? And they'd give me a custom build and it didn't matter, um, what software people's phones were running because the runtime is integrated into the APP. So I could use custom builds of the runtime, you know, in my apps and everything would work out fine. What a good life, Huh? And we've talked about packaging a lot and I always say that it's just a pet peeve of mine or a mental hurdle I always can't get over is I hate asking people to install dependencies with my apps. I just want my app to be a single exe, double click it, it just runs. It should be. Same thing on a Mac, a single.app. And we don't have that with.net framework. You always had to tell people, sorry you gotta Update your.net framework. But with the core CLR and with mono packaging, you could achieve it. And I think, um, what we're seeing is people just recognize that that's kind of a better way to distribute this runtime than to force everyone to be lock step into us. Same version. Speaker 3: 05:38 It's very true. In fact, if I open up my.net directory on my machine so you can, you can do this. And if he was installed visual studio, it has definitely installed many a.net so you can do this by going into your c drive into your, where's it at? I Speaker 2: 05:55 said in my program, oh no windows system, nevermind. I don't know where they put anything anymore. It's in program files.net and I have for all intensive purposes, let's look here. I have 20 versions of the document core Sdk installed to a lot of two, one and a lot of Tutu and a three. Oh, I imagine you have 20 different.net apps on that computer because that's usually how it goes. Everyone's APP has a slightly different requirement and therefore you need a slightly different.net framework. And you know the truth is hard drive space these days is pretty cheap. Um, when you take a photo with your iPhone, it's six megabytes and I'm pretty sure.net core all packaged up is about six megabytes. So you know, it's not that big of an ask to ship them one time. And that's why like, you know, the, the dotnet core tooling, which I have tons of installed already, which it would totally fine cause I'm a developer and then yeah, you're right. Speaker 2: 06:52 Like there's tons of done it framework versions and it's the worst. When you go to install something, it's like, oh go install.net three oh or three five and you're like what? I don't, what are you talking about? It's like do it or do it for me. And you're like, do you want to insult? Like do I want to install this? I don't know. You know, cause you need it is all these legacy apps. But regardless, it is amazing that windows and Donna can really run all these old apps. Like it totally works. Like it's really awesome. But you're right. Like I in an ideal world, I could just give you an Axion. It would just run. And that's the world that is moved to with dotnet core three. Right. Which you know, is, is the, is the future, not the future future, but the future of, of we're done at is going, um, it's going to run your desktop applications and all your web workloads and things like that. Speaker 2: 07:40 But we're still in this world where there's those three things that exist. Frank, there's still those things and I believe that Microsoft wants to fix that. So how are they fixing it, frank? Do you want to tee it up and talk about it? I'll, I'll do my best here. They are fixing it chains by increasing the version number we are done. Yeah, whatever semantic versioning or fixing it that way. So introducing james.net five, no more. Dot Net core. No more mono. No more. Dot Net framework only. Dot Net five and this isn't just marketing, this is a technical thing. So the big deal here is that there unifying the, um, what I always called the base class library, the BCL, but it's really called core effects. That library, you know, system dot. The thing that everyone uses and every app there, that thing is fractured. Speaker 2: 08:37 The amount of version slightly different from the.net framework version, slightly different from the.net core version. And we're fine. We're going to unify those. Now, this sounds like.net standard and the differences.net standard was standardized interfaces. It said which classes exists, which methods exist? It said nothing about the implementation, but now we're actually unifying the implementation. And that's only a good thing because that just means the bug fixes and improvements will be distributed out to everyone. So there's that neat thing which we can keep talking about. And then the other one that I like a lot is that it's unifying a lot of the tooling. So instead of, um, having mano being a separate tool and.net being a.net core being a separate tool, they're unified into just.net [inaudible] dot net five and you can choose which run time to use and you can choose whether you use a OT or jet and just unifying them. The sad news is.net framework is going to kind of stabilize where it is now and Microsoft is really pushing everyone to move on to.net five how was that for an overview? We're, we're going to dive in I'm sure, but as an overview, Speaker 3: 09:49 yeah, that's a good overview because a lot of people have come to me over the last two years, I think since two, three years in Sonic Corp came out and everyone would ask me like, when is, when is, you know, when is Xamarin moving to Donna at core? When's this? And ones that. And I said, why? Why do you, why you want that, you know, what do you, why do you need that that would just make, you know, it would make sense, right? Or It'd be like, I don't know, but you know, I just want that. And I'm like, Oh, you don't know why, you know, no one knows why you went that. Right. Well, the reason that you want something like this and, and for, for a long time, there was no necessarily reason. And what the motto team had done is they literally took this thing called core effects. So core effects is the sort of foundational BCL libraries of Dominic core that's open source. Speaker 2: 10:38 This is why I use.net because it's just this giant library that you can rely on. I learned how to use HTP client. I can use it on any platform. It, the, the core library is a major selling point of any platform. So yeah, it's important. Yeah. It's the baseline for new get. I, I, you know, knew gets always the thing that we, we should talk more about but don't, but a lot of this is going to help simplify new get too, because we'll be able to rely on, uh, a core effects that we can trust and know works everywhere. Speaker 3: 11:11 That is one of the huge parts of it as well, which is like, hey, yeah, we want, you know, to run a one line of code and it should run pretty much exactly the same, exactly the same everywhere. And that's what this will do because the motto team that had powered any of the Xamarin apps or their workloads, they were taking a lot of the core effects code and like migrating it where it made sense. But what this really means is that that same exact core effects will just be the same core effects everywhere. You know what I mean? Like it's the same. It's literally the same code. Like it's the same. Speaker 2: 11:46 So this, uh, the reason I'm really excited about it, we should talk more about that and standard how it relates to all. But I kept noticing that.net core kept adding all these cool little features to their BCL and they weren't a part of.net standard. And sometimes motto would pick them up sometimes not because they were technically separate projects and they weren't going through a standardization process. So with this unification, things are much better. All the cool little API advancements that have been happening in.net core will come over to Xamarin workloads. And, um, what else? Web, you know, web API. Speaker 3: 12:27 Yeah. Technically that was banned. Windows, Linux, Mac and mobile. Tbos horizontally, Iot, whatever, whatever can compute. We'll get it to run this stupid thing. Yeah. Wherever you want to run the code or on the go. No, you, you, you are correct. And that was always the, the, the issue. And then it, then you'd have to say, okay, if we add a feature to.net, then we have to add it to don at standard. And then developers have to go opt into Donna's standard, uh, into the new version. They have to release a new version of the library and then do other things fall off. You know, it's kind of this like, oh, like, you know, it's kind of tedious, right? But if literally it's just done net that's updating, like you just install visual studio and you have a new features that work on all of the platforms, then that's a lovely day for everybody. Speaker 2: 13:23 Yeah. I'm excited. Um, I, I saw, um, the.net core team had just written a new Jason Parser and nothing against Newton's soft love, my Newton soft. But you know, sometimes he loves speed too so we can get all those libraries and don't have to wait around for them or do it through new or anything like that. It's very exciting. But I think the other interesting part James, is that they are doubling down and by they, I mean all of us, Microsoft and the community are doubling down on AOT ahead of time compilation and it's becoming a real, um, a real proper feature in.net five we've had.net native over on windows. We've had the Xamarin [inaudible] AOT and mannose AOT and now all that nice sweet, sweet AOT technology is going to be across the board available. Well, you know, 90% across the board, but mostly across the board. Speaker 3: 14:24 And this is going to be required. He knew it. And traditionally applications are just in time compiler jaded, if you will. And this.net five is going to have the two modes. And, and you know, we call it Iot, but I don't actually, you know, that is a term now, but what they were saying, I was watching Hanselman and hunters presentation and what they tried to call it was native native, which is of slapped iot. So with this mode it says people are like, oh, what about ahead of time compilation? What about this? Or how does everything compiles different? And it's like, yeah, no, no, no, totally. Like every platform is a little different, which means that the, the compilation that your apple go through is going to have to go be a little bit different because, uh, ios applications are forced to be ahead of time compiled, which is like a really beautiful thing because it means that the code is fast and it just runs really like on the metal. Speaker 3: 15:24 So what this means is that all of core Efax, we'll now be able to go through that static compilation and they're gonna work on supporting as many operating systems as they can and smaller footprints. And then you, you get to decide, you know, if there's an option of I want to AOT this app or naughty, see this app you can assign, there'll be smart defaults. But if you're in a world where you can only AOT he, then that will be your option. Just like it, it kind of has always been. So the idea there is same process is fully supported, it's core or there's not two teams. I think that was a kind of an important part that you talked about earlier is the teams one run faster and add more features faster. And right now they have to do it three times, you know? And how do you make it faster? Well you don't do it three times. You do it once, right? And you have even the same engineers but they can work on one thing instead of three things. And then that would probably be really, really nice to do mean. Speaker 2: 16:21 So you know, as the Unix person, I just love single executable, you know? And there should just be a little binary file that I put in a bin folder. No dependency is it just works. All that stuff. I love that. And it's always been possible. We've always been able to, you can compile your app, you can link it, you can a Ota, you can package it, but you're going to have to read a lot of blog posts. It's going to be a different process on every operating system. You're going to have a lot of scripts. I've done this a lot. I, I'm speaking from experience. The great thing here is that they're embracing that entire pipeline. That's true. Whatever that whole thing and it's just going to be settings in a project file you can say yes, Aot, yes, packaging, yes, link it and the tooling will just take care of it. Speaker 2: 17:09 So I love that, that that mode of distribution has becoming um, mainlined stream, mainstream mind and mainline both of them. Thanks tooling. Yeah. And then I have a second thing that I love and that's that the interpreter, it's funny because the jet is great. The um, core CLR runtime jet, it's fast. It's wonderful. We've talked about performance a lot, but of course it can't be native AOT that that is the absolute fastest. The problem with native AOT is you can't load anything dynamically kind of by definition. It's ahead of time. No. Now time and to get around that, um, we have the interpreter coming along and that's great because that opens up a lot of scenarios on Ios. We've talked about it before, but I just love that these kind of out there edge case technologies, I've been using all this stuff for years but painfully is becoming main line. I just, this is perfect for me. This is exactly the direction I've been pushing. Dot Net, the Koan wanting dot neck to go Speaker 3: 18:19 well. And we sort of saw, you know, I'm obviously very close to the teams and, and you sort of saw that.net itself wanted to move right down and it's been around for so long when a lot of people will try to evaluate like, oh it's, you know, told her whatever. It's like. well.net itself is moving extremely fast and not frame frameworks, not, but mono and core are. And now we can say, well, like all of.net, everything that we're moving, which you can build for everything, going to move super fast. It feels like a real thing that's, that's progressing fast because with this sort of unification is it's not only a unification of the class libraries of the run time of the compilation, but also it means that guess what, you know, um, you can now ship c sharp features that are going to run everywhere and you don't have to worry in wait for Mano to implement. New Features are done at framework, implanting, future this, right. It's, you get everything all at once and it sort of trickles, I think too, that people may not quite understand. The beauty of this is that yeah, everything comes at once. So when you update just everything updates and you get everything right, so you're going to get all of the, the c sharp and f sharp features and the compilation enhancements and, and everything across the board. Um, and, and that's really something that makes me happy at the end of the day. Speaker 2: 19:52 Yeah. Yeah, for sure. I've, um, you know, there's been always a funny question about will we ever see visual studio for Mac running on.net core? And the answer is no, you never will. But you will see it, I think running on.net five and it's fun to see that because for the longest time, Mano Devout Xamarin Studio and visual studio that has been mostly Amano project and, but you know, motto has issues. It's just not always the fastest that you know, has these things. It's Aot is amazing, but it's just not as fast. And I think one of the most exciting things I read about all this unification process is they're going to make a concerted effort to have, um, visual studio for Mac running on Rio jet, which, you know, me performance. I'm just gonna keep saying performance every five minutes in this podcast, such junkie. Uh, I'm just really excited to see that huge product move over to.net core. Let's see, I messed up.no five. And I think it, but you can also see it as a bit of inspiration for those who are on that net framework. To see that you can move a big project over to this. The feature compatibility has gotten really good these days. I think the only places you run our operating system level stuff where you'll always run into problems for the cross platform apps. That's really inspiring to see them push to get visual studio for Mac running on.net five Speaker 3: 21:24 yeah, that'd be super duper Nice. And in fact the ideal scenario then is that since everything is running on don it five itself, then my apps are all running on done at five and it's going to be like this exact same environment I guess that you're, you're running and developing everything in. So if visual studio for Mac is built on Donna at five, then the cool thing is like if they need more features and they have more features and everybody gets the new features, just like when asp.net core is like relying on.net core and they need these performance, you know, enhancements, they put it in and they get it and the rest of.net core gets it. But then not everyone else. And now everyone gets everything. I think that's the important part. Yes. So yeah, Andy, Speaker 2: 22:10 unification, candy and unified here unifying, we'll give you some candy. Yeah. Yeah. It's good timing too because I'm, the new version of Macko s is going to be 64 bit only and so we need to keep moving. Our run times on motto has a 64 bit version for sure. So that's always possible. But you know, that trick with Mac is um, Lotta Lotta, uh, tools like Gd k libraries use some old Api APIs and those old API, these are vanishing in the 64 bit world. So it's exciting to see, um, visual studio really get thrown into the future, the future of the future and become, uh, an awesome 64 bit app using all new Api Apis and hopefully running on a super fast jet or even AOT. Who knows? And we as APP developers can take advantage to, we've already mentioned packaging all these things together. Uh, we've been doing this with UWP and dotnet native, but we can start all taken advantage of this opportunity to get off a older frameworks, older run times and leap on, in to the future. And we're, we're seeing that with.net core three and they're just doubling down with.net five. Speaker 3: 23:32 Yeah, you're right. I think that that's the nice thing is, is everyone is sort of pushing forward. I just got an email from Google that said, hey, you know, you're running some native code. Do you need a 64 bit version? Which is kind of funny. Funny actually talking about 64 version and I can already do that today. So like that's not it, it's not an issue at all. Um, but yeah, it's quite, it's quite an entertaining. So as these platforms at advanced sort of, everything's can advance with it. So yeah, that is, you know, Speaker 2: 23:58 domestic. I hope we don't have a podcast in six months. We're like, James, I can't run any 32 bit apps and everything's broken. Oh my God. But I think it's going to be fine. We've had years of, I mean.net core is pretty mature at this point. We know what it is. Mano is very mature at this point. So the exciting thing is we're just taking mature technologies and squishing them together, making them hold hands together and um, that, that unification of libraries just going to have so many benefits that we're going to survive it. I have faith, I have doubts and I have faith. Speaker 3: 24:32 Well, there's the unification of the runtimes, but there's a unification of when the thing ships. Right. And I think that we know actually know, we know that in six months that nothing is going to ship for.net five. We do know that in six months. Dot. Net core three one will be released for lts support because Donna finally has a schedule. Speaker 2: 24:54 Oh, what we don't do schedules, socks, software, people, you know, if you have a schedule, you're going to miss a schedule. That's why you don't have a schedule. Um, did mano ever have a schedule? I don't even know to be honest. No. No. Okay. So we have a schedule deadlines. We can hold people accountable. Sounds Fun. Tell me more. Yeah, Speaker 3: 25:18 yeah, yeah, it is. You can hold things accountable, but it's also the predictability of it. Now that's not to say that there won't be minor bumps and bug fixes along the way, but we're talking the major releases, you know, the big five.five.six.seven dot eight dot nine nine nine at 25 you know, we actually could predict that out. And this, this is actually really nice and I thought that this was one of the, besides Donna by being cool announcement, I thought that this was a really cool announcement because you know, having to update done at or your, your, your visual studios or your environment is always like when is it updating? What am I on now? And I couldn't necessarily know like, Hey, I need to get ready for the release season. Right? We always talk about Ios and apple and android updating all the time and windows updating. Speaker 3: 26:13 But what about.net and when do we, when is it going to update and when are we gonna get these major features and when is it gonna Rev are going to get new stuff. What? We're going to get new stuff every November and just every November it's there and it's a brand new version. So this is very reminiscent of, I like to think of it as node. Right. You know, you know when you're like node, um, was it no. Dot Dev, is that what it is? Um, on your, the no js website. Okay. So let me, I'm a good schedule. They know js so they have, I don't know if have a schedule, but they, they do, they have a, they have a long lts, longterm support schedule and is a little bit more advanced than the short thing. But in general what it says is this is when no js, 10, 11, 12, 13, 14 are coming out, right? This is when, and here is the one that is active and maintain like here's how long it will be maintained for too. So Speaker 2: 27:12 should we clarify lts? I think everyone probably knows what that means. But the nice idea here is because the versions are going to be moving so fast, there might be cases where you just want to stick to a version. And so the lts version is that version you would stick to if you just want to use.net core three for the rest of your life. You say Nevermore, I never need a new API. I never need a new tool. You would just stick to the lts at least. How long do those go for? Is it five years, 10 years that they keep doing maintenance and security updates for, well, at least no js does 30 months, but less. Um, but I think that's longer just because Microsoft has a better history, more employees, Speaker 3: 27:55 I believe. Don't quote me, I do believe that Microsoft's lts may be five years, but I'm not Speaker 2: 28:03 positive. That's all what I would've guessed here. We are just guessing away. Guessing. I love. Yeah, I love that it's November because yeah, the operating systems update in the summertime, and I remember there would be a few bad years, uh, using Xamarin where the runtime would update along with um, all of Apple's new libraries and everything. And so you had like code breaking and libraries breaking and it was like, oh no, I hate the summer, but now we're going to pace it out. So your apple break because apple broke you in the summer and then hopefully you won't break at all, but you can upgrade your run times, upgrade your versions in November. I liked that pacing. That works for me. Speaker 3: 28:52 Yeah, it's a good pacing and it's at least far enough away from other things. That's good. And it's predictable. So to me as a developer, this is cool. I believe also this is a big win for enterprises and companies that are running sure. Everything. They're like, oh, when does it come out? All right, here we go. It's like, do they know now how long, at least we don't know how long. But it's like somebody will know how long that lts is. So we know, uh, that done at five, which again, this is the future of the future because it comes out in November 20, 20. So we're talking about, Ooh, a lot of money, months, 18 months, that many. And then we know.net six comes out in 2021 done at seven and 20, 22 and eight and 2023, I don't even know. I'll be in 2023 of I do you know don at eight apparently we'll go into lts support. So there you go. Speaker 2: 29:47 Perfect. Perfect. Now let's take a break from the future future just for one second and remind me what the current future is. When is a.net core three officially released Speaker 3: 29:57 or does that out and when was the lts? So great question. Great question. So that is part of the.net schedule cause now don that has a single schedule. So since on that core sort of the, the push forward, there's going to be done at core three, which we'll go into Ga, um, September 20, 19 but then what they're saying is they are going to do a.net core through you one in November to help align. So yeah, yeah, Speaker 2: 30:29 yeah. They, they just got to get the, the initial release bugs out. You know, we all do it. You get that 0.0 out, but you really, you're waiting for that 0.1 classic software development. Uh, that's exciting. Uh, cause I did not know any of those dates and I thought I paid attention to build and I still miss those states. That's cool. I'll finally have a release and we all know c sharp eight, I think I'm going to give c sharp eight a bell soon. It gets a dean. I'm just so excited for it. Speaker 3: 30:59 Sure. It's in the windows version. I know it's coming to Max soon that I'm imagining that it may align with these dates to, and what I would hope to see, this is what this is. I have no inside baseball, literally no inside baseball. But what I would love to see in a world where this, this Donna at five comes out, is that don at five comes out and then that's when c sharp nine comes out, right? And then went down at six come out c sharp 10 like it just keeps going. Like every year you just get a new version of c sharp. Now you get point releases along the way if they want to add new features, but they could sim ship and then everybody gets it. Right. Again, this is the world where everybody gets everything and then it just, it just works and that's a nice, beautiful thing. Speaker 2: 31:44 Yeah. The reason I keep saying c sharp aid is because if you go download a.net core three Beta right now you get c sharp eight. That's the only reason I keep throwing that in there. I don't even know if it's the default, you know, if you do file new project, but we'll find out. I have a feeling they're going to turn it on because why not? And I love this, this yearly cadence, like you said, that's predictable. It's understandable. So when we're up to c sharp, 12 will be like, ah, remember four years ago when we had c sharp eight. Speaker 3: 32:11 Yeah, they, they changed the change this a little bit and it took to get your question about like how it picks on it. So in visual studio 27 teen, what they did is they had a default. So if you had nothing in your cs Proj it would use the latest major release. Speaker 2: 32:36 Right. How do forgotten about this, right. Latest major release. Okay. So that'd be seven right now seats seven and then, Speaker 3: 32:45 yeah. Then if you wanted to use newer features like seven one seven, two, seven, three you had to go turn those on manually. Speaker 2: 32:52 Got It. Yeah. And is that the way it's going to be or are they changing that? Speaker 3: 32:57 No, that has changed. So now in visual studio 2019 it default if you have nothing in your cs, Proj is use the latest. Yeah, Speaker 2: 33:09 just use the latest. Come on, do it. If it's like a 20 meg download, it's fine. Just do it while you're sipping your coffee there in there. It's already in there. So you might as well just yet. Right. So yeah, I'm going in. I'm thinking back to our lightning round question where like should you use the latest language features? Yes. There's a reason they were put there. Um, yeah. Cool. Cool. Ah, James. Um, so what are you going to do with your, are you going to pour all your apps immediately? Do you think it's going to have any effect on library developers? Ooh, I like that question. Yeah. What are you going to do? Are you going to stick to dotnet standard? Are you going to start shipping.net five dlls? Speaker 3: 33:54 There's a good question. So when I was talking to email, we had a conversation about it, but then they also started to sort of talk about it on one of the.net community stand ups a little bit more and people had questions, but at least from the, the standards like not going away. I think they're gonna decide if they're going to just create a new one, like a two.one or three dot o or something. Sure. Um, they do, we do know that the framework is going to stay on Donna's Sandra to Whoa. So the question is like, do you even create a new one? I mean this is to me like I'm thinking this in my head because I was, I'm a library of creating this as implications, but actually I don't think it has any implications because.net five will run every dot and at Standard Two oh, library. Okay. Yes, obviously cause yeah, it'll be a done if five will be a superset yep. Speaker 2: 34:49 Of everything. Yeah. I like that because it's not standard stays the safe zone and w all the work we've been doing for the last years deport her stuff to it. None of that changes. It's still the safe happy zone. Speaker 3: 35:01 It's the safe, happy zone if you want to ensure that your library is going to run and also have this backwards compatibility mode on any of the older stuff. Especially like if people are still building older apps or whatever for some time, but then in the future, right. The future of the future of the future that they'll say three futures out. You know, dot and five is already out. We're in a happy world. You're not everyone's transitioned yet, so you got to give people some time. The question is standards still ship in some standards? Like could you not? Because if everybody's just running this, this is my theory, right? If you, and I was trolling in the chat too because I was like putting on my hypotheses, but if everybody is just running.net five then you don't need a standard because everybody has the same API is and if the tooling works then you just ship a.net five library, like a class library and it just works everywhere. That's the goal. Yep. Speaker 2: 36:02 You think that's the goal? Yeah, it's definitely a possibility and I'm curious to see how the community embraces it, but we all just say yep, to the heck with it. That's all standardize on that one library or do we stick with the interfaces and standards approach by, it's tough to argue, right? I, I liked the interface in standards approach because it's engineering wise, you know, kind of the more clean solution as a better while there's a standard body, there's more people thinking through those things. But as we keep saying, just give me those libraries, just give me the future, just give me that stuff. And it'll be interesting to see f yeah, people just do.net five libraries and they're binary, you know, they won't work on anything but.net five and on forward compatibility, but not backwards compatibility. I'm curious. I really don't have an answer. Um, what will I do? I'm, I take shortcuts, James. So knowing me, I would maybe not for public libraries that I ship out, but definitely for my apps. I'll just target.net five. Speaker 3: 37:08 Yeah. Yeah. Always. For your apps, why wouldn't you get all of them? Speaker 2: 37:14 Because I go crazy sometimes. I'm like, Oh, if I want clean code than I should use.net standards for my core logic. But then other times I'm just like, you're being stupid. You've, uh, is the platform libraries don't over engineer. This is true. Right? Speaker 3: 37:31 It's true. I mean because in a world where like, oh well you may take this code summer, let's do that, you know what I mean? But then yeah, you go, yeah, Speaker 2: 37:38 don't over engineer it. It's always easier to refactor then put artificial constraints on your stuff. Yeah. All right. The future of the future James, that flop really getting ahead of ourselves. Speaker 3: 37:52 We are. We are, but that's okay because you know we announced it so why not, right? It's just like just do it. So, and there's a schedule we're going to hold onto the schedule. Pitchforks, start screaming. Where is our.net five where's my AOT? Yeah, core Microsoft. So, all right, well let's, let's not get too ahead of ourselves even though we are super amped and you know as things get closer, I'm sure we'll be talking about it because just like we've been with you for the last 150 episodes, we'll be with you for the next hundred and 50 episodes and who knows what.net we'll be going through. I want to, I want to go back and our old episodes and I'm like three years ago. Like what? What were we talking about? About with dot. Ooh, funny. You could do a clip show where we just make fun of ourselves are terrible ideas. Speaker 3: 38:40 Yeah, that'd be a pretty since your favorite timestamped clips that he go, there you go. Just go hire an editor for $10,000 an hour to put together a show. He Go Aka me late night doing it. Perfect. Awesome. All right, a coffee. Oh thank you. I appreciate that. Uh, all right frank, we'll go enjoy the rest of your holiday. I'm going to go head off cause it's a three day weekend so hope everyone has, hopefully if you have Monday off here in the u s enjoy your, enjoy your day while listening to this podcast and thanks to the.net teams for creating done at five and we're excited for it to come out, I think. Yeah, yeah, yeah. Where are your sunscreen? That's all right. Everyone have a great day. They you so much. Of course do all the things we would love if you'd leave us a review on apple podcasts at super duper helps us out. Speaker 3: 39:26 We don't ask super often, but if you're there, if you're listening right there, that'd be great. If you're using other platforms such as overcast and you want to share it out, that also helps us a lot. We'd super appreciate that. Share it on the twitters and tell a friend about us, and of course you can write to us. Go to merge conflict RFM. We love those emails, so we like to read them and read them back from time to time on the podcast, but I think it's going to do it for this week's episode. Until next time, I'm James Mountain Magnum Speaker 1: 39:51 and not Frank Cruz. Thanks for listening.