RustConf 2019 - Opening Keynote by Steve Klabnik & Florian Gilcher

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] so yeah good morning everybody welcome to Russ Kampf how many of you is at your first Russ comp that is amazing and wonderful welcome we're really excited to have you here I'm always surprised by the number like every year it gets to be more and more people what you think is a conference would go on it would be less and less but we're clearly like growing that's super super exciting so yeah I I saw this tweet yesterday and I I am NOT the CEO of rust nor am I here to tell you that we've removed string but I thought this is really funny and interesting not just because it's like a very good tweet but I think it also got to a little bit of what we're gonna like talk about here today which is like there is a fundamental difference about rust and rust off because we don't have the same degree of like top-down miss that a lot of other like projects and like companies have even though we're giving the core team keynote a lot of this is kind of about like your role in leadership not like our roles as to what's going on so this is like funny but I think also very insightful so for some backgrounds a little bit about the both of us I'm Steve and before rust I did Ruby and Ruby on Rails stuff a long time ago and that was really great I started writing rust in 2012 so I'm one of the older folks around here I joined the core team in 2014 and I'm the co-author of the rust programming language so that's pretty cool it took me a very long time and Carol and I worked really hard on it but I'm super super proud the most thing you need to know about me is I tweet far too much and so not only did too much of my personal account but I'm also rustling on Twitter but like don't tell anyone that other people on the team have access to and tweet sometimes but most of the time like that that's me so yeah yes hi I'm Lauren this is actually my first time to the yes and this is also my first time running giving a keynote and that's quite funny because I've replaced tweeting by running events I run meetups like the rust meetup that founded in Berlin alone has over 100 events we're doing that together as a team obviously I'm my partner rust was or into the last project was getting becoming a community member in 2015 on the invitation of Steve and now being an observer to core which is like the path to joining core since this year and I spent the time training rust and forming a company around it and the fun thing was giving my first keynote on stage for Steve is Steve's first keynote was on Euro Camp 2012 which was the first conference Iran so kind of there's a long history yes so let's get started with the interesting stuff yeah so first thing we wanted to do is recap what's like gone on this year there's been a lot of stuff happening in rust world and it's really easy when you like pay attention to every single release that happens to not like take a step back and look at just like how much stuff we actually like accomplished and so yeah there's some some achievements yeah Microsoft is sponsoring so yeah yeah so first of all the developer survey in Stack Overflow we've won for the third time in a row as the language that people want I want to make and yeah so one interesting thing specifically what this is is the most loved programming language and what that means is people that are using it today that want to keep using it in the future and so when you're a young small language that's really easy because the only people that use it are the people that love it so the measure of success for a programming language is really when people who don't love it are forced to use it at their jobs right so people people would always say like oh yeah rust won this a couple years in a row but that's because like you know no one uses it so it's fine but this year we actually got more love like that number increased as the community grew so you know surveys are like kind of silly or whatever but like it looks nice whatever I'll put on a slide anyway then if services silly competitions there is the yearly I CFP international conference for functional programming contest where everyone can enter and it's a reasonably hard contest to enter and there's always one winner every year and they call the language that wins the language of choice for discriminating hackers and we've won that this year and the year before and last year both yeah so that's pretty cool conferences my lifeblood so last year we had three conference brands there was Rosco obviously this was spelled rust which is the tiny conference in the Rust Belt which I heard is awesome that I was not able to visit sadly and in Europe we've got rust fest but since last year we actually gained seven new conferences rust rush one in Asia Colorado gold rust Great Pond rust low Tom in Montevideo also great conference the organizers around here Russ Tokyo is coming up there was oxidize conf conf or a conference focused on just embedded development of rust and another one in Europe Ross lab Italy so that's a total for we went from three conferences to ten and those are all conferences that will probably repeat so actually I love conference organisers can you all give them a huge applause [Applause] up until this year I had physically attended every single rust conference that had happens and this year was the year that broke me and I finally could not go to actually all of them so that's a measure of success as well I take it all so tiny secret behind of all of those most of them are run by old rubyists yeah it's true all right so yeah and Berlin we have rosbridge the events that run around at the conferences that are trying to get more organized people into rust and the Berlin chapter of the rest community has actually started its own local West Kaptur to continuously run those events in the city and they have just formed two days ago so would also be great to give a huge round of applause yeah brand-new more celebration there's the weekly newsletter this week in rust and they have probably picked this week specifically six years ago to release number 300 this choose that I'll see you around applause to them [Applause] it's a huge effort and it's amazing how well they manage to really release that every week and make sure it runs even when we had even when the language was very very young and volatile they've been with us for yeah this is basically your one-stop shop to learn everything was going on in the rest world and there's no comments so people aren't arguing with each other any webpage without comments is better than a webpage with comments so another huge thing that happened this year that is like in the past like we're when we talk about this year we mean like from August to August not like you know 2019 or whatever it to be clear Rus 2018 and finally shipped in December which is a super huge effort amongst the entire project from a lot of people and it took a lot of work and so we're really happy and excited that that's the thing that was successful you know up until the last second you're always like oh is this actually happening and then you know it finally actually happens so that's really cool so we did it and to talk about that like it's one thing but actually it was like a lot of stuff so as a small example of the number of things that we ended up actually shipping there's the brand new module system infiltrate in all the places the dine keyword to make dynamic dispatch a little more obvious to people non lexical lifetimes which basically means rust complains at me less default match bindings this is one of my favorite features never write the ref keyword ever again more lifetime elision and inference actually I had to remove the advanced lifetimes chapter of the book because all my examples no longer needed the syntax that it showed off the compiler just infers it now so that's cool [Applause] it doesn't mean I get bugs filed now where people like wait where did the syntax go and like you don't need it anymore the the inclusive range operator dot equals which took a really long time to surprisingly you would think that inclusive range is not complicated but programming language design is hard sim D happens keeping up on our speed stuff we got the beginnings of incremental compilation and like global allocators and stuff too and this is obviously an extremely short list but like you know there's a lot of stuff that's happened recently and it's been it's been great but more specifically what you all want to hear about I think is that I bet you can't wait for async/await originally sort of planned to be part of the 2018 edition shipping but you know here we are a little while later and it's taken a while but that's because it's so good like good things just take time so more specifically I don't know if you saw pull requests 63 209 happened recently which also is an amazing like measure of how you know active the Russ project is like we've had five digit numbers of pull requests but uh this actually merged a couple days ago so this is now actually going to be stable sometime in the future originally we were hoping to be like it stabilized yesterday we're on stage woohoo but now it's like okay you'll get it in like eight weeks or whatever so that's fine it is enriched in Wednesday so it was merged before the keynote yeah yeah that's that's what actually counts and it's also important I think there's been so much hype around async/await to remember to there's even more good stuff coming this is like the MVP version of the feature so the lang team is been working super hard on this for a really long time and they definitely I think deserve a round of applause it's I I think everyone knows how long a cinco eight took but I don't think that most people actually know how long it took so if you'll bear with me I like to play amateur sort of rust historian and so this sort of started like in most people would cite this is Erin Turin's blog zero-cost futures in rust and this kind of like announced the futures library and if you notice that was in August of 2016 so like it's been like three years and what's really interesting too is at the end there mention like async/await is like you know oh we're doing this futures thing but like this is useful because of async/await and so most people would be like wow it's taken since since 2016 to ship this and that's sort of true but did you know that a long time ago there were futures in a standard library in the sink package we had this this future struct this is a screenshot of Russ stock back in the zero point ten days but he goes even further back than that actually I did some digging and in 0.5 which incidentally is one of the first versions of Russ that I ever used this says July 3rd 2013 but it definitely released earlier than that actually who knows github metadata I think we made tagged too late or something but here's what rust code looked like back then this is sort of a little small maybe on this slide so you might want to check it out later but this is actually an example of the pull the stuff out of the future code the first thing I want you to notice is this the return type is ampersand self /a a long time ago that's the one of the syntax is that we tried to use for lifetime so if you hate the syntax for lifetimes think of this as better or worse maybe you like it I don't know there's also some other interesting things you'll notice in the middle of this match block it says fail tilde quote recursive fortunate forcing a future this is two features that used to exist the first is that panic used to be called fail way back when and this is near and dear to me because I actually submitted the pull request to rename it and then I wrote a script on github to fork every Russ project and send them a pull request saying hey sorry I broke your code but here's a PR to update it to panic instead so that was cool and then the squiggly like this is basically the dot to string of the day so there was syntax for own types and it used the squiggle so that's kind of cool lastly right above this bottom match block self dot state and then like bracket - bracket state mem swap had syntax in the language at the time which is pretty cool so it turns out that like this has been in the making for like a very very very long time not just like the most recent efforts which obviously are also Herculean but like it just it takes a really long time to make great features and async/await is like super fantastic and rust especially because we have one of the most performance and like interesting implementations of the idea that is existed this is sort of a field report recently from the Libre folks so Facebook's cryptocurrency shenanigans if you if you look at their like forum basically this is a post they made which is really fantastic they've been using async await since I think roughly the start of the year and I'm not gonna read all the shenanigans to you I just want to mostly put that up there but the reason that they set a single weight is awesome and if you haven't like heard of async await or if you haven't been doing async stuff and rust I want to sort of briefly explain like a lot of people don't understand why it's so deeply desired they're like we already have futures and async like what's the big deal and usually that's said by people who have not written a ton of async code because like futures are great but because the baro checker does not understand the combinators of futures you end up doing stuff like this so here's an example of updating a hash map where you have to wrap it in an arc in a mutex and then for each you know future that comes down the stream you have to like undo the lock and deal with the ref counts and then you do it again and you have to unlock it here and so there's all this overhead that doesn't actually need to be there and so what this code turned into in their code base looks much more like this so you have an async block and then inside of it you're able to call stream next Auto and then just write your regular code so there's no arc reference counting there's no more mutex back-and-forth you just write regular sort of rust code with a couple a sinks and a weight sprinkled in there and you get you know super super powerful fast code so this has been like a really really awesome thing and people are definitely super excited about it and as an example of like I mentioned this briefly a minute ago but like one of the things that I think is really interesting and why async/await is huge for rust is because we are in a super super fast at it so all benchmarks are done but this benchmarks looks good and so I'm putting it on a slide anyway take this with a giant grain of salt because C++ is actually coming for us but on this benchmark we still are the fastest by far you notice a stick score and ax xpg both are the gold standards in this particular test and the next best framework is at 65% so it's like almost twice as fast as the next nearest one on this this particular benchmark so the point is is that like it's super high performant and really easy to use and I'm definitely super super excited about it know C++ is coming for us is a nice thing to say after like three years of trying to be and the level playfully a playing field with C and C++ we hear ya [Applause] one last funny part about that before you know you get your next thing I forgot I want to make a slide about this but I didn't do it you always think about things last second there's recently been a discussion Russ 20:18 has been successful enough and like we modeled it after the way that Java and C++ do their compilation stuff but they're now people trying to seriously proposed that C++ adopts additions as a concept because they think it's been so successful for us and they want a way to advance their language forward without breaking old people's code so I also just think that like that's a great impact that we've had is that like introducing interesting ideas to other languages and their ability to like do things so that's also been been super good sorry anyway slide it's also quick quite fun that when we constructed the stock because Edition 2018 was a huge amount of labour and everyone came away exhausted and so when we started constructing that keynote it was a much more thoughtful and like focused on the things that went wrong thing and when we actually started or like hey let's have a look at what we all achieved there was just a bigger pile of things that we wanted to talk about giving it a lot more positive spin it's amazing for what the teams have done so also one thing that I forgot on the slides the embedded working group has made embedded development on Ross stable last year August and since then it has been picking up usually so we're now also in the embedded space as a newcomer but yeah yeah huge round of applause to them yeah [Applause] hey so let's talk about teams I just did account this morning there's an we have automated everything there's now a repository rustling slash team where it can have a look at who's in which group who has access to what and who's officially in one of the many teams that we have and Russ now has over 200 team members making us one of the largest open source projects just focused on one product operating systems or distributions are obviously larger where you have where they have this amount of maintainers just for small packages and this is missing some people that we want to onboard over the next weeks like for example whole translation team the rest website now has six translations and more coming down the stream and there's a huge amount of people working on them and they're probably going to start working on the books and whatever later so that's a huge thing and the other kind that I made is how many people have actually contributed to one repository on github.com slash lost lang this is including our Fork of the yellow VM and Jade Malik just for make sure I did who else who's got a patch in somewhere yeah we can for those people there's fifty four hundred of you in the world somewhere that's awesome that's great and we won also they're one of the largest projects that we have around and that's a huge amount management and but yet being part of the community team the more and more I get the feeling that some people do contribute but then never counted somewhere like they're running an event they're running a meet-up they're running something they're teaching or whatever and it becomes more and more of a problem how do we give appropriate credit there or what do we even think is contributing to the russ project and you can put up a wide scope there um because you've got that you did that fifty four hundred by downloading the git repos and looking and get logs but there are so many people that have done so much work that is so important to rust and deserve to be thanked and recognized for it and it's really hard when like we're used to making computers do the job but we can't be like computer who has been all the organizing teams of all of the rust conferences right like that doesn't actually work and so this is a tough problem that we don't like tackle in a personal model actually if we're a language that wants to be adopt but the reason why I joined the rust project back ban is because it always had the air of we want to build something that people use so if you want to be a project that's in the hands of people just being at a company and we're an open source project and telling people this would be something interesting to adopt and trying to get a raise adoption of language is already contribution we can't lock that anywhere we never find a trace of that so how do we make sure that people are aware that this is already something that we consider contribution probably even buying a ticket to this conference I would consider contribution it's a pretty wide scope and a actually a problem that is that comes up in practice so I'm not just talking about it like something that goes on in my mind but something that we as a community team experience that some people just feel like hey I actually invest the time into this but I don't feel like I get like at least the recognition back and a lot of the recognition happens on the hallway here so if you meet someone consider like talking to them about what they were involved in and actually just saying thank you that's a pretty big power move to say I'm giving people the feeling that the work they have invested into the project they're there around is is really really important because like I recently last week read a nice comment about why is Ross popular why do people take every announcement that the rest project doesn't just put it out everywhere and someone responded to that question with its built in large part by Mozilla which enjoys special love as an open source company and that's actually quite interesting people still perceive it at that but even when we had rosters Kiev we the statistic was already like 75% of what's built on the worst project is built by non-muslims we are incredibly good at having non-modular contributions not to diminish the value that Mozilla have brought to it the second is Ross provides tangible bama benefits it solves practical problems but the third is the community is nice and talented so it's fun to see what they up to and that's all about you and not about us this is nothing that any people that are on the teams or in kora or whatever have in any way done it's the whole air around the community of being interested being interested in adoption being interested to try out new things building awesome libraries blog posts bad jokes like we all contribute in our own special ways more puns please but that also brings a lot of organizational challenges to the project and that's becoming more and more problematic and we need more people that do actually manage the project just to make sure that stays in shape and that is it stays running so we need people who are not building new stuff but making sure that stuff that exists remains in the state that it is that also means we need to train up new people on managing and that is one of the shifts that's happening this year new people are stepping up and one of the problems in there there and this is what the community it's important that the community stays kind about it those people will fail at their tasks in different degrees probably even hard and it must be possible that they are allowed to do that because otherwise you don't learn and the rest project has people in team management that are 23 year olds to somewhere that's an incredible chance this is actually how I got into Ruby Ellen truly at the University and the Ruby community was so kind to allow me to try out my stuff and just be bad at it which I couldn't do at the University and we as a community I have a chance to give other people the ability to join the Russ project and we have that experience for their own personal lives yeah and I think all the stuff ties in together I've been thinking about this a lot not just because we've had these challenges in rust but I actually became a product manager at my new job recently and so I've been reading about management stuff and a thing that I ever thought about before but a concept I came across when I was looking up like why do we call people staff engineers is in like traditional management there's this distinction between line employees and staff employees line employees are the people who like do the work that actually furthers the business and staff employees are the people that do the work that keeps the organization going and so open source has traditionally had a ton of like line folks you know like sending in patches is very much like furthering the goals of the language but as we like grow open-source projects into like larger organizations we also need help from people doing all this sort of like support work in some sense and like there's other like not not support in like a like helping users support but like supporting the goals of the organization in a way that's not sending in patches and like this is an area where we as a project are like a little deficient and are looking to sort of like improve I am terrible at scheduling and running meetings don't tell the people who hired me as a manager but that's like a skill that's like important and needed in the RUS project and so it's like a thing that I would like to work at because it's not it's something we need and I'm not good at so you know yeah okay goes further um we're growing so fast that we regularly need to set up new working groups constructors last year we actually had to put in a moratorium on setting up new working groups because we just couldn't handle the load before edition 2018 to get new people and on and we're slowly starting to ramp that up again but it's still the people who currently are forwarding the language have to get that as a second task and so we arranging our products of this that this becomes a constant task that we can help with is one of the challenges of this year also because we've grown so big as a community and also as a in usage um dealing with our legal framework has become an actual issue this is something that for reasons of this being legalities mostly is hidden but we need to talk to lawyers more and that's that's for example something where it becomes problematic when someone's is responsible for running crates AO on the legal side they can't be a volunteer because I really don't want to get volunteers sued for not replying on an email it turns out the people that enforce laws don't care when you're like sorry this is my side project I don't have time to like follow the law so it's like kind of important that we comply with those things and like a lot of people and programmers don't think that open-source has to like deal with legal a lot but like you know especially in running crates IO is like one of the bigger things right now but like there will be other things in the future where you know dealing with lawyers is important and that deserves to be like you know work that is not just like whoever happens to have time on Saturday it's also very popular in open-source communities that we only see coding as contribution but the people who are dating with that side are actually like making sure that we can sleep well is is great but we haven't still and that's our task for next year we haven't found a katuns there we have definitely committed the error for example setting up a working group before summer then to just figure out that everyone actually wants to go on holidays that's a very bad time so people didn't attend any kind of meetings because for good reasons I'm on holiday so I got the family time so yeah yeah autumn next so it's time to review and change our practices and that review also needs feedback so if someone's like huh I'm seeing something that could work better or if you have experience from another open-source project where you know you've solved something we they open to talk to anyone on any of the teams and help them improve a lot of the reason why we're successful as we are as due to like our and other folks in rusts history specifically in Ruby but also in other projects like the reason that cargo is the way it is is because yahuda had worked on bundler and had learned what worked well and what didn't work well and same in a lot of crates iOS stuff and like a lot of the aspects are things that we have brought from things that we did before rust and you know we don't have experience everywhere and so like like we took the RFC process sort of from Python and their pet process is another a great example of a language influencing us and so you know if you work in a project and you have some stuff that works really well like there's a lot of stuff that we don't do really well and it would be great to figure out someone who does and there was the answer so we can improve yeah so and one thing that I would like to talk about from my experience is a lot of the problems that I see popping up everywhere around like people getting angry at the project or disgruntled are actually communication problems and one of the things that we don't do quite quite as much is modeling what the communication of the bus project is and because we're growing that constantly changes so when I joined like the roast like ecosystem it was basically 10 hackers somewhere and a couple of people around it so you could just on any kind of communication assume that everyone had a full picture of what Ross currently was and was building nightly every 5 days and would just be ok was figuring out and what just broke and where they would find out what broke and since then that has been growing all the time and just a couple of weeks ago I read it read an interesting blog post about from the developer developer relationship community how they model communication with their communities and what they're using is a model that they call Orbitz so basically you try to figure out are there groups that orbit around our project or around me personally or around my working group and do I need to communicate with them and the nice thing about this model is it's actually not bad to be in orbit for orbit for basically says I really don't care about what you're doing as long as my product works and my stuff builds and I know about all the important stuff that I need to know about what breaks and what not while oh with one is those are basically personal friends that I need to regularly talk to and two and three are other ones we probably would have a different kind of modeling there but the important part is the more and more we grow the more and more we grow groups that need different kinds of communication some just need to change law others need very direct communication and because of the size of a project we're starting to be in an area where even communication between team members already has that notion where some people just want to be informed what a team does some people want to be consulted what a team does for people that remember last year's keynote why wasn't I consulted is a huge problem but also finding out why do people feel like they should be consulted and how can I make sure that I can find those people and arrange them properly in that model is very very important yeah and I think that something is really tough about this is this is not work that you can do once because as we grow and change these needs grow and change and so like you know you talked about the number of people being able to see things because the community is small but like another way this manifests for example earlier I mentioned when I changed fail to panic and I wrote that script I looked up everything on github and I think it was like 65 projects on github that happened to be panicking basically and so I was able to like send a PR to literally every person with like fairly minimal effort as we've grown you know we developed crater which is like a super wonderful tool to be able to you know see like oh is this impact like what is the impact of a particular change and like how is that going to affect the rust world because for a long time you know we had basically like servo and then like open source code like other open-source code that's like on crazy IO because we didn't have a lot of adoption within companies but now we've grown to the point where like crater while it's still an amazing tool can't actually like tell us what the real-world impact of changes to the language are going to be because like we don't have access to say like Microsoft or Facebook's internal repositories where they're doing private you know code or whatever and so the infor team has some ideas on how to work there but like the point is if you would analyze how that worked at any given point in the project's lifetime like and you stuck with it the entire time the situation has changed from out from underneath your feet and so we haven't needed to like think about these kind of things before but like as we grow we'll need to continue reevaluating these kind of things so I'm sure this is a theme that you'll see like in the future in general that you know as we grow stuff changes it's different so you need to do different things it seems very basic but it's hard to actually internalize that that's true also for some time that just works organically one interesting experience I had over the last week Aaron started writing a marketing handbook for us like one or half years ago or something like that and that kind of window the way because people didn't have the time but during the last three months I had multiple people finding out that the shell of this book exists and asking us directly hey could I actually contribute to that could I like take all your experience and just put it into that book what would you be up for an interview so even communicating we've got interest in writing something and my theory around this is the people that were doing marketing for us previously was a small enough group that we could just do that verbally and now it's becoming more and more that that we don't have the time anymore to actually talk to everyone who is interested in that so we need to write it down so writing down more is like if you enjoyed writing please talk to us we've got a lot of writing to do writing scales it's wonderful so and the final thing I would like to talk about is guarantees well as quality rust gives the project gives guarantees we've got t1 t2 t3 targets for example and we have some writing around what that means we got the language guarantees in itself the stability guarantees that we have our security policy and all that but that's actually not what people like us for because guarantees are only the last line and that's something that people often miss what people enjoy rust for is the quality that we constantly deliver and that's actually higher than the guarantees that we have for example we have a couple of targets that are officially Tier two but people are using them because they experience for them is oh they're great and we can use them absolutely no problem it's just declining quality is possible and if you are not aggressive about keeping it up to the current state and if you're not tracking what your current level of quality is we might actually get down to yeah just reaching our guarantees we could have put future 0.1 into the standard library immediately instead of making it a separate thing and you know I don't even know if async/await would have been really possible actually on top of the particular version of futures due to the changes that we had to make in the intermediate years and so there's definitely this sort of like trap that we may fall into where there's pressure to ship things because we want to get stuff done and we want people to use it but at the same time like those three years of like pain of not having a single weight is also the reason that we have an extremely high quality world-class implementation of that feature and figuring out where like what stuff is okay to ship a little bit earlier and what stuff really needs to take time to polish is really important and difficult and it's really important to be honest and subtle around this for example just last week the goal the final goal for having async/await in beta was the last beta release last week and we didn't actually manage that for a number of reasons people didn't figure out fast enough that it's probably going to be delayed which meant we couldn't allocate enough resources to it because kind of the message got lost and in the end the release team doing what was in my opinion the right decision saying hey you know what we're not going to rush in the feature last minute just because we wanted to have it out for 138 and that was a good decision it was a quality decision but it's still important that we do call that a problem like there have been issues in the process it would have been quality wise better if you actually hit the communicated deadline that people were expecting at the quality level that we wanted to and the subtlety honesty comes in at the moment where we need to take this event just neutrally and talk about okay how could we have improved in and could we have improved our processes or where are the flaws in our processes to actually make sure that we could have caught that early and got it over the finish line on the date we wanted and the quality we want it it's not about blaming anyone classic management thing it's not about the blame it's about like figuring out hey why weren't we able to both reach our personal or our project goals and the quality goals that we that we want to push out to the community yeah and this also takes like a big back-and-forth between you all and the teams as well right because it's like your goal to communicate to us what stuff that you want and it's our job to make that happen but that also requires some charity on both ends whenever you ask for something that we feel is impossible or when we ship something that's like a little later than maybe we originally said right so it's like a symbiotic like work together kind of like situation and that requires this kind of honesty and subtlety with each other so that you know there's not like a whole big animosity between everything about how stuff goes like I've worked in languages and ecosystems where the users of the language like hate the team that makes the language and it's like not a great place to be in so we don't we don't want that to happen the rest also that's that's a fun thing that I experienced as a non non first language English speaker a lot of these discussions need some intercultural understanding especially coming from the Ruby world where a lot of the maintained is of the language are not the best English speakers like trying to get on the discussion level where you do give people some slack for oh maybe they're not as good at speaking my native tongue as I am so probably discussions I've seen a lot of discussions go wrong because someone was ignoring that the other person speaking actually wasn't good at the language that they were speaking in and misunderstanding their points yeah so as a conclusion one thing that I always liked about the rest project it was pragmatic active and results based so pragmatic in the sense of we actually want to solve problems in the sense of we want to come up with an idea that solves problems in short to medium run we're not aiming for the moving of like in 20 years we rebuilding a research language that in 20 years might be picked up rust was always the language that would take the languages from the 90s pick up their ideas reintegrate them and actually give it to people and it was also always an active project it is incredibly geared by what are actual problems that our users have how can we solve them and how can we integrate that into a good whole like the whole features story from like five six seven years ago is it is an instance of that how can we take this idea and actually turn it into something that is usable and productive for people it might take five years or it might take just two weeks and that we are always trying to figure out what the what those are and that we are actively trying to figure out what the issues are and asking people one thing that I always also enjoyed about the RUS project is how open we were to go to companies and say hey you know what you're using our language could you tell us what your current problems with it are so that we are more informed on what we actually should solve and the last thing is I find it incredibly interest n't to actually check if something that we have done has given us the results that we wanted and there's certainly things that we have introduced in the last three years that for example people just don't use these we thought that they would do it it's not like we got a huge record a track record of building stuff that people don't use but it has happened yep there's some level of rust maturity is like our mistakes accrue like a at one point oh I was like everything's great we've made no mistakes now I'm like we've made some mistakes that's like a level of maturity right as that like you know you have to live with these mistakes and make the best of the future instead of you know having these things happen so and yeah as a final final final message we like in terms of the core team but also the rust teams need all of you who are maybe not on a team to help and it doesn't mean like necessarily join the team although obviously if that's the thing you want to do that would be super fantastic but like you know making sure to keep us accountable for the decisions that we're making and the path of the language you know making sure to be empathetic about the fact that it's hard to do so you know like all sorts of different like help running conferences help teaching Russ to people writing more libraries to put on crates audio like there are so many ways that you can help and we really want you to help us and yeah Morton that's good closing sweet nothing to add thank you so much everybody [Applause] [Music]
Info
Channel: Rust
Views: 27,964
Rating: undefined out of 5
Keywords: rust-lang, rust, rustlang
Id: FSrQX4uYuOM
Channel Id: undefined
Length: 43min 53sec (2633 seconds)
Published: Mon Sep 16 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.