Devreal

SF Scala: Seth Tisue Interview

SF Scala: Seth Tisue Interview

Recording: SF Scala: Seth Tisue Interview

[Music] hi everyone I'm still ar-rahman Yin the co-organizer force san francisco scholar meet up today have set tissue of light been with us he's here for a meet-up we meet up and hoping to catch up with seth as it's been a few months since you last yeah well yeah nice to see you again i see it nice nice to be speaking have you said those fully in San Francisco now I remember it was a long ago you moved here yeah it's been a little over two years yeah I'm very happy here that's cool that's great are you about what you did like Bend so I've been at like been for about three years now and I was hired for the for the Scala team the team that maintains the Scala compiler and the Scala standard library as well as trying to kind of organize and and and help the open source eat ecosystem around Scala great you try to help then you contributors contribute more main as a little part of a lot of our work yeah so I there's five of us on the team and we all try to be helpful with open source contributors but I would say yeah of the five of us it's me especially who's out there like everyday in the chat rooms and so forth like interacting with people going it's great what's the how easy is it to become a contributor for their first cut of Scala if you're if you've never contributed to a programming language before okay well I so happens I have a talk on that on that exact subject it's it's called it's called you are a scholar contributor and I'll I gave that talk earlier this year in New York at Scala days and then I'll also be giving it here in San Francisco in November as part of scale by the bay you know we're really looking forward to that but that'll be great help to help get started who do you just concentrate on the scholar language or the libraries the whole ecosystem that goes with it I try to the the talk is sort of organized in ascending level of difficulty so it's like if you want to get started here's the easiest thing I mean because it some people like maybe have zero experience with open source or might have as yet very little experience with Scala so if if people are new to get and github if people are new to scrawl itself that there's still there's there's still ways that people can contribute so the the easiest repos you know in the Scala org to contribute to or the or the website repose and then I'd say the the next easiest is the Scala modules so that these are sort of satellites of the Scala standard library like Scala XML and Scala parser Combinator's those are you know small self-contained code bases the next easiest is to work on the Scala standard library and then you know the most difficult thing is working on the on the compiler itself though yeah on the subject of the compiler are there's been a lot of buzz around the next versions of scholar coming you want to tell us a little bit about where we are with the current 2.12 and their upcoming releases and how we're gonna move on to Dottie over there coming sure fan years yeah so the the Scala 2:11 series is pretty much done at this point no further releases planned we're getting close to winding up the 212 series as well so we plan to build Scala 212 7 this week or next and that will have some performance improvements improvements to make the output of the compiler more deterministic and you know bug fixes and stuff and that that will that could be the last 212 series release there might be a couple more feels like you just came out to to Tolkien I guess they said yeah everyone's books could be outdated now yeah so and then Scala 213 is in milestones currently so we just did milestone 5 a few weeks ago we hope to have a release candidate later this year and then release 213 final either right at the end of this year or very early in in 2019 so the the theme of the Scala 213 release is the total overhaul of the collections library so that you know the the old API dates back to style 2.8 which is you know so long you know I can't even think when that was 2010 something like that yeah so we took a once a decade opportunity to to overhaul that great if I'm if I'm moving to 2 to 13 am I gonna have any compatibility issues with the collections library do I have to change any lines of code to make it work really probably you'll have to make some changes so it's not a radical redesign so the the goal was that most ordinary Scala code that uses collections won't need changes but I think almost every real project will need at least some changes around the edge around the edges I what would you say is the bear is a good migration strategy to have in mind if you do want to upgrade your project I guess it depends on whether you have a need to cross build between multiple Scala versions so I think library authors typically support the last two or three major Scala versions we are offering a library called Scala collection compat that makes cross building easier it's it's something that you don't need if you're only doing one scala version at a time but will help with with cross building for a sort of ordinary app application code there are we have a set of Scala fix rules so Scala fixes is a tool that will can identify problems in source code and also suggest and perform rewrite so it'll not just you know find things that need to change but it'll actually change them for you oh nice so so we recommend that for people migrating to 213 is that a completely open source project was that something that's supported by light then it's totally open source there's I think most of the work on it has been done at this College Center but we're contributing to that at like mint as well nice that's awesome I hear a lot of buzz about the Scala 3 and you know what social media is like the you nuts some people who just like to have trials and be very pessimistic about it and bring up the Python free to analogy of it not going smoothly from moving to three others like me we're excited about having a new version of Scala as well when can we look forward to Scala 3 and do you think it's gonna be a big headache a migrating to it or do you think people will start by going into it when it's out I think there's been a change in the temperature in the community on this since Martin's keynotes at holidays this year so I think before those keynotes that the general feeling is that people were worried and then you know seeing that the talk myself and also attending Scala days and talking to people it really seemed like that that you know got people on board so so anyone who's worried and hasn't seen it I really recommend it yeah and I guess another piece of the answer to that is that the the main theme of Scala to 14 will be aligning with dotty the compiler that that's going to become Scala 3 kind of like a stepping stepping stone released to move towards that yeah yeah so we're gonna eliminate as many differences between Scala to install 3 as we can in that stage so that when it comes time to flip the switch to 3 there won't be that much left for people to do I think that I always find conversations like that on social media are quite funny because I think a lot of people are were worried for the wrong reasons because like because of the whole Python difficult that happens which has nothing to do with Scala of course yeah it's not you they've seen it but they were the sin is done by another programming language once so then you're cautious I think we have two big advantages over Python the Python 3 situation and and this is I'm just repeating stuff from Martin's keynote but there are two big advantages or we have types so you know most of the time if something breaks the compiler can tell you you don't have to wait till run time it's it's just it's just night and day compared to the migration situation for an untyped language like Python the other reason that I think this is going to go smoothly is that a lot of the a lot of the work on Scala 214 and style 3 will be about making making it so that they share can use the same libraries so it won't we won't have to wait for every dependency to upgrade to stall 3 but before we can flip our project when can we look forward to 3 or it is and there's no way to know that you know I have to calculate it in my head so so we're we've to 13 is coming out and this year beginning of next so I think we have what comes out to like 2021 or something nice yeah it's awesome like that type-checking air been here with Scala is a big deal it really does save you a lot of headaches together with wrong time problems that you don't get with language Python so I totally agree with that reasoning tells we're that reasoning great now what what what what is your talk tonight about so it's called compiler plugins 101 compiler plugins this may be a slightly esoteric topic but I hope to and my original idea was to talk about how how to write them the talk came about because I've now written three compiler plugins on the job so in order to but that you know the number of people who are actually going to write one is probably fairly small so the the first half of the talk is like what are compiler plugins what what existing compiler plugins are popular I think it you know it turns out that almost any styled project is using at least one and perhaps several people aren't always aware that they're using them because they're sometimes packaged as you know when you create a scaffolding or something yeah well I I think often how people get them is they add an SBT plug-in and the that's it's done that way for convenience they don't necessarily know that there's a compiler plug-in behind the scenes that's awesome it's something I've never done but I really want to get to know more about so I'm really looking forward to your talk tonight yeah Alexi who's the main organizer of this middle of course and who's the big force behind this scale on the bay commerce side you're gonna do talk 5 November couldn't be here tonight so he has emailed me a question for you to ask ya a big question a big question yeah he warned you about this question are you ok my procedure yeah this question ok great I that like I said is a big question I he's a big he has big shoes to fill and I don't want to fill it so I'm gonna read it out some of the languages in widespread use in our community like Java or not pure functional languages but we can still immediately see thoughtfully done software so the theme of scale by the bay is thoughtful software engineering as a concept parent to functional programming can you think of some patterns and distinguishing characteristic characteristics of thoughtful programming I can try so it's an interesting phrase a thoughtful program yeah and I like it because it doesn't it has a it has a kind of air of humility to it yeah I I just to me thoughtful programming is about slowing down I think there's a we have a problem in this industry of thinking that the way to get get something done fast is just to bang it out and get it done as soon as possible and that can be true at the beginning of a project but in you know in the long run that approach actually actually actually slows you down because you have more bars higher maintenance costs so I did I when I hear thoughtful programming I think longer-term thinking yeah absolutely especially and if you work in a team that's growing I think that's that philosophy is very good to ensure good thoughtful thoughtful call it quality with for the future of the local base mmm great the Delta the last thing I was going to ask his how's life been doing is there anything we should know about life and are they doing anything new and exciting that that that you want to talk about well you know at life and I'm mostly focused on what the Scala team does so light Bend the company as a whole does a lot of other stuff akka play the the web Lacombe from microservices and then we also have a lot of offerings around devops deployment scaling up to scaling up systems to big clusters I don't know anything about about that stuff really right so as I sort of watch it going on at like bend and and I wish it well but it's it's it's kind of outside of my expertise but it's an awesome company to be part of I've always a as a scala fan I've always looked up to light then and before when they were called typesafe yeah and I'm incredibly grateful to the company for supporting the Scala team and treating us and all of their employees so well it's a great place to work awesome great well I'm all excited about tonight's me enough to hear about how to get by with compiler plugins more than I currently do so I'll go for a minute thanks so much said to me thank you [Music]