32 What's New in Visual Basic 14 [w/ subs]



00:00:00 – hi welcome to visual studio toolbox i'm
00:00:10 – your host robert greene and joining me
00:00:11 – today are illusion will shake and
00:00:13 – anthony green navigation was thinking
00:00:17 – what joke would you do about that but i
00:00:19 – decided to pass but you saved me thank
00:00:21 – you
00:00:22 – and they these guys are pm's on the
00:00:25 – languages team and joining me today to
00:00:27 – talk about visual basic and lots of cool
00:00:30 – things that are new in visual basic in
00:00:32 – visual studio 2015 actually awesome
00:00:34 – thanks for coming on the show thanks for
00:00:36 – thanks for having us
00:00:38 – so what's knowing visual basic or a heck
00:00:40 – of a lot of new things this is really
00:00:41 – exciting
00:00:42 – now they're all come together and that
00:00:44 – i'm just really excited to see them
00:00:46 – seriously i spent the past two months
00:00:48 – just writing apps using the new version
00:00:50 – visual studio 2015 RC and every single
00:00:55 – hour several times now right chuckles
00:00:57 – when I have a neat piece of coding using
00:01:00 – the new language features can I show you
00:01:02 – straightaway sounds a little so here i
00:01:05 – have him got a simple method called
00:01:07 – print which takes a patient the patient
00:01:10 – is a class with the name and a health
00:01:12 – and the first thing I notice is if peers
00:01:16 – nothing than through
00:01:17 – argumentnullexception of P now how many
00:01:20 – times have you done something like
00:01:22 – rename its call it patient and then you
00:01:27 – forget to rename the argument no
00:01:29 – exception
00:01:30 – well that's always been a problem so
00:01:32 – what if the new language features every
00:01:34 – frame yet to i usually don't even think
00:01:36 – about it in the first place you can
00:01:38 – forget about something unless you
00:01:39 – thought about it first
00:01:41 – yeah and you just get and then you
00:01:42 – wonder well if you forgot about it then
00:01:45 – when your code doesn't work as as
00:01:46 – expected then you kind of have a sense
00:01:48 – why we never thought about it in the
00:01:49 – first place then you waste time hunting
00:01:51 – it down until you say oh that's why it's
00:01:55 – a historical record of every name that
00:01:57 – variables have had read last 12 months
00:01:59 – of the product development so what we're
00:02:01 – going to do is call this name off p name
00:02:05 – of it doesn't do anything fancy all it
00:02:07 – means is the string literal p nothing
00:02:10 – more nothing less
00:02:11 – but the neat thing about it is that
00:02:13 – if i rename the variable let's go here
00:02:15 – and call it patient then control dot
00:02:19 – rename it and it's renamed the name of
00:02:22 – as well so am I so you can type the name
00:02:26 – first and then controlled that to rename
00:02:28 – yes
00:02:29 – so there are actually two different ways
00:02:30 – to do her name the first time you did he
00:02:32 – use the new inline rename feature where
00:02:34 – you just type it updates everywhere but
00:02:36 – the other way if you forget to do that
00:02:37 – if you you know just aren't really
00:02:38 – thinking about an open the refactoring
00:02:40 – supposedly and start renaming it
00:02:41 – visually you'll notice that you're
00:02:43 – trying to do and they say hey can we do
00:02:44 – this right for you i really love that I
00:02:47 – forget sometimes invoke the factory
00:02:49 – explicitly and the fact that it kind of
00:02:50 – comes in and recovers it and yes a break
00:02:52 – i'm always a great feature always right
00:02:54 – click and rename their yes even better
00:02:58 – go it controlled or it'll be quick i
00:03:00 – want to show you something else that's
00:03:02 – nice about this like I've shown your
00:03:05 – argument no exception but that's kind of
00:03:07 – really boring and everyone hates
00:03:09 – argument no exceptions
00:03:11 – here's one that's really important I'm
00:03:13 – writing sample so of course i have
00:03:14 – dependency properties all over the place
00:03:17 – and here I've got a dependency property
00:03:19 – if i copy this and paste it into a new
00:03:22 – class and rename it because of course
00:03:24 – I'm going to do it for the new thing I
00:03:26 – forget to rename the string right here
00:03:29 – right so what I'm going to do instead as
00:03:32 – I can change this one to name of age as
00:03:35 – well
00:03:36 – cool that means if i wanted to call this
00:03:38 – height rename it controlled dot it's
00:03:44 – picked up that name of it hasn't renamed
00:03:46 – this wonderful right but yet we still
00:03:48 – need to do that so it's not solved
00:03:50 – everything but it's gone some of the way
00:03:52 – they're cool i want to show you some
00:03:55 – other features that I'm really excited
00:03:57 – about in the language there's a bug in
00:04:01 – this code which is it's not particularly
00:04:04 – obvious but the way i wrote my class and
00:04:06 – the way I constructed it is that
00:04:08 – sometimes the health field is nothing
00:04:12 – ok here's an argument no exception I
00:04:15 – hate argument no exceptions let's delete
00:04:17 – that
00:04:17 – now suppose that there had been another
00:04:22 – argument in here there was an malformed
00:04:26 – list and
00:04:27 – validating it so here it's just going to
00:04:29 – throw a nullreferenceexception here when
00:04:32 – it tries to dot into a null value there
00:04:35 – are lots and lots of cases all over the
00:04:37 – place all of your code where you have
00:04:40 – we're now is a completely legitimate
00:04:41 – value and you still want to drop off it
00:04:44 – conveniently and what we've done
00:04:46 – typically in the past is something say
00:04:49 – if a patient is nothing then nothing
00:04:54 – otherwise patient dot name was our blood
00:04:58 – which is a lot of good idea so we
00:05:01 – introduce a new shorthand for that
00:05:03 – patient ? don't name patient ? and dot
00:05:08 – health this ? dot isn't doing anything
00:05:11 – fancy all it's doing is saying hey if
00:05:14 – the thing is no then give me know
00:05:16 – otherwise got into it and you can chain
00:05:19 – them together watch this patient dot
00:05:21 – name dot length i could have who this is
00:05:26 – a bit subtle what this is saying is it
00:05:29 – patient is null then let's skip the
00:05:33 – entire rest of it but if patient is not
00:05:37 – know then got into it as normal
00:05:40 – yep it's a quiz here and your name could
00:05:43 – be now you can put a question mark icon
00:05:45 – name and then we'll deal with an old
00:05:49 – name as well actually we do have no
00:05:52 – health up there so let's put them there
00:05:54 – cool i love the ? don't i'm using it
00:06:00 – everywhere everywhere in my code to show
00:06:04 – you something else that I'm excited
00:06:06 – about if you're like me you really hate
00:06:11 – string placeholders because you get them
00:06:15 – wrong
00:06:15 – like is it zero or is it one here I've
00:06:18 – just got two things which I can manage
00:06:20 – with if I had five or six of them is it
00:06:24 – 0123 is it zero based on one based let
00:06:27 – me show you something
00:06:28 – i'm going to do a dollar here that's
00:06:30 – called a interpolated string i'm going
00:06:34 – to put
00:06:35 – patient ? ? name right inside the string
00:06:43 – and likewise for health so i have an
00:06:49 – anecdote on this that i shared with meds
00:06:51 – i'll share with you guys I was at the
00:06:54 – dev intersection conference and
00:06:55 – scottsdale couple weeks ago giving a
00:06:57 – talk on developer productivity
00:06:59 – improvements in visual studio which is
00:07:01 – ide and debugging and language features
00:07:04 – yeah and so I showed this and i started
00:07:08 – with industry in that format can be
00:07:09 – clunky and you know can be easy to get
00:07:13 – to get wrong and then because I was just
00:07:15 – feeling cheek as it is I've never really
00:07:17 – had that bigger problem string dot
00:07:19 – format on but you guys it was anybody
00:07:21 – here in the audience felt let's string
00:07:23 – dot format was you know bredahl and hard
00:07:26 – to use and nobody said anything like a
00:07:28 – hundred people in the room
00:07:29 – ok fine show this feature in the room
00:07:32 – erupted in applause it was the biggest
00:07:34 – applause lines i got all day
00:07:36 – they didn't think ahead of time that
00:07:38 – there was a problem but when they saw
00:07:40 – the solution they absolutely loved it
00:07:42 – totally let me show you few other places
00:07:44 – where we might use this let's suppose I
00:07:46 – had dim with equals 100 m height equals
00:07:52 – 200 Tim color equals 1 this is just from
00:07:56 – a nap i was writing yesterday I wanted
00:07:58 – to have a dictionary of precomputed
00:08:01 – hashes based on what the current with
00:08:03 – heightened colour were for whatever
00:08:05 – reason and so I had md as new dictionary
00:08:09 – of string and here was a complex object
00:08:13 – that had to construct and I wanted to
00:08:15 – cash and so I said Tim key equals dollar
00:08:19 – of with don't height dot color and then
00:08:26 – the dot add of ki kamar my complicated
00:08:30 – object so i was just using string
00:08:36 – interpolation is a shorthand for
00:08:37 – bundling a bunch of things together and
00:08:39 – that's a really good example let me show
00:08:41 – you another example
00:08:42 – now you don't need tools file name
00:08:45 – equals pixels underscore with underscore
00:08:49 – height dot dat and then I couldn't do
00:08:54 – file open of this particular file name
00:08:57 – what would you see what about running
00:08:59 – out of it i missed the dollar and so
00:09:01 – didn't colorize it properly if I played
00:09:03 – you get in there yeah it would have got
00:09:05 – all right ok let me show you one other
00:09:07 – awesome you sickness have got a
00:09:12 – matrix-matrix 3 by 2 from the system dot
00:09:15 – numerics data space i wanted i'm
00:09:19 – creating it and I wanted to print out
00:09:21 – its values
00:09:23 – I'm not very good at matrix math in my
00:09:26 – head I've it takes to radians here i
00:09:28 – have no idea what this actually is
00:09:30 – producing so wanted to print it out if I
00:09:32 – had to done this with string top format
00:09:34 – i would definitely have got it wrong
00:09:35 – beer here
00:09:36 – what have you used is formatting strings
00:09:40 – right inside the string literal vs this
00:09:43 – element with this string format and I've
00:09:46 – used another brilliant feature which is
00:09:48 – new envious 2015 which is multi-line
00:09:51 – strings have at last come to visual
00:09:53 – basic so I start the string and I just
00:09:55 – have a new line in it that works for
00:09:58 – both interpolated trails like you're
00:09:59 – showing here and regular strings as well
00:10:01 – right
00:10:02 – actually let's run that you know I know
00:10:08 – is going to it i did i did someone say
00:10:11 – anything was it I think the most
00:10:15 – exciting language features that i find
00:10:18 – myself using most certainly going to use
00:10:21 – those features all the time we've got a
00:10:22 – ton of other improvements that we've
00:10:23 – done that are just kind of small things
00:10:25 – here read-only auto props few features
00:10:28 – the people request over the years smart
00:10:29 – name resolution but those are by far the
00:10:32 – most kind of popular the most everyday
00:10:34 – kind of features and not some nuts and
00:10:36 – bolts and today why don't you tell them
00:10:40 – about 70 ID features we've added we
00:10:43 – added a lot of their awesome and I just
00:10:45 – walk off no home alright sure i'll show
00:10:48 – you some of the cool proven to the ID
00:10:50 – because you know this release in
00:10:52 – addition to language features we've
00:10:53 – worked on the sol rosen project
00:10:56 – five years as part of their awesome
00:10:57 – project we've rebuilt so much of the
00:10:59 – infrastructure for the idea that we've
00:11:00 – made it like twice as cool as it used to
00:11:03 – be armed so one of the first things here
00:11:05 – you know
00:11:06 – visual basic developers been asking us
00:11:07 – for years to get kind of the same level
00:11:09 – of our factoring support that we have
00:11:11 – envisioned in c-sharp and with the the
00:11:15 – power of rosslyn virginia 2015 actually
00:11:18 – we have that now so I i have here an
00:11:20 – example of computing the area of a
00:11:22 – circle and if I just wanted to create an
00:11:25 – explaining variable to say what is r0 in
00:11:27 – this case whole you know I know it's the
00:11:29 – radius but may be difficult for someone
00:11:31 – who's maintaining the program i can just
00:11:32 – right-click it and a quick actions and
00:11:37 – introduce a local for CW you see that
00:11:41 – there's now a preview that pops up that
00:11:43 – shows you kind of what their factories
00:11:44 – going to do what it looks like now
00:11:45 – before and after and I just do that is
00:11:49 – actually do that for all occurrences so
00:11:51 – that will pick up all of them and it
00:11:54 – puts me right into an inline name
00:11:55 – session and I name that radius and their
00:12:00 – area of a circle is five times the
00:12:02 – radius x 32 it's interesting a lot of
00:12:05 – the code improvements are involved VNC
00:12:08 – sharp part to get you to write less code
00:12:10 – and here is showing an enhancement that
00:12:13 – gets that and incense me to write more
00:12:16 – code so how did you can weigh those two
00:12:20 – so a lot of that was driven by just a
00:12:24 – customer stereo was talking to customers
00:12:26 – seeing the common actions that people do
00:12:28 – they write a piece of code they say well
00:12:29 – it looks kind of complicated what is
00:12:30 – really happening or in this example you
00:12:33 – know it it becomes brittle because I've
00:12:35 – written out radius in three different
00:12:36 – places and so there's really code
00:12:38 – duplication in that point okay so by
00:12:40 – introducing this extra variable i'm
00:12:42 – making my code more maintainable and and
00:12:44 – reducing the number of places that have
00:12:45 – to update if I decided all of a sudden I
00:12:47 – wanted to use I know the diameter or
00:12:48 – something
00:12:50 – so that's that's the kind of the thing
00:12:52 – there
00:12:53 – we've also got you know this great
00:12:55 – extract method feature where i could say
00:12:59 – i want to take that and put that into a
00:13:01 – method somewhere I can go back to quick
00:13:04 – actions after selecting it's a extract
00:13:06 – method
00:13:06 – and the idea is actually smart enough to
00:13:08 – kind of look at the context around
00:13:09 – what's going on it and you're assigning
00:13:11 – it to this variable called circle area
00:13:13 – you know maybe a reasonable name to
00:13:15 – start out with is get circle here yet so
00:13:17 – given a radius what would that be
00:13:20 – and I'm just able to just invoke that
00:13:21 – and well I now I have this extraction
00:13:24 – method mom it's a really really smart
00:13:27 – smart feature it actually understands
00:13:29 – how to do conflict resolutions if if you
00:13:32 – find out that your kind of using this
00:13:33 – name so let's say I wanted to instead
00:13:35 – just call that visual basic is
00:13:39 – case-insensitive and it can recognize
00:13:41 – that now there's a conflict between the
00:13:43 – local variable and the name of this
00:13:46 – method so it's fully qualifies it so
00:13:48 – there's no issue there so that we try to
00:13:50 – make it where it's always safe to use
00:13:52 – the tooling and if it's not that we
00:13:54 – inform you decide to have the ability to
00:13:56 – extract method into a separate class or
00:14:01 – somewhere outside of that code haha to
00:14:05 – be honest I I think I don't know
00:14:07 – actually we've been working on the move
00:14:09 – method thing so trying to take it as two
00:14:12 – steps from the first ones to kind of
00:14:13 – pull it out into the XP extra context
00:14:16 – and then to move it somewhere else is
00:14:18 – more complicated operation i know with
00:14:20 – are generated from usage feature we do
00:14:22 – allow you to target a different class or
00:14:24 – type right arm in a different file but
00:14:27 – we've generally found for extract method
00:14:28 – that it's its more common that people
00:14:30 – want to extract into the containing type
00:14:32 – of helper function it's a tough balance
00:14:34 – right you're typing away you press ctrl
00:14:37 – daughter you do the quick action menu
00:14:39 – you want to be presented with 20 options
00:14:42 – to do every possible thing you might
00:14:44 – want to do what you want to be presented
00:14:46 – just with the ones you actually are
00:14:48 – important to you right yeah so we've had
00:14:50 – this difficult tension i'm not sure if
00:14:52 – we've got it right but we have got it
00:14:53 – right in most places and certainly
00:14:56 – that's a place where customer feedback
00:14:57 – is mandated if there's something we can
00:14:59 – do to tweak it to make it more
00:15:00 – productive
00:15:01 – by all means you know let us know so we
00:15:04 – know why I'm in here they're just all
00:15:06 – these tiny little great improvements you
00:15:07 – know we talked about we're now
00:15:09 – classifying we give colorization inside
00:15:12 – of the quick info it's no longer to this
00:15:13 – bland black-and-white text we can show
00:15:17 – you when things are necessary for some
00:15:19 – reason
00:15:20 – what kind of one of my favorite singer
00:15:21 – four years you know I've been trying to
00:15:24 – figure out what things are reference
00:15:25 – because sometimes i'm missing an
00:15:27 – assembly reference visual basic
00:15:29 – developers have repeatedly told us hey
00:15:31 – could you make that references no
00:15:32 – visible cause i'm walking through
00:15:33 – something i need to add a reference and
00:15:34 – I can't tell what's there because we
00:15:36 – have this project properties dialog for
00:15:38 – vb well with this release finally we
00:15:40 – added the note back we kind of took it
00:15:42 – away in 2005 to can simplify things but
00:15:45 – since then more scenarios will appear
00:15:47 – where people have really needed so we
00:15:49 – beyond hit that so you have to show all
00:15:51 – files and you can actually show that
00:15:53 – which actually kind of bring wait let me
00:15:56 – what that means to me is I managed to
00:15:59 – get references like on a daily basis
00:16:02 – right click on the references notes
00:16:04 – management get is where I want to do it
00:16:06 – yeah so i'm really delighted about that
00:16:08 – super excited this really we just that's
00:16:13 – how we measure the success of the
00:16:14 – release we just had to go and illusions
00:16:15 – office that we just wrote the things and
00:16:17 – like if you ever like stops grinning we
00:16:20 – know we need to go back to work
00:16:21 – he just passes out with all right s***
00:16:23 – actually another valuable thing about
00:16:26 – this references notice that without
00:16:28 – added a sub note under it for analyzers
00:16:30 – analyzes a new feature that we've added
00:16:32 – to both the languages that's built on
00:16:33 – the phone i get into an entire show on
00:16:35 – that
00:16:36 – yes yes we are in a while and will be
00:16:39 – awhile couple months probably that we're
00:16:41 – going to do a whole month days weeks
00:16:43 – years one of those are analyzed this
00:16:46 – great feature you know visual basic has
00:16:47 – has always had you know this great live
00:16:50 – error system where you know if you you
00:16:53 – know type of program role for some
00:16:55 – reason if I go in here and I spell
00:16:57 – radius which it wouldn't happen because
00:16:59 – we have intelligence but you know that's
00:17:03 – got this great feature where it shows
00:17:05 – you alive squiggle and you can hit
00:17:08 – control dot and it will go in and
00:17:10 – suggest all these fixes that you can do
00:17:12 – none of which is actually the
00:17:14 – appropriate fix but well who we've
00:17:17 – expanded that out so that it's more than
00:17:19 – just the compiler team or the ID team
00:17:21 – who is able to write these four great
00:17:23 – features now you can write your own you
00:17:25 – can actually write extensibility to plug
00:17:27 – in the compiler that finds common
00:17:29 – programming mistakes that aren't
00:17:31 – necessarily here's
00:17:32 – around like I don't know miss the
00:17:34 – spelling a word in the name of the
00:17:35 – method more enforcing capitalization or
00:17:39 – naming conventions exactly wanted to do
00:17:42 – something like that
00:17:43 – any type of style convention fortunately
00:17:45 – be as escapes the brace Wars of the
00:17:48 – c-sharp and c++ curly brace languages
00:17:51 – but there are still tons of things that
00:17:53 – we be developers can argue about
00:17:56 – and now we can use these analyzers to
00:17:58 – enforce our will
00:17:59 – so between analyzes a quick fixes we've
00:18:01 – opened that system up so that it's it's
00:18:03 – it's anybody can now contribute to that
00:18:05 – great experience that we have built
00:18:06 – their the last thing i want to say thats
00:18:10 – really excited about the idea and I show
00:18:11 – you some features that are good for code
00:18:13 – editing but I spent a lot of my time
00:18:16 – actually debugging existing applications
00:18:19 – don't know about you guys but I have to
00:18:21 – maintain well the compiler home but
00:18:24 – maintaining applications be part of my
00:18:26 – my my day-to-day and that means
00:18:29 – debugging and we've made some serious
00:18:31 – improvements to bugging in which is
00:18:32 – usually 2015 based on community request
00:18:35 – so let's uh let's just roll back a
00:18:40 – little bit here you can switch to the
00:18:43 – other project with the list of patients
00:18:44 – if you wanted to actually that might be
00:18:47 – a little rich because then it's gonna
00:18:51 – show so the airport improvements so now
00:18:54 – the project there are so many projects
00:18:57 – here sorry what you want
00:19:00 – yeah we should call that module to home
00:19:05 – so actually the first thing you know how
00:19:08 – to do let's say that I had taken that
00:19:12 – argument exception and left that in
00:19:14 – there and it had blown up and you want
00:19:16 – to go and figure out when things go
00:19:18 – wrong so that you start debugging accept
00:19:23 – that as the startup project there we
00:19:28 – kill you
00:19:32 – right so i get to this point here and i
00:19:35 – know that i've got this list of patients
00:19:37 – and I just want to go examine it in the
00:19:41 – watch window where the immediate window
00:19:43 – and so i can just say okay patients and
00:19:50 – that gives me six but let's say this
00:19:52 – list of hundreds of patients and you
00:19:54 – can't really tell you know which one is
00:19:56 – is no I could go scanning through
00:19:59 – looking for the one that says nothing
00:20:01 – which is easy to find but you know but
00:20:04 – you can just do is in your code write
00:20:06 – the query to get what you want and then
00:20:09 – leave it in there
00:20:10 – yeah I told i'm back again I could use
00:20:13 – edit continue so you know you know which
00:20:16 – one is no calls from PE in-patient where
00:20:25 – p is nothing come back here and second
00:20:35 – next 800 turn some of the ambiguity
00:20:41 – let's put it here
00:20:45 – alright so I've come here and I don't
00:20:49 – think this is actually that good of a
00:20:50 – demo I'm going to think about it just
00:20:52 – because it's just going to come back
00:20:53 – with know and we'll find out if there
00:20:54 – wasn't it if it wasn't then we still
00:20:56 – don't know but let's let's take it
00:20:58 – anyway um step this afternoon it's up
00:21:06 – here and it is 15 but you have to press
00:21:09 – the function key on this surface pro 10
00:21:11 – me and there we go
00:21:13 – alright and so it correctly you know
00:21:16 – produces this iterator which if we go
00:21:18 – and we start examining the results you
00:21:21 – know has a single element in it which is
00:21:22 – nothing that's pretty much the idea was
00:21:24 – well that's how you do it quick but
00:21:26 – something i didn't notice into you
00:21:28 – mentioned other people who are paid by
00:21:29 – the hour
00:21:30 – you know when I started this out i
00:21:32 – wanted to show a different feature but
00:21:33 – when you mention that i decided to do it
00:21:35 – because something that I did took for
00:21:37 – granted when I just did this was that
00:21:38 – you can't write a link weary and edit
00:21:41 – and continue time in 2013
00:21:43 – that's actually knew in 2015 you have to
00:21:45 – actually stop you have to stop right
00:21:47 – anytime that you use link or lambdas you
00:21:49 – have to stop your debugging session and
00:21:51 – 2015 we actually improved editing
00:21:53 – continue so that you could actually add
00:21:54 – these simple queries at the bug talking
00:21:57 – all that you was perfect for any
00:21:58 – language but now I don't have to stop my
00:22:00 – stop the program anymore to go right the
00:22:03 – temporary query inside my code to be
00:22:07 – able to look at a variable at runtime
00:22:09 – i'm going to set up here I can actually
00:22:11 – do this actually do you one better
00:22:13 – you don't even have to write the temple
00:22:14 – temporary code and just pop in here you
00:22:17 – can have to paste that into the
00:22:19 – debugging window and we can actually run
00:22:21 – that lambda in the watch where the
00:22:23 – immediate vicinity of your one of those
00:22:25 – immediate window tights you can paste
00:22:29 – that in there say two lists and whatnot
00:22:34 – absolutely one of my favorite features
00:22:36 – in the whole product right here i love
00:22:38 – this one
00:22:39 – you know mine too i love link i'm using
00:22:41 – linq all the time i'm so used to
00:22:42 – examining data and expressing myself in
00:22:45 – that way and in the past I've been
00:22:46 – unable to do that in the debugging
00:22:47 – experience that's really something i
00:22:49 – think this is our top uservoice request
00:22:51 – that we had I was like 10,000 people
00:22:53 – saying mix lambdas in debugging and we
00:22:55 – were so happy to finally get that
00:22:56 – slammed in there
00:22:57 – I'm so these improvements you know looks
00:23:00 – into other language features as well so
00:23:02 – you know if you you don't want to make
00:23:04 – the mistake of saying I want that guy
00:23:07 – dot single or default this is actually
00:23:20 – it just meaningless code but name and so
00:23:24 – you know Lucien demonstrated the the
00:23:25 – question dot feature earlier you know
00:23:29 – but what this shows is that now you can
00:23:31 – use those same features in the b*****
00:23:32 – and Italy resilient to the nose as well
00:23:35 – so you finally we're adding features of
00:23:37 – language and they're not not working in
00:23:39 – the department we we have some previous
00:23:40 – releases so that's the thing that's got
00:23:42 – me really excited not as a side of the
00:23:44 – solution but as you can see solutions
00:23:46 – very excited about all of these things
00:23:48 – so those are some of the things that
00:23:50 – we've redone the ID there are other kind
00:23:52 – of small improvements there those are
00:23:54 – the kind of highlights
00:23:56 – but i want to see all this in action
00:23:58 – talk more about kind of the platform at
00:24:00 – building experience because you know
00:24:01 – visual basics always got a great history
00:24:03 – building these client rich client
00:24:05 – applications and we've got some
00:24:07 – improvements there thinking she was
00:24:08 – gonna talk to you about cool yeah you
00:24:12 – know just because we do there's
00:24:14 – something that was grating on me with
00:24:16 – that previous demo that I do want to go
00:24:18 – back and have a look at why didn't this
00:24:21 – used string interpolation when that have
00:24:22 – been nicer
00:24:23 – yeah and it's kind of a pain going
00:24:27 – through your courage and changing all of
00:24:28 – them into string interpolation i wrote
00:24:32 – an analyzer plugin which I don't have it
00:24:35 – on this machine to show you there's
00:24:37 – actually open source project called code
00:24:39 – cracker which does easy kinds of things
00:24:41 – as well you add a reference and you get
00:24:44 – to know get package from code cracker
00:24:46 – and then you right click here and it
00:24:48 – puts a kind of a green squiggle into
00:24:51 – this saying hey you could have been
00:24:52 – using string interpolation to
00:24:54 – right-click and it turns it into a
00:24:56 – string into a place version and it does
00:24:59 – that is that it carries an analyzer
00:25:00 – inside the nuget package so you just
00:25:03 – have to add a new get package and you
00:25:04 – get this wonderful value in the IDE yeah
00:25:07 – that's really super exciting so because
00:25:10 – you do have a large code bases are going
00:25:11 – to go through it all and let me go find
00:25:13 – these an update that but now it makes it
00:25:15 – like really quick to modernize your code
00:25:17 – yes something people have been asking
00:25:20 – about they said look I want to update my
00:25:23 – solution to the new version of visual
00:25:25 – studio but it's only showing me the top
00:25:28 – hundred errors so i have no idea how big
00:25:31 – a work that will be 400 warnings or if i
00:25:34 – add a new analyzer I want to know just
00:25:36 – how much of the project that will impact
00:25:38 – we used to have a limit of just a
00:25:40 – hundred errors to keep responsiveness
00:25:42 – out but will change that now we've got
00:25:44 – unlimited errors and we still got the
00:25:46 – responsiveness up I don't know the
00:25:48 – perfect thing didn't that they did on
00:25:52 – the subject of Perth vb compilation is
00:25:55 – about fifty percent faster now than it
00:25:57 – used to be
00:25:59 – that's a result of rewriting the
00:26:01 – compiler yeah we're rewriting all in vp
00:26:04 – and now it's a lot faster we be way
00:26:06 – faster than C++ actually part
00:26:09 – the we are detecting of everything was
00:26:11 – to take advantage of the mutability so
00:26:13 – we could use concurrency the old
00:26:14 – compilers for example were a
00:26:16 – single-threaded no matter how many
00:26:17 – course you have on your box i know i've
00:26:18 – got like an ape or a core machine and no
00:26:22 – matter how many course you have it still
00:26:24 – let me take one of them to build
00:26:25 – everything with usually 2015 and the gnu
00:26:28 – compiler actually can use all of your
00:26:30 – core so that you don't have idle cpu
00:26:32 – time going and that make sure build that
00:26:34 – much faster
00:26:35 – that's really important for you have
00:26:37 – large single projects you know ms build
00:26:39 – has a way to build multiple projects
00:26:40 – currently if you have a bunch of
00:26:42 – products in your solution but you have
00:26:44 – one project that's very large that's
00:26:46 – what you're really going to see the
00:26:47 – improvements because it can compile all
00:26:48 – the different methods concurrently and
00:26:50 – that makes things that much more
00:26:51 – responsive cool to show you something
00:26:54 – else here I'm looking at this solution
00:26:57 – explorer for my project and we've got
00:26:59 – something new for VBS 2015 which is
00:27:02 – shared projects they made a tentative
00:27:05 – showing and fierce 2013-14 sharp but now
00:27:08 – we've done improperly from the ground up
00:27:10 – so i have one application here called
00:27:13 – console app one another one called
00:27:15 – console app too and i have a shared
00:27:17 – project which is in fact referenced by
00:27:20 – both of them you can see this is
00:27:22 – referenced on to the references node now
00:27:24 – shared project is different from a class
00:27:27 – library or a portable class library shed
00:27:30 – project is just a bunch of source files
00:27:32 – which get incorporated into all of the
00:27:35 – projects that reference right now that
00:27:37 – lets you use hash if and other construct
00:27:41 – and show you something quite interesting
00:27:44 – why would i be using this typical
00:27:47 – scenario is say of writing the same
00:27:49 – application for different platforms
00:27:51 – maybe xamarin to run android and then
00:27:54 – windows to run Windows Phone and Windows
00:27:57 – 10 maybe my viewmodel is mostly the same
00:28:01 – between the two but slightly different
00:28:03 – in some respects
00:28:04 – so here I've got a few module that few
00:28:06 – model is defined one way in one of the
00:28:09 – projects in a different way in the other
00:28:12 – project and if i do X dot it can show me
00:28:17 – some methods like common methods that
00:28:19 – are common between both of them and it
00:28:21 – can also show me other
00:28:22 – methods like in at one only with a
00:28:25 – warning icon because it's only present
00:28:27 – in one of the project so i get the
00:28:29 – warning straight up as i'm typing if i
00:28:32 – do thi pitch high pop-up the air list
00:28:37 – the earliest is actually populated by
00:28:40 – Semel taneously in the background
00:28:42 – compiling both projects at the same time
00:28:44 – so it shows
00:28:45 – hey this isn't working in the other than
00:28:47 – double fail their elder actually one of
00:28:50 – the buildings will fail the other will
00:28:51 – work exactly the way i can choose which
00:28:55 – one 1 i'm looking at is this new thing
00:28:58 – in the navigation pane currently it says
00:29:00 – I'm looking at it with respect to this
00:29:02 – head
00:29:03 – let's look at it with respect to this
00:29:05 – other head and now it becomes an actual
00:29:09 – squiggle in there and I can hover over
00:29:11 – it and it will show me that it's not
00:29:12 – available in one of the great i invoke
00:29:16 – this common method i want to show you
00:29:17 – something kind of sneaky about that this
00:29:20 – common method is an extension method
00:29:22 – actually it's an extension method inside
00:29:27 – one of the projects an extension effort
00:29:35 – here but it's an instance method in the
00:29:38 – other one and when I'm editing my shared
00:29:41 – project it's smart enough to know let's
00:29:44 – watch that again
00:29:46 – I mean it still shows the extension
00:29:48 – method icon because we haven't yet
00:29:49 – invented an icon which says I'm half an
00:29:51 – extension and one project a real in see
00:29:53 – any other so it shows something but it's
00:29:56 – smart enough to know that this method is
00:29:58 – not problematic between the two projects
00:30:01 – right that's really useful if say one of
00:30:04 – the platform has a bunch of extension
00:30:06 – methods to patch up the deficiencies in
00:30:08 – the platform itself is that what you
00:30:10 – mean by doing it properly this time
00:30:13 – yeah actually the half-hearted version
00:30:16 – we had previously for C sharp only
00:30:19 – worked for AP is that were part of the
00:30:21 – windows 8.1 platform windows 8.1 windows
00:30:25 – phone 8.1 now we've extended to
00:30:28 – absolutely everything if there are new
00:30:29 – gets extension methods anything are
00:30:31 – going to benefit from these light bulbs
00:30:34 – cool
00:30:35 – I'm action universal apps now you'll
00:30:40 – know that if you are using vs 2013 you
00:30:44 – didn't have a file new to create a
00:30:46 – universal Windows app shared between
00:30:48 – phone and store you could still create
00:30:51 – them of course you just had to create
00:30:53 – the individual projects themselves and
00:30:54 – share them using portable class
00:30:56 – libraries now i'm happy to say that file
00:31:00 – new project creating vb windows
00:31:04 – universal I can create universal Windows
00:31:07 – projects out-of-the-box in vb an RV is
00:31:11 – basically the exact same kinds of
00:31:12 – windows universal Windows absolutely
00:31:14 – were in the previous version now these
00:31:17 – are targeted Windows 10 in the previous
00:31:20 – version though was still hearted
00:31:22 – universal apps that was still creating
00:31:24 – two separate projects but we're doing
00:31:26 – here now in orders 10
00:31:28 – it's called the universal Windows
00:31:29 – platform you create a single project a
00:31:32 – single code base a single project in
00:31:33 – visual studio compile it once and it
00:31:36 – works across all different platforms
00:31:38 – hollow lens Internet of Things arduino
00:31:41 – as well as phone and desktop and tablets
00:31:44 – and so if you go into windows 8
00:31:46 – universals is that sported for really
00:31:48 – now so we still haven't created a
00:31:51 – universal solution for windows 8 and
00:31:54 – actually doing one would not be a good
00:31:56 – idea why because windows 8 on the
00:31:59 – desktop is going out because people are
00:32:01 – going to seriously be upgrading to
00:32:03 – Windows 10 and Windows 8 Phone is not
00:32:07 – well served by doing file new universal
00:32:09 – 8.1 so starting here with Windows
00:32:12 – universal and if you want
00:32:14 – Oh thrown eight thing then you will
00:32:16 – create it under Windows 8 Phone and if
00:32:19 – you want to share you have the choice
00:32:21 – you can share with shared projects all
00:32:23 – with portable class lampreys are the
00:32:25 – best experiences gotta be on Windows 10
00:32:27 – because it's truly Universal and never
00:32:29 – gonna go back in there in a lowercase
00:32:31 – the you and the other words whether it's
00:32:32 – universally should put a warning icon
00:32:36 – next to it saying hey do you really want
00:32:38 – to do this
00:32:39 – claro at as a as a vector which is
00:32:42 – universal mean digress for a second
00:32:45 – I've heard two different explanations
00:32:47 – for why the
00:32:48 – The Hub app and the grid app templates
00:32:52 – are not in there yet
00:32:53 – I've heard and i think it was from you
00:32:54 – that we decided that we should do them
00:32:56 – as samples i heard from somebody else's
00:32:59 – explanation was that it caused too many
00:33:02 – look like apps in the stores in the
00:33:05 – store because everybody started with
00:33:07 – grid apps or or split apps or hub abs
00:33:09 – it's really interesting they're both we
00:33:13 – looked at the outer limit tree and what
00:33:15 – we discovered so what you're referring
00:33:17 – to is in windows 8 there were lots of
00:33:19 – different cells the hub the grid
00:33:21 – discovered that the reason people are
00:33:23 – doing file new harbour from your grid
00:33:25 – was to learn how the hog a design worked
00:33:29 – and how these animal control's work once
00:33:31 – that learns about it they copied and
00:33:33 – pasted code from this thing and they
00:33:35 – pasted it into a file new blank now
00:33:38 – copying and pasting code is not the most
00:33:40 – robust way to create a project and it's
00:33:43 – not the best way to learn it what you
00:33:44 – really want is to go to a learning
00:33:46 – resource which tells you what is the
00:33:48 – minimum effective thing you need to
00:33:50 – unite into your project you don't want
00:33:52 – to have to do that archaeology yourself
00:33:55 – so they weren't serving people well okay
00:33:58 – we all right i want to i don't know i
00:34:02 – was just playing around with windows 10
00:34:04 – apps
00:34:05 – here's a falling sand game and that
00:34:08 – thing launch so snappily it was already
00:34:12 – running this is a fun kind of app it's i
00:34:18 – can draw brick here i can draw sand in
00:34:23 – the central just fall over
00:34:25 – I am can rotate it huh and has changed
00:34:30 – gravity goes on its side now I think the
00:34:36 – recording studio isn't setup to record
00:34:40 – what happens if i unplug my tablet and
00:34:43 – rotate the physical device in response
00:34:45 – to be orientation correctly and switches
00:34:47 – around and it because it's a universal
00:34:49 – app using the wind 10 module it's a
00:34:51 – single project it runs great on the
00:34:53 – phone as well so no problems there
00:34:56 – another thing that's exciting about this
00:34:58 – so VB universal app that I'm writing
00:35:01 – it's using direct 2d graphics
00:35:04 – acceleration normally if we write
00:35:07 – something like this if we're simulating
00:35:08 – 640 by 480 pixels trying to do
00:35:12 – computation on every single one of them
00:35:14 – it's too slow to be real time what i did
00:35:16 – was i uploaded everything to the
00:35:19 – graphics accelerator so it runs it 120
00:35:24 – frames a second if i want to go that
00:35:26 – fast again it's really exciting i
00:35:29 – started playing around with graphics
00:35:32 – acceleration we've done a bunch of
00:35:34 – things in windows 10 we've got well as
00:35:40 – the standard Microsoft library called
00:35:41 – win 2d graphics acceleration you can
00:35:44 – also use mono game or sharp TX for other
00:35:47 – graphics and directx needs and that's
00:35:52 – great for low-level programming of the
00:35:54 – GPU if you want this kind of class mats
00:35:57 – on the other side we've got system dot
00:36:00 – numeric stock vectors i showed you the
00:36:02 – matrix earlier this is a type where if
00:36:05 – you use it in your code just like I
00:36:07 – showed you when i created creates q and
00:36:09 – I printed it out i can do matrix and
00:36:12 – vector multiplication addition all of
00:36:14 – these useful stuff especially important
00:36:16 – for doing 3d stuff or colors or anything
00:36:19 – like this and those are accelerated on
00:36:23 – the cpu using simdi single instruction
00:36:26 – multiple data so special instructions on
00:36:28 – intel chips on AMD chips that just do
00:36:31 – four things at once in a single clock
00:36:34 – cycle rather than having to do it four
00:36:36 – times so if you use those numeric types
00:36:38 – you get performance increase for free
00:36:41 – cool that's exciting here there's
00:36:44 – another really important part of
00:36:46 – performance that's being introduced with
00:36:49 – Windows 10 apps so i need to open my
00:36:52 – windows 10 app
00:36:57 – this is the falling sands demo that i
00:37:01 – showed you also the one with this
00:37:03 – dependency property i'm going to switch
00:37:06 – into release build when I build this
00:37:13 – project in release it's not going to be
00:37:18 – a good time because it's going to take
00:37:20 – two minutes despite being a slow app now
00:37:23 – we're working to bring that time
00:37:24 – compile-time down but what those two
00:37:26 – minutes buys you is phenomenal
00:37:28 – what it's doing is it's taking your
00:37:30 – familiar vb code and it's taking all of
00:37:35 – the dotnet framework it's bundling them
00:37:36 – together and they're all in il now
00:37:39 – traditionally this intermediate language
00:37:41 – was run by the seal are wrong time it
00:37:44 – had to get each method blood that was
00:37:47 – interrupt what it does is it looks at
00:37:50 – your entire program it does super
00:37:52 – aggressive use the word super again it
00:37:54 – does highly aggressive unless a super v
00:37:57 – sure yeah it optimizes your coat it
00:38:02 – optimizes the heck out of your code it
00:38:05 – looks at your code it discovers every
00:38:07 – single possible code path that will
00:38:08 – never be reached and it proves that it
00:38:11 – looks at all of the serialization code
00:38:13 – you're using data contract Jason dotnet
00:38:16 – any kind of serialization and rather
00:38:18 – than doing that fire reflection at
00:38:20 – runtime it does that at compile-time it
00:38:22 – pretty generates the serialization
00:38:24 – Roxy's so that's really fast and then it
00:38:27 – takes all of this and it turns it into
00:38:29 – pure native machine code using the same
00:38:33 – aggressive optimizing backends the c++
00:38:36 – compiler so what we'll end up with when
00:38:39 – it finishes in two minutes
00:38:41 – this is a surface pro one so it's still
00:38:44 – slower and more modern machines it takes
00:38:46 – a minute and we're going to improve the
00:38:48 – speed what you end up with is a single
00:38:50 – self-contained application that contains
00:38:53 – your code and all of the library's
00:38:55 – reference and the version of the dotnet
00:38:58 – framework your reference shrunk down all
00:39:00 – of that into currently it's about I
00:39:03 – don't know my app with the falling
00:39:05 – sounds demo works out it's about 6
00:39:07 – megabytes so a fairly decent size for
00:39:10 – dip
00:39:10 – going to customer devices once it's all
00:39:13 – in top native because there's no s***
00:39:15 – anymore startup time drastically
00:39:17 – improved fifty percent faster faster
00:39:20 – startup time i'm paying a little bit
00:39:22 – here in compiled time but every single
00:39:24 – customer of my app will just get much
00:39:26 – faster but this only happens lower belly
00:39:28 – like right that's all you have is a
00:39:30 – really nice isn't that you you taking
00:39:32 – the time to build in debug mode in and
00:39:35 – made that longer this is only in release
00:39:38 – mode
00:39:38 – absolutely and actually are staying
00:39:40 – debug most of the time because that way
00:39:42 – I get editing continued improvements and
00:39:44 – all of the other by the way
00:39:46 – another thing is that when you're
00:39:47 – developing safe phone apps you're
00:39:49 – connected to an emulator in the past we
00:39:54 – didn't have any just continued support
00:39:55 – for that now we do in visual studio 2015
00:39:59 – cool i think we see where Lucien
00:40:02 – super-excited don't ya you're super
00:40:04 – excited hehe so this this is a Windows
00:40:09 – 10 only thing done that native currently
00:40:12 – its Windows 10
00:40:13 – really yeah right we wanted to introduce
00:40:16 – it slowly so you know it guys introduce
00:40:18 – it in a controlled environment and
00:40:20 – actually we're introducing it there
00:40:22 – because it's a massive increase on what
00:40:26 – used to happen on phone on phone
00:40:29 – it used to be that we needed to release
00:40:31 – build it a small amount of optimization
00:40:34 – before it went on the device now with
00:40:36 – what's the phrase given it a blast of
00:40:38 – the spice reason we've kicked it up a
00:40:41 – notch the advice weasel the future our
00:40:46 – reference ok so you can map out looking
00:40:50 – you write these after these platforms
00:40:51 – quite awesome apps for these platforms
00:40:53 – yeah cool
00:40:55 – very good alright Marv is that it you
00:41:01 – know i think i've done talking about
00:41:04 – what's new in the box and I think we've
00:41:07 – given a strong indication of how the
00:41:09 – ecosystem for.net has become much
00:41:12 – stronger
00:41:13 – ok ecosystem for vb has become much
00:41:15 – stronger and how just the editor
00:41:18 – experience of writing code will be
00:41:19 – massively so we should talk a little bit
00:41:21 – about open source at this point
00:41:24 – you know we we've we've talked a lot of
00:41:26 – bad how the languages are open source
00:41:28 – and roselyn's open source and I think
00:41:30 – people are very aware that you know C
00:41:33 – sharp as open-source invitations to come
00:41:37 – and join us and see what we're doing the
00:41:39 – B is a hundred percent the same thing
00:41:41 – right
00:41:42 – absolutely let's check it out can I go
00:41:44 – to this computer and then now i have to
00:41:46 – type in rosslyn which is the code name
00:41:49 – if the VNC shop compilers and ID and all
00:41:52 – of that and get hub dotnet / Roselyn
00:41:57 – there we are here is the source code for
00:42:01 – the vb compiler ok a team is doing all
00:42:03 – of their development work in the open
00:42:05 – every single bug that gets filed gets
00:42:08 – filed up here every change sets that the
00:42:10 – team doctor or anyone in the community
00:42:12 – submitting requests they all go through
00:42:15 – here I actually filed a couple of ones
00:42:17 – on the issues tab let's see maybe
00:42:22 – incorrectly offers a cast is redundant
00:42:25 – quick fix
00:42:26 – look i just filed it and they fare have
00:42:31 – already signed it to someone that's cool
00:42:33 – ok so they assign it to you as I would
00:42:38 – think yeah thanks Anthony that's what
00:42:41 – I'm appreciative about you know it's so
00:42:44 – everything's there in the open we can
00:42:46 – see what's happening we can finally
00:42:49 – shoot everyone can file issues it's a
00:42:51 – really nice responsive way
00:42:53 – what I love is when I file a bug here I
00:42:55 – see immediately what's happening i see
00:42:57 – how all of the developers are talking
00:42:59 – about it as complete transparency now we
00:43:02 – still have uservoice right we're still w
00:43:05 – voice we're not saying stop using user
00:43:07 – boys come to get hub and and tell us
00:43:10 – what you want their right
00:43:12 – no but the nature of the conversations
00:43:13 – is in a little different user voice is
00:43:15 – very much about people kind of voting
00:43:18 – and and uploading things and there's a
00:43:20 – more direct engagement with the broader
00:43:22 – product team so we still engaging in
00:43:23 – uservoice but here we also talked about
00:43:25 – a lot of implementation things and you
00:43:28 – know this is where people go if they
00:43:29 – really want to contribute so for example
00:43:30 – one of our passion DB community members
00:43:32 – name is Adam Adam state 2008 actually
00:43:36 – spent a lot of time working on
00:43:37 – improving some code that was in the
00:43:39 – parser and kind of making it more
00:43:40 – maintainable and so he was just working
00:43:43 – so hard on it you know he was trying to
00:43:45 – fix all the stuff that we we kind of
00:43:46 – overlooked and send a PR and went
00:43:50 – through all the code review feedback
00:43:51 – with us and he gotta check in and we got
00:43:53 – a free mug out of the deal actually with
00:43:55 – this hash of his is check in there and a
00:43:58 – note so where it's open source the open
00:44:02 – source community is contributing to it
00:44:03 – would like to see more people go and do
00:44:05 – that if I just want to feature right i
00:44:07 – just want when I extract method i just
00:44:09 – want the ability to put it somewhere
00:44:10 – else so just go ahead and implementation
00:44:12 – details that's your job i just want the
00:44:14 – feature i should go to use your voice
00:44:16 – enter that and get other people to vote
00:44:18 – on it if I have ideas about how it's
00:44:20 – going to work phone actually play around
00:44:21 – with the code and write some code maybe
00:44:23 – that shows you how it works and I
00:44:25 – wouldn't do that and use your voice said
00:44:26 – come over here or i might do both right
00:44:28 – back going to use your voice to get
00:44:30 – other people to agree to it and then
00:44:32 – come over here to actually helped right
00:44:34 – it is that occasionally thing Robert
00:44:38 – maybe you could implement it yourself
00:44:40 – and then you could submit a pull request
00:44:41 – will accept it see now you're pulling
00:44:43 – the assignment tool trick always to show
00:44:47 – you one other tool that I love it when
00:44:49 – people use on here visual studio 2015
00:44:55 – the smiley face you click on it and
00:44:57 – smile centre frown i'll click on center
00:45:00 – frown if there was a problem
00:45:01 – hey this ran too slow and into Center
00:45:06 – frowned and if I choose a category of
00:45:10 – visual studio crashed it's not
00:45:11 – responding or something or something
00:45:13 – seems too slow i can actually hit the
00:45:15 – start button and record a trace of what
00:45:18 – was happening that means that that's
00:45:20 – brown that you sent has huge amount of
00:45:23 – actual actionable feedback for us to
00:45:26 – look at so use voice center frown and
00:45:28 – get up we look at all of these actively
00:45:31 – okay and anyway one plug i want to make
00:45:35 – is at this stage in the game we really
00:45:38 – want more people using dotnet native we
00:45:40 – want them building windows 10 apps
00:45:42 – switching to release mode building and
00:45:45 – running we want to see how quick it's
00:45:47 – going we want to see if they have
00:45:48 – compile time error
00:45:50 – from that aggressive optimization we
00:45:52 – want to hear if it's running correctly
00:45:53 – right because the future whenever you
00:45:56 – submit the store app it will always be
00:45:58 – going through dotnet native so we want
00:46:00 – everyone to jump on the darknet native
00:46:02 – bandwagon immediately there is you know
00:46:04 – some discussion about like expanding out
00:46:06 – the functionally retarded native to you
00:46:08 – know other apps in like desktop apps but
00:46:12 – you know you say you have to crawl
00:46:13 – before you can run and wherein the
00:46:15 – crawling phase and and you guys can
00:46:17 – really help us get to that running phase
00:46:18 – by helping us you find any issues there
00:46:21 – are before we we can expand the scope of
00:46:23 – it right
00:46:24 – ok cool i want to say one other thing
00:46:28 – which is people should upgrade to be as
00:46:30 – 2015 right now
00:46:32 – yes they did download community addition
00:46:34 – there are no downsides to it
00:46:36 – USA v be developing you'll get fifty
00:46:38 – percent faster compile-time throughput
00:46:40 – you'll get new refactorings you'll get
00:46:43 – better analyzes you get a multi-line
00:46:44 – string literals yep
00:46:46 – and so I think right now we're in RC i
00:46:49 – think only enterprise is downloadable I
00:46:51 – don't think we did a community RC right
00:46:54 – there's always music community and other
00:46:57 – is yeah absolutely right I want
00:46:59 – everybody to use it ok for RC yeah
00:47:03 – alright i heard differently
00:47:05 – alright so we're going to show you the
00:47:06 – installer right now I believe you okay
00:47:10 – are super excited about are you i am
00:47:12 – very always very excited about it really
00:47:14 – matters yes we can take very you have to
00:47:16 – be super super excited about visual
00:47:20 – studio 2015 yes there's there's lots of
00:47:23 – cool new features in here Anthony these
00:47:25 – shirts available arm the community's
00:47:30 – gonna skewer me are not yet we're still
00:47:32 – working on it are actually recently put
00:47:34 – up a blog post that was talking about
00:47:36 – the shirts in the entire community
00:47:37 – I was like give me the shirt take my
00:47:40 – money now
00:47:41 – ok you read this at what is the plan for
00:47:43 – giving these shirts away cause other
00:47:44 – people will just give you a shirt if you
00:47:46 – write an app so which other people
00:47:49 – xamarin I want name names but if i was
00:47:53 – going to that be the first one that
00:47:54 – jumps to mind
00:47:55 – so I'm actually one of the things that
00:47:57 – we're excited we're going to now we've
00:47:58 – had a bunch of internal team source why
00:48:00 – we had t-shirts and mugs &
00:48:03 – and stickers we've handed out at
00:48:05 – conferences and we will just kind of get
00:48:07 – a centralized online presence where
00:48:09 – people can you know go in and get their
00:48:11 – own thing so they're talking about
00:48:12 – there's talk of putting out a store
00:48:15 – that's kinda dotnet theme or you can go
00:48:16 – and get church for our team for BBC
00:48:19 – sharp sharp for.net you know mugs and my
00:48:23 – spats and stickers and we've got a bunch
00:48:25 – of pm's furiously kind of working on how
00:48:27 – to get all those designs in one place
00:48:30 – and and set up something where where
00:48:31 – people can show the same super
00:48:34 – excitement as we do here
00:48:36 – yeah so they're they're on the way we're
00:48:38 – working on it and and every time someone
00:48:41 – goes and comments on the post says you
00:48:43 – know give me this now it puts more fuel
00:48:46 – to the fire under our heels so thank you
00:48:48 – for embracing that and i look forward to
00:48:51 – give you guys what you want
00:48:52 – cool ok hey excellent thanks guys thanks
00:48:57 – for coming on
00:48:57 – oh thanks for having lots of great stuff
00:48:59 – here hope you enjoyed that download the
00:49:01 – product play with it let us know what
00:49:02 – you think and we will see you next time
00:49:04 – on visual studio toolbox


Video Url:
http://youtu.be/-Rk1qK88ndg

Comments

comments