CppCast - Learning C++

Episode Date: November 8, 2018

Rob and Jason are joined by Devon Labrie to discuss his experience learning C++ at Augusta Tech and being a first time attendee at CppCon. Devon is a 26 year old coming from a military family,... he enjoys challenges physically and mentally, playing video games and creating them, learning, watching tv, puzzles, art, science, comedy, philosophy, programming and of course C++. News Common Package specification Modules are not a tooling opportunity Herb Pre-trip report Devon Labrie @labrie_devon Links Augusta Technical College SFML C++ Game Programming Udemy Course Sponsors Backtrace Hosts @robwirving @lefticus

Transcript
Discussion (0)
Starting point is 00:00:00 Episode 174 of CppCast with guest Devon Labrie, recorded November 6, 2018. at backtrace.io slash cppcast. In this episode, we discuss Herb Sutter's pre-San Diego trip report. Then we talk to Devon Labrie. Devon talks to us about his experience learning C++ at Augusta Tech and being a first-time attendee of CppCast, the first podcast for C++ developers by C++ developers. I'm your host, Rob Irving, joined by my co-host, Jason Turner. Jason, how are you doing today? I'm all right, Rob. How are you doing? I'm fine. You want to tell everyone where you are right now? At the moment, I'm in Austria, so pardon if there's any echo. I think there probably is
Starting point is 00:01:37 some. This is a basement with walls that are about two feet thick so i'm not getting great connection here and it's definitely a bit of an echoey space but um i think it'll be all right yeah hopefully i can clean that up in post but uh you're there for some training right yeah doing uh three days of training here and i tweeted this out a few days ago it'll be too late by the time this episode goes live but i'm giving a lecture at the university um tomorrow night as well here in graz austria okay so that's for anyone who is in the area can attend that yeah and well could have but again it would be too late by the time you hear this so we'll see what happens very cool well at the top of our episode i'd like to read
Starting point is 00:02:23 a piece of feedback uh this week we got a tweet from pete taylor and he's actually responding to a post that kate gregory sent out over the summer when we had her on saying i always love listening to kate gregory i think she has a positive influence on the community on many different levels which i definitely agree with uh her you know cpcon keynote was great, and I need to watch her Pacific++ talk, which I think might be out now, right? I believe it
Starting point is 00:02:52 is. Phil did a pretty good job of getting this out pretty quick. He also doesn't have a huge conference, so it's less to process and whatever. Right. Well, we'd love to hear your thoughts about the show as well. You can always reach out to us on Facebook, Twitter, or email us at feedback at cbcast.com. And don't forget to leave us a review on iTunes. Joining us today is Devon Labrie. Devon is a 26-year-old coming from a military family. He enjoys challenges physically and mentally, playing video games and creating them, learning, watching TV, puzzles, art, science, comedy, philosophy, programming, and of course C++. Devon, welcome to the show.
Starting point is 00:03:30 Thanks for having me. I'm very excited to be here. We will definitely in the interview talk to you more about how you got interested in C++ and stuff, but I'm kind of curious, what kind of puzzles and games have you been creating lately? Well, some of the games I've been able to create, I actually took some classes online. And I was able to learn Timber and over 9,000 Zombies. And a lot of that, you know, just kind of teaching me the flow of how games are usually designed using the SFML. Okay. So that's how I kind of got in the beginning stages
Starting point is 00:04:10 of creating video games by learning how to create games that's already been made that are actually on Steam as of now. And from those concepts, I'm trying to do my own projects and start my own. Very cool. I feel like for me personally, do my own projects and start my own. Very cool. That's, um, I, I feel like for me personally, the actual like flow of how a game is executed felt like a mystery for like
Starting point is 00:04:33 decades until I'm like, you know what? I have to like sit down and try to make one of these things and understand like what happens in a frame and that kind of thing. Yeah. Like, like learning about how to, you know,
Starting point is 00:04:44 do like a render screen. Cause that's something when I first started, learning about how to you know do like a render screen because that's something when i first started um how to do i started programming i started kind of i didn't really understand like okay yeah we're doing hello world we're doing a lot of things that we can see you know actual you know words on the screen and we can display c out and everything but i could not figure out like how do we actually get like a graphical, you know, user interface or, you know, just like something we can see like a render screen. And through SFML, I learned how you can, you know, you can have a video mode. And through the video mode, you set up your parameters of how the resolution of the screen is. And, you know, then from there, you know, you kind of, you know, my first time I learned that, I said, oh, wow.
Starting point is 00:05:23 So now I know how to actually put a screen up. And from there, you know, it just, this is, of course, there's tons of things from there. My first son learned that. I said, oh, wow. Now I know how to actually put a screen up. From there, of course, there's tons of things from there. Dealing with sprites and everything, I learned that all on Udemy. Very cool. I get the impression from you, the same kind of thing I feel like when you like open up a graphics window and you're like i'm gonna put a pixel there and sometimes it seems so silly like there is a blue dot right there and i made that blue dot yeah so devon we have a couple news articles to discuss uh feel free to comment on any of these
Starting point is 00:05:59 then we'll start talking more about uh how you got into c++, okay? All right. Okay, so the first one we have is common package specification. And this is an article kind of describing this common package spec, which is written in JSON. And I guess it's somewhat similar to package config, and I believe this is something that's kind of going through the committee is that right jason i don't know about whether or not it's going through the committee uh i think there's a paper related to this perhaps i was looking at the schema specifically and i'm like like i see that it's got specific flags for which version of C are you using,
Starting point is 00:06:47 which version of the Common Language Runtime are you using, which version of Java are you using, what compile flags are required, what version of C++ are you using. And I started to think, this is an infinitely large thing. Like, why did they stop at the JVM and the CLR? Why not what version of Rust C is required? Right.
Starting point is 00:07:07 I don't know. Yeah, I think there is a proposal related to this, but it definitely seems like it's something we're going to need if we are going to have, you know, something related to package management in the official, you know, C++ standard. I think this is, it might look something like this, right? I think it would kind of have to, yeah. But I don't know how big it would have to be. Right. Devon, did you have a chance to look at this? Yeah, I looked it over a little bit, some of the biggest things.
Starting point is 00:07:54 Like I said, I have not tested this, dealing with packages. Actually, when I went to CPCon, I was actually talking with the package manager for Microsoft, trying to figure out how to deal with it. He said, with me being so new to programming in general, he said that's something you should probably just wait to get a hang of. But looking at this, I wrote some things down. It looked like, are these, with the imports and exports, is there something about that you could be able to put these with any of your functions?
Starting point is 00:08:24 But I mean, is that the export import like i haven't dealt with it but are these typical things that are in the syntax when dealing with um packaging so uh function exports like i i don't know exactly where you're looking on here i was just trying to but function exports in libraries, in Unix, generally speaking, are, by default, everything is globally exported. And if you link in the library, you have access to all
Starting point is 00:08:54 the things. But with Visual C++, you have to explicitly choose what things are exported in a library. So there is definitely, I'd say, not a standard on how those things currently work, so having some way of specifying those
Starting point is 00:09:09 would probably be necessary, too. Okay. I know it was talking about modifying your source code, you know, and modifying the dependency graph and all your sort of all your ways that you focus on code rather than on translation units and build systems. And I was following that, and I your sort of all your ways that you focus on code rather than on translation units and build
Starting point is 00:09:25 systems um and i was following that and i was kind of like is this like sound like a front console modules to build your your projects to other projects with cmake because i was talking about how every time you if you change anything with these modules you have to constantly go back and have to redo everything with cmake and with your chrome code bases right yeah um so y'all may be familiar with that but that's totally new to me so and this all like and more modules come in there's still so many unknowns at the moment yeah yeah okay well since we're talking about modules a little bit uh the other article we have is about modules and it's uh headlined modules are not a tooling opportunity and i think this is in relation to a different post saying how c++ modules are a tooling
Starting point is 00:10:18 opportunity um and the post is basically just saying you know it's it's not that easy you can't just say hey we're gonna have modules and magically expect you're going to get much better tools out of the C++ community. It's not going to be an easy task to get better tools when modules come out. Yeah, and looking at this one, I'm like, I felt so disheartened by it. I'm like, eh, never mind. We don't need modules. I mean, I have to, we don't need modules. I mean, I have to apologize about that.
Starting point is 00:10:49 Go ahead. That was actually my notes for this, this, this, this module. I apologize about that. So that's all right. Yeah.
Starting point is 00:10:58 Um, but I think the author does say that he is still excited about modules himself. He just, uh uh thinks the tooling problem is going to be hard to solve right yeah that's what it looks like i mean it's the same kind of things that we've seen like uh izzy talking about like yeah are we going to have to recompile everything so that we know what to compile right right, right. And I don't feel like I understand all of the intricacies of this, but it doesn't look nice.
Starting point is 00:11:32 Yeah, well, I'm looking forward to seeing how far along modules get this week. We're recording this while the San Diego ISO meetings are going on. They sounded hopeful going into those meetings when they brought it up at CPPCon, but we'll have to see how it goes. And speaking of the San Diego meeting that's going on right now, we have a pre-trip report from Herb Sutter. And this is pretty interesting.
Starting point is 00:12:02 He is highlighting how there's a record number of both papers and attendees for San Diego. And because of that, they've decided to make two additional study groups, a evolution working group incubator and a library evolution working group incubator. And I guess all these new papers are going to kind of have to get filtered through those incubators instead of just going straight to ewg or lewg and just kind of flooding and overwhelming those groups and having nothing get accomplished yes i mean it seems kind of of necessary with the amount of papers and people that are going to be at this meeting. Yeah, and they're supposed to be basically pre-processing, pipelining the deal.
Starting point is 00:12:56 So the incubators will check to see if something is worth sending off to the regular evolution groups. Right, and also if there's several features that are kind of similar, then they can try to combine those and get a combined paper before putting it onto the full working group. Yeah. Yeah. And have you seen that there's an LEWG Twitter handle? No, I don't think i have i saw active this week sorry go ahead i was just gonna say have they been active this week uh i don't know i haven't been paying that close attention i just saw that they were following me at first okay and then uh if you click on it you see that it says pronounced loogie really and like that's
Starting point is 00:13:49 just terrible yeah and now i'm going to continue saying lewg yes and now having looked at it uh at this paper from from herb i see that it's bryce who is the chair of LEWG. So it seems all slightly more clear now. Well, I think Bryce is the chair of the LEWG incubator. Yes. Yes. That one.
Starting point is 00:14:14 Right. Oh, so was it the incubator or not? That followed me. I don't remember. And, uh, JF bastion is going to be the,
Starting point is 00:14:22 um, in charge of the, uh, EWG incubator. Right. Yeah. So there is actually something that stood out to me in this article. And sorry, Devon, did you read this?
Starting point is 00:14:34 Did you have any comment on it before I continue? No, I don't. Okay. Okay. herb here says in general all participants are encouraged to consult p0939 the director's group suggestions this is the our direction group this is the group that is setting the overall direction for um where c++ is headed it has five members of it and there is a rotating board of directors it says bjarni lost the random number draw so he is the chair for 2018 so he lost so he gets to be the chair um but this starts out by saying that they were asked recently at a standards committee
Starting point is 00:15:21 meeting who all has read the design and evolution of C++? And let's see, Titus Winters asked this in 2017. Only about a quarter of the hands went up. Assuming that another quarter was shy or distracted, that indicates that half of the committee had never read the articulation of key design principles and decisions for C++. So he says part of the reason is that copies of design and evolution are hard
Starting point is 00:15:45 to find so they have opened it up or bjarni has opened it up anyone who is a committee member can ask bjarni for a copy of design and evolution so i'm assuming you sent it to them as pdf i went and looked there are used copies available on Amazon, depending on the quality, they're between $14 and $65. Oh, wow. But I had never really considered reading this, but apparently it run a couple of awards for software development and talking about the history and design of C++, and they all think it's really important to understand why certain things are being rejected from the standard because it doesn't fit with the goals of C++. I feel inspired to read this book myself now. Yeah, it sounds like it's probably a good read. Maybe they should update it.
Starting point is 00:16:40 Well, it probably doesn't need an update. It's like a history book. Right. But apparently it's not necessarily in print right now or something. Yeah. Yeah. The one last thing I wanted to mention from Herb's pre-trip report is actually two things. One, it's not starting this week, but he's announcing that there's going to be a new study group on machine learning. And the graphics study group is coming back, but it's no longer going to be called the graphics study group. It's renamed to HMI and IO, which is human machine interface and IO.
Starting point is 00:17:24 So there's a number of papers that are going to be discussed in that group. So graphics is not dead, but it might be completely different in this new or reborn study group. Yeah, he said something specifically about that due to the number of people who are interested in it, basically. Well, that's good, because C++ does need something. It's just maybe that paper was not right. Maybe. Maybe it was right, and we'll find out later that it was right.
Starting point is 00:17:57 I don't know. Okay, well, Devon, you've entered a few different careers before uh pursuing computer programming and i wanted to ask uh what caused you to enter programming now and why c++ well i originally actually went to school for computer programming i um i actually i went to school and everyone said you know i was good at math and you know that's always a the rumor of if you're good at math, you're going to be good at programming. So I don't know if that's completely true. But so, I mean, I decided to go into programming. And when I first originally went, the director of the program, you know, it was kind of hard to follow his teaching. I was going, and we were talking about flow charts and pseudocode.
Starting point is 00:18:43 Everything was paper and pencil, and it was all logic and design. And unfortunately, life events happened and I just kind of got discouraged and I left that program. You know, I went through becoming a barber, which was fun. Loved it. I went to law enforcement, you know, didn't really work out. You know, it was one to help people because that's what I love to do. Became a personal trainer. Loved that as well. But I kept feeling like I was missing something, you know um because I think I'm a person I like to see results I like to do things and see what how exactly it happened and be able to see what
Starting point is 00:19:12 it's doing right so I decided you know you know I'm gonna go back to school for a rich you want to go to school for and I you know always loved video games and I want to learn how to design video games so I went back and I met the new director the new director i mean he was very intuitive and very encouraging and i mean i just you know it was just i was just ecstatic of how he explained it because he said the first day of our project on the logic and design you know where you're going to learn in your language how to do hello world first day i'm like okay cool you know that's already kind of inspiring i can learn how to code on the first day. I went in and learned how to do Hello World and my instructors were all ecstatic and they constantly made things relative where I can understand it. Whether it's a video game
Starting point is 00:19:55 talking about how it usually deals with in databases and how information is transferred. Right in the first semester, I'm just ecstatic about, you know, and I wanted to do C++ because I heard that was one of the biggest languages that people use for video games. So after going with that, you know, I just, you know, I decided to go from there. You know, like I said, you know, that's pretty much where I am now. After, you know, like I said, like I had a,
Starting point is 00:20:31 my, the director of the program was Joseph, Joseph Cepieli and Mr. Larry Hobbs. Like I said, they went over and beyond to help me understand, especially me having ADHD. My mind is constantly all over the place. So, and so sometimes it's hard for me to really settle down and, but they make it relative and they constantly make it interesting where my focus doesn't leave off um so that's kind of how i came back to see onto programming which primarily in c++ so how long have you been in uh school on the second go around now so far since january of this year january okay so that's yeah not terribly long really no very short so what classes are you taking i'm sorry go ahead jason no i go ahead rob that's what i was gonna okay so uh what classes are you taking currently right now i'm actually taking my sql android it analysis and java one um i've already taken c plus plus one and two and project logic and design and the intro to mobile apps so um which is my sequel has kind of helped me a lot you know
Starting point is 00:21:44 dealing with databases and you know which is i think is kind of helped me a lot dealing with databases which I think is going to be very important with any language dealing with databases yeah as an aside say that for basically every job I've had I've had to deal with databases at some point or another which is from my perspective ironic because
Starting point is 00:22:05 i had the opportunity to take a databases class in college and i decided not to because i had no interest in databases and then i've used like seven different database engines so learn as much as you can because it'll probably keep coming up yeah which actually can actually lead to uh another one of my if i could talk about some of the things that we do in Android right now, we're dealing with, because Firebase is actually fairly new. It's everything through the cloud. So you do databases through the cloud, which is there's no upfront cost of hardware. connecting with that and also making a project right now dealing with making a mobile apps for maintenance men. How they can log in and how they can
Starting point is 00:22:48 achieve information, have assigned jobs and addresses for them to go to. So that's a fun project that we're doing in Android of learning to deal with databases and stuff. And you said that's using Firebase as the backend? Yes. i've not used that
Starting point is 00:23:06 myself it's pretty interesting i know the fireplace um they have like a beta aspect of it and they um it's all through google and um like i said through there you can also like i said set it up free account you know they have of course free accounts for a certain amount of space and um it's no sequel if um if that paints the picture of exactly what you're going to be dealing with um so it's uh it's a little different from my sequel of course you know dealing with normalization going from normalization to denormalization um not denormalization but you know no sequel with the normalization um but it's pretty interesting like especially with you not having any upfront
Starting point is 00:23:45 hardware needed and it's real time so that's the interesting thing that sounds extremely practical i mean uh what you're describing a handheld application for people in the field i mean we see people using these all the time right now like uh thePS guy dropping stuff off or whatever it seems very relevant that's also we're dealing with in the IT analysis class that we have we're going through a business that started from going from working for somebody going to business for himself and when he's going in business for himself he's trying to create his systems and his information systems and everything dealing with all the information coming in and going out because he went from delivery picking
Starting point is 00:24:30 up packages and and delivering packages for all the for like a local city and he's trying to get all these packages from people because they they want same day delivery because you know you may need to send something in the same city from one place to another real time. Not real time, but, you know, same day delivery. And he just, you know, so we have to assess the situation and do recommendations of how, what kind of systems need to be involved. And, you know, what's the hardware aspect and the software. And, you know, what would you recommend to him if you were his analysis and had to, you know, guide him. So that's something we are doing in IT analysis as well. So that's pretty cool.
Starting point is 00:25:09 Yeah, so those are pretty good projects, you know, to kind of, like you said, give us real-life situations of how we're going to be on the job. Right. It sounds like the whole curriculum seems a lot more kind of like real-world scenarios, giving you projects similar to what you would get out in the field, which is so different from when I went through school. Yeah, they have great programs. Like I said, with the director, like I said, Joseph Cepielli of Augusta Technical College in Augusta, Georgia. He's phenomenal, phenomenal guy.
Starting point is 00:25:40 Great director. I think I couldn't put a better person um because i mean i'm not talking bad about any other schools i'm just saying in general like i feel like we get a lot of practical information and practical use because a lot of times i know somebody that i've talked to and they're almost done with their bachelor's degree and they haven't touched a lot intro coding and they wouldn't know where to start you know and i'm not putting them down because a lot of times with the theories it actually helps i'm just saying for me it worked out for me because you know especially I lose you know if I don't if I can't see something it's kind of like I can't see the end game I can't see what's going
Starting point is 00:26:12 on so for me to be at the first day better touch some code and learn you know and I'm ahead of the curve you know and this is only a two-year college and I'm getting all these information all this all this knowledge from which is you, you know, it's really, you know, beneficial, you know, because, I mean, most people want a bachelor's degree, but if you have an associate's and you get to say, well, I know C++ programming, you know, I know Java, I know MySQL, you know, I know I have multi-platform, you know, web design for mobile apps. I just think that, you know, within two years, there's a lot of information to take in. Say, I can build websites, you know.
Starting point is 00:26:52 So, I mean, their program is phenomenal. I mean, I looked online and see there's a better offer. And there's any other schools that can offer that much information in a two-year school, and I haven't seen it yet. So, I mean, it sounds very practical and very good but with your interest in games programming is there any part of it that you'll get exposed to games development part as part of your education as well no unfortunately no they're looking into that because they understand um the director understands that you know a lot of people come into programming or looking into some type of gaming or some, you know, a lot of people that come into programming are looking into some type of gaming
Starting point is 00:27:27 or some type of, you know, a lot of people are interested in it but don't know where to go. And especially, you know, if there's no schools or anything close by to really teach you, you know, you're kind of like what I'm doing, going online, trying to outsource and figure out how to do it yourself. So I won't be able to be introduced to it, but that would definitely be my uh my search after this of looking for a school where i can pursue that a little more but um i'm getting
Starting point is 00:27:52 decent exposure for where i'm at now i mean i haven't been able to make any things super you know super great right now but i mean to me it's all great because i may put you know at least deal with two-dimensional games i mean it's pretty cool at um introduction just online so so is it uh safe to assume that the android stuff that you've been doing in your mobile class is java you've mentioned java also unfortunately unfortunately yeah i feel like java and c++ have such a different philosophy i was wondering as a new student like how much is that messing with your head going between those two um if it was if it was up to me i'd put java on a baseball and hit with a baseball bat but um but i mean it's i think it is messing with me a little bit because now I'm getting impatient when I'm ready to get back to C++ now. Because, you know, I'm not trying to bash Java, but I just, I feel like maybe just because C++ is my first language that I feel like I understand it very thoroughly.
Starting point is 00:28:57 Not thoroughly, I mean, I'm not, you know, I'm still early in it, but I feel like I can follow the flow a lot better. I feel like Java is just kind of bloated. I feel like there's, like, a lot of information for no reason. And, you know, even with Android, dealing with Android Studio, there's a lot of times where I'm like, I might need a counselor because they constantly have updates, and you can have a project that works, you update it, and then it crashes, and you're just like, oh, God. You have to go through it.
Starting point is 00:29:29 And the compiler, for me, isn't really easy to follow. When you have bugs and errors, it's just not that easy to follow. I feel like when I'm dealing with, like, well, I only deal with Visual Studio with C++. So when I'm in there, I feel like I can follow my errors a lot easier than Android Studio, which is a nightmare. I don't think any of our listeners are going to complain if you bash on Java a little bit.
Starting point is 00:29:54 It's fine. I'm going to rant for 15 minutes if you want. You joined the C++ world at exactly the right moment, if I may, because say five years ago, our C++ errors were terrible from the compiler, but there's been an arms race between Clang and Visual Studio and GCC for everyone to get better and better errors.
Starting point is 00:30:20 So it's a good time to be joining this world. I haven't been able to follow um like gcc and um clang um are these are they fairly new is that is it kind of did it kind of bring visual studio to kind of have a little more competition and kind of see how other things are done and they can kind of try to work off each other almost because you know sometimes competition can kind of you know boost you know efficiency sometimes right so gcc and microsoft's compiler in one form form or another um visual c++ have been around since the beginning effectively like the late 80s and the clang only came into existence what maybe six or seven eight years ago something like that
Starting point is 00:31:07 sounds about right out the gate it it had better errors than either visual studio or gcc and it was the one that brought the competition everything had kind of stagnated to that point and clang was the one that made everyone else be like oh we, we can do this better? That's interesting. Yeah. Sometimes the industry needs things like that. Yeah. Give it a kick in the pants. Yeah. Yeah.
Starting point is 00:31:36 Are you learning any other languages aside from C++ and Java? No. I've learned a little bit of HTML and JavaScript, but not enough to really put me in front of a computer and say, build me something. But I mean, I've had a brief understanding of it because in my mobile introduction class, we had to do, we've had to deal with app inventor with MIT, which is a lot of plug-and-play type thing, but it's kind of really all logic. Then we had to deal with Java. Then we had to deal with Swift.
Starting point is 00:32:16 We've had to deal with Xamarin. And we've had to do some things with HTML and JavaScript. I can't remember exactly how it related, but it was something we did with it to output a message. But it was all, like I said, once again, great exposure just for introduction class. But that's in like 10 months you've been exposed to all those. Yes, sir. Those things I was just telling you with the introduction to mobile, that was only over the summertime.
Starting point is 00:32:49 Wow. That was even, so that's like 10 weeks. So we didn't really, so I mean, we got just a lot of introduction. And he did that because of, you know, there's different platforms. You know, we have Android. We have Apple products. And then we have, you know, Windows Phone, which is, you know, not really relevant at this moment. Yeah. platform we would like to pursue because at our program right now we have either android ios and we just um have cross-platform web as well something we just got we're gonna with this
Starting point is 00:33:31 xamarin and stuff like that that we're going to be getting getting classes for okay rob you've done windows mobile huh yeah uh it's been a while since windows mobile uh development and it's you know effectively dead now. But I did do some Windows Mobile in the past, yeah. I wanted to interrupt this discussion for just a moment to bring you a word from our sponsors. Backtrace is a debugging platform that improves software quality, reliability, and support by bringing deep introspection
Starting point is 00:34:00 and automation throughout the software error lifecycle. Spend less time debugging and reduce your mean time to resolution by using the first and only platform to combine symbolic debugging, error aggregation, and state analysis. At the time of error, Bactres jumps into action, capturing detailed dumps of application and environmental state. Bactres then performs automated analysis on process memory and executable code to classify errors and highlight important signals such as heap corruption, malware, and much more.
Starting point is 00:34:27 This data is aggregated and archived in a centralized object store, providing your team a single system to investigate errors across your environments. Join industry leaders like Fastly, Message Systems, and AppNexus that use Backtrace to modernize their debugging infrastructure. It's free to try, minutes to set up,
Starting point is 00:34:43 fully featured with no commitment necessary. Check them out at backtrace.io slash cppcast. So you made it to CppCon this year. Was that your first? I'm assuming it's your first C++ conference that you've attended. Yes, and it was
Starting point is 00:35:00 exciting and overwhelming at the same time. It was just so much information. I mean, 15% of it I can follow. 85 was just a jaw dropper. Like, you know, so, um, but I mean, it was very interesting. I think the biggest thing about it is just, um, just seeing where the direction of the language, you know, a lot, a lot of these things that I attended, um, you know, they're talking about just the direction of the language, what I can expect, you know, once I start working and I start progressing. You know, at this moment, like I said, I'm only dealing with C++11.
Starting point is 00:35:32 I haven't got, I haven't dabbled too much into 14. So, but just seeing where we're going to be coming in the C++20 and 17 and just seeing some of the big names like yourselves and you know dr shustrup you know it's just interesting you know going because honestly i didn't hear about anything until i actually heard from your podcast i um i was looking around trying to find like is there anything online where i can learn more c++ because um i was at the end of my c++2 um which is my second semester and i just wanted to know more what what am i going to do from here because you know i'm not working in it and um i tuned into your podcast and i heard about all the information and all the names that you brought on and so i started following your show when you started talking about um the cpp con
Starting point is 00:36:23 and i was from there i was ecstatic about going there and the funny thing is able to bump into mr jason turner and and um trying to keep it together like uh i'm trying not to make myself sound like an idiot but uh um so i talked with him and it was interesting i mean i remember just like when we went to one of the talks when he was talking about training other people you know trying to train other workers at a business. And even though I'm not working at a business, I'm not training anybody. But I just to hear that aspect of how trainers are looking to train, you know, newcomers into the language. So, yeah.
Starting point is 00:37:02 So the CVP con was very exciting there's numerous things i was into um that uh like i said i went to every single class every single hour so i was pretty busy because i just wanted as much information as possible but towards the end the last day i was pretty exhausted yeah i think go ahead jason well i was gonna say after that many days it just starts it goes in one year and just kind of leaks out the other year basically do you have any specific highlights from the conference?
Starting point is 00:37:35 I'll say like the broad and narrow aspect of my highlights on the broad aspect was just learning what Dr. Brianna Shostrov was teaching about concepts and with Dr shastra and the committee members just you know just watching to put like how a lot of the talk is always pushing for the direction of the language i know i said that earlier but to me it was just amazing just to see that you know for one it's just a community at the cpp con and just seeing that you know a lot of people from different realms are trying to you
Starting point is 00:38:05 know with the committee and stuff pushing for a direction a narrow aspect I'll say templates and lambdas because I've not learned that I've not learned that in school we had a brief understanding of it you know but those are kind of gave me one of the biggest next steps to what how I need to become a better C++ programmer dealing dealing with templates and lambdas. And so that kind of gave me some insight of what I can do in my own language and how I can play with it, which is something I discussed with Mr. Turner as well about, you know, talking with him about templates, but he's able to fortunately send something to me for that. And Side Effects, their presentation on how they rewrote their own version of C++ and how they put their own graphical effects together.
Starting point is 00:38:53 To me, that was just, like I said, jaw-dropping, way over the head. But it was just kind of interesting watching how he put everything together. And if I'm not mistaken, I believe he said they had to rewrite their own version of it. Do y'all remember anything from that talk if he said that I don't think I went to that talk yeah sorry that was the keynote are you referring to oh right okay
Starting point is 00:39:16 yeah the keynote yes I don't recall that part of it but they such a long history of that code that they had to do so much trying to keep up with everything. Yeah. That was pretty amazing. And then the funny thing was I went to the SG14 meeting.
Starting point is 00:39:34 Oh. I thought it was about, for some reason, I think I misread it, but I thought it was just strictly about video games. And I walked in there and I instantly realized after about 10 minutes, like, I think I chose the wrong class. Because I don't know what they're talking about. But I mean, it was still interesting just seeing, you know, I still try to take some pictures and stuff like that just for something
Starting point is 00:39:57 I can try to learn on my own. You know, just try to figure out later what they were talking about. So did you spend the whole day in the SG-14 meeting? No, I realized early that after our first break, I got to go. or what they were talking about. So did you spend the whole day in the SG14 meeting? No. I realized early that after our first break, I got to go. Yeah, it is an intense week for sure, and I've never been to one of those meetings even.
Starting point is 00:40:18 Yeah, me neither. So do you have any recommendations for first-time attendees of CppCon, like yourself? Oh, for me? Yeah, if you were to recommend to someone else their first time attending CppCon next year, what would you recommend to them for having a good conference? I would probably recommend, one, pacing yourself. You know, don't try to take in all the information at one time. I would say, um, definitely stick with, um, something that could be relatable or maybe pick maybe two or three things that you would really want to follow. And when you
Starting point is 00:40:58 pick two or three things to follow, you know, stick with those points and try not to outsource too much. I just, and I say that because, you know, me trying to learn, you know, stuff about the video games, trying to learn, learn about the packaging and starting to learn about, you know, um,
Starting point is 00:41:12 you know, uh, Conan and trying to learn, you know, all these different package managers and I'm having an open ear to every single one of them. And so I learned like four or five, but I didn't learn,
Starting point is 00:41:22 but I heard four or five different package managers from being there. So I'm getting all types of confused. I mean, so, I mean, you got to pace yourself. You know, that's what I would tell someone. Pace yourself, pick three topics that maybe one is relatable, two things that you would want to actually learn more about and stick to those. Don't try to go to everything like I did because I was there from like nine in the morning to 10 o'clock at night. So, so long days.
Starting point is 00:41:50 Yeah. Very long days. You went to the lightning talks too, I guess. I went to a few of them. Um, I think some of those were taking place at the same time with something else, I believe.
Starting point is 00:42:01 So some of those, so some of those times I didn't make it. Um, but I wish I would actually went to more of those, but they were pretty fun. Um, I believe. So some of those times I didn't make it. But I wish I would have actually went to more of those. They were pretty fun. Never know. Maybe one day I might do more. Yeah, sure. I recommend it. Get out there. Try to do a lightning talk on whatever is interesting to you. It's good practice. Yeah. So are you working
Starting point is 00:42:23 on any C++ projects on your own own i know it sounds like you're very busy with uh coursework i think you mentioned a game that you're working on in your free time yes sir oh yeah um i'm uh i'm actually uh you know working on a few games um i got one concept that i've not touched on but that's really something that's gonna be Once I get done with school I'm gonna have to put a lot more time on Um but I'm working on Like some small games nothing too huge Just something that can
Starting point is 00:42:54 You know At least gain some recognition on Just get some support at first And from there you know kind of build on to that Just to you know just to get my first one out um so uh yeah like i know with um android once again we uh some of our projects we um make small games um you know not nothing too crazy on the mobile apps as well so the mobile app is something i would like to do later later as soon as I can learn how to do that in C++ on Android Studio. Android does not really encourage C++ from my experience.
Starting point is 00:43:33 It's definitely possible, but the documentation on it is kind of thin. They kind of just encourage you to do everything with Java. They have CMake support, which I don't know how to do everything with java yeah yeah they they have cmake um support which i don't know how to do cmake so that's so um that's something i have to learn further but they have ways that you can use c++ and i mean i've been able to write c++ inside of android studio and got a message output but when i started to try to you know i got excited on the first one i have to write a message i try to continue continue. And I started having, you know, little problems on how to call, you know, call functions. And, you know, I kind of got lost.
Starting point is 00:44:10 Like, okay, like, how do they do that? So, like I said, there's not much documentation on it. I try to read it and I feel like I was just still looking at a wall. So, but if somehow I can figure out how to write everything in c++ i'll be very ecstatic even though it's good to know multiple languages just to be you know a little more broad aspect because you never know when you might need to do something another language but i by far everything i've touched i i my c++ is definitely my language of choice that's awesome yeah so any of these uh projects that you were talking about do you have any uh
Starting point is 00:44:48 website or github or anything like that that people might be interested in following along as you're experimenting and learning no i i think i should start one i mean i think that's a good point that i probably need to do a github I said, just have followers just to kind of follow some of my work or something. But no, I have not gotten to that yet, especially like Rob was saying, once I have some more free time outside of school, I'd really like to get on some more projects with C++. Yeah, definitely recommend starting on github if you have uh and just throw whatever you have up there whatever projects you're working on
Starting point is 00:45:31 yeah okay do you have any idea what type of uh career you're interested in after school um yes i actually it sounds a little far, but I would really actually like to start my own business and make my own video games. That's something I really would like to like to do. I've always had a vision and wanting to, to, uh, start my own business, whether, no matter what I've done, I've always wanted to think of a way, how can I start my own, you know, and I've always had, you know, the mind, I really want to do my own thing. Um, so that's something I would really like to do. It sounds a little impractical, especially me being so early in it, but, um, that's something I'm striving for. But if, you know, if I had to get a job right now, though, I would like to, um,
Starting point is 00:46:19 anything in the game development, you know, uh, I really enjoy doing game development you know i really like enjoy doing game development um and with that what i was saying too with starting my own business that's why something i was kind of looking into um like patreons and um there's a something out here called clubhouse um that actually they are based out of augusta georgia and they help individuals learn innovate and build is something that they have on the first thing on the website. And they kind of help people get started in their businesses. They'd help entrepreneurs, you know, get their ideas down and they fully fund entrepreneurs. That's something I want to look into. Because if there's like a way I've heard that sometimes some people get patrons in the middle of building their business. And if there's a way that you know i can get something like that while i build you know my
Starting point is 00:47:08 own video games and you know do some projects that'll um definitely help me out yeah that could uh yeah definitely be helpful i was just reminded of um the author of source trail when we had him on he was saying that he was initially funded by a small business grant loan for new research or whatever when he made that project and here in austria so that kind of thing is definitely definitely something to look into i've never pursued it myself yeah it's it's um it's very useful for people like especially you know starting a business and becoming an entrepreneur these days especially if you don't have too much direction it's it's rough all by itself and for some like i said for like clubhouse like they help you get started
Starting point is 00:47:55 from beginning and um and they actually will fully fund you a place to stay and everything from what i've heard you know um when i because, I don't know if you guys ever heard, they have a Georgia cyber center, um, where I'm at in Augusta, Georgia and something they just put up and, you know, like the clubhouse is based out of there. So, and they're trying to bring a lot of technologies and stuff out there. And, um, they call it that, you know, they have a lot of innovation rooms, a lot of different floors. And, um, like I said, I really want to get in touch with them and see what we, what they can offer. because you know hey you know if i can push the dream and somebody can help me do it especially you know start getting into the you know the laws of everything and trying to copyright and everything and trademark you know which is all
Starting point is 00:48:39 sticky so yeah it sounds uh yeah really good i'm not familiar with those kinds of things, but you'll definitely have to keep us up to date once you go down that road. If you've got some business you want the community to know about or whatever, send us a tweet or something. Yeah, if you ever publish a game in the future, we would love to share it with all of our listeners. I appreciate that. I truly do. Okay, well, it's been great having you on the show today devon yes it was lovely to be here
Starting point is 00:49:12 i truly um appreciate the opportunity um from you rob and jason i truly appreciate the opportunity to come on here that's great to have you on Do you have like a Twitter handle or anything that you would like to let our listeners know about? Okay, yes, it's at labrie underscore devon Okay Thank you so much again, Devon
Starting point is 00:49:36 No problem, thank you Thanks so much for listening in as we chat about C++ We'd love to hear what you think of the podcast Please let us know if we're discussing the stuff you're interested in, or if you have a suggestion for a topic, we'd love to hear about that too Thank you. at Rob W. Irving and Jason at Lefticus on Twitter. We'd also like to thank all our patrons who help support the show through Patreon. If you'd like to support us on Patreon, you can do so at patreon.com slash cppcast. And of course, you can find all that info and the show notes on the podcast website at cppcast.com. Theme music for this episode was provided by podcastthemes.com.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.