As I wrote before the conference I was glad to see some good speakers on the Microsoft track. So of course I prioritized a couple of these sessions, and went to Mads Torgersens C# talk and to Mads Kristensen talking about tooling in ASP.NET. Well technically Thorgersens talk was on the architecture track, but you get the point.
The new world after Roslyn
The C# talk went a bit more into writing analyzers and codefixes than what I had seen before, so that was quite interesting and one of the very concretely usefull takeaways. The idea is that writing an analyzer is just like working with any object model. No more magic, so writing extentions is becomming something any developer can do and no longer reserved for the minority with too much time on their hands. Torgersen also demoed some of the new language features that I blogged about earlier, but on top of that let slide that primary constructors probably won't make it into the language for the final release in the comming version. The reason is that they want to do more and look at providing recordtypes as well as pattern matching - and want to make sure that they get it right. These are two great features that I miss from F# on a daily basis, so I was glad to hear this. I also aired the idea of make shorthands for stuff like factory methods, which could also reduce some of the boilerplate code that I see a lot.
Mads Kristensens ASP.NET talk was also pretty good, and I like to see Micorosoft thinking about how the entire toolchain can fit together, rather than just building their own tooling. I also got to ask him about his expectations for how many asprin it will take to migrate to ASP.NET vNext, and I was happy to hear that he beleives it will be fairly quick to do - even though they won't provide a wizard for doing it.
Support in VS for cloud and Node looks especially interesting and are some that I really look forward to. I am a bit more sceptic about features targeting Angular and Bootstrap intellisence. I think it is neat as isolated plugins, for those who want it, but I am worried about Web Essentials and maybe in the end VS trying to be a tool for too many specialized frameworks all at once. There is also the political aspect of Microsoft continuing to advocate for bootstrap. It has become the new standard template and, IMHO the world has enough bootstrap sites as it is. I see the point with Angular, because that does not encur the same problems and they have all but won the SPA framework wars. My pet peve here is more with too few thinking about if they need it at all - but I agree Microsoft should support what people are using.
A non religious look into Event Sourcing
Lastly the other talk that stood out for me today besides two great keynotes was Greg Youngs talk on Event Sourcing. He covered how the principles actually go back to people living in caves, and that they are at the core of lots of business models. He then went on to describe how working on an eventstore ensures that we don't loose data that we can't know if we will need later. On the technical side he also got around how this conceptual decoupling enales the use of differente databases, where they are at their strongest. Besides covering the topic and technologies very well, he also took a swipe at service busses and CQRS. He claimed that almost none of us should use service busses, because although it has a few good usecases, most of us will only get more problems by using it. On CQRS he said that it is a "learning pattern" for understanding and talking about some principles - but that it as a pattern is the dumbest pattern ever written. I had not seen that comming from his mouth, but was glad to hear him take a stance on that as well as Event Sourcing being interesting as a targeted pattern but not as an overall architecture.
Of course I haven’t covered any way near all the interesting takeaways from GOTO in these blogposts, but suffice to say it has been a great couple of days. I got to see some amazing talks, and got to talk with some incredibly skilled and nice people. It was good to see that the new format they have moved to this year has worked well, and that I won’t be missing the conference I knew so well from my years in Aarhus.