CppCast - Learning C++
Episode Date: November 8, 2018Rob 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)
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
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
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
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.
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
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
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,
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.
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
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,
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.
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.
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?
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
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
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
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
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.
Go ahead.
That was actually my notes for this,
this,
this,
this module.
I apologize about that.
So that's all right.
Yeah.
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.
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.
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.
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
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.
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,
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?
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
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
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.
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.
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.
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.
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
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
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,
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
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
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
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
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
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
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.
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.
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
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.
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
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
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.
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.
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.
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.
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
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.
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.
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.
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
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
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.
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,
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
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.
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
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.
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?
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
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.
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
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.
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
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.
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
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,
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,
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.
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.
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
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
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.
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.
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
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
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,
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
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
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
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
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
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.