pub struct Transcript;
Expand description

Holden Marcsisin

C: Hello! Can you tell us your name and a little bit about yourself?

H: Um, I’m Holden, I’m a student from Pittsburgh, and I go by Ospiel (sp?) on the forums and the reddit, and uh, yeah, I’ve been programming in Rust for about two years now.

C: Awesome. How did you discover Rust?

H: One of my friends - shortly after I had stopped programming in Java and Python just from school - I was interested in doing lower-level programming, in doing just more advanced stuff and I wasn’t aware of any other languages, so a friend of mine pointed me as just a (unintelligible)…in a chat room, one of my friends there, she pointed me towards Rust…so I started using it, I really liked it, I liked what it was doing with the language and I just kept using it for the past two years.

C: Awesome. What kinds of things have you built with it or are you building with it at this point?

H: For the most part I’ve done, uh, like, graphical stuff and user interface stuff, because I feel like the Rust current user interface story is pretty lacking, and it’s missing a lot of stuff…there are libraries that exist in Rust right now, but I don’t feel like they really take advantage of the features that Rust has, and they are mostly like libraries that exist in C and C+ +, which makes sense, because, like, the biggest one - GTK - it is bindings to uh, I don’t want to say just bindings to the language, because they put a lot of work into that library, and it’s in a pretty impressive state, but I think there’s only so far you can go by binding to another language and using the existing API, so I’d like to make something in Rust that takes advantage of Rust features like traits and uh, procedural macros to make something that is really pleasant to use and couldn’t be made in another language.

C: That’s a really cool ambition. What - actually, do you have a lot of background in that kind of stuff, or did picking up Rust inspire you to do that?

H: Um, I don’t have a lot of background. I am interested in doing stuff with video games, and I’d like to make tooling for those games in Rust, but one of the requirements to do that is to have a user interface library to actually make the tools, so I…that’s not currently available, so I’ve just been working on that for about the past year now. I’ve been trying out various different solutions, and not all of them have worked. Right now, I’m currently about on the third iteration through and I think this is like - what I have now is something that I think I will able to get out there and publish as something I am happy with.

C: That’s awesome. Are there any particular things you’d call out as successes or failures for Rust itself, or for the community, that are worth note?

H: Something that I would say that is going well with Rust is - the community is super nice and welcoming - and something that I really like is that, because it’s such a new language, people are encouraging experimentation in topics and this is facilitated by stuff like crates.io which lets you easily create the new packages and publish them, and quickly swap between packages and try them out, I think that’s really important…and because this is a new language and there aren’t established solutions that’s also helping it, because people can try out new ideas and create new solutions to problems that have already existed, and actually have a chance to succeed in that, because the community is so small that people can work together…they can create something that actually has a chance at making an impact. That’s not the case with say, from what I’ve seen with JavaScript, which has a bunch of people creating libraries, but the space there is super crowded, but C and C+ + there are already established solutions that are the go-to to use and you don’t have very much reason to use anything else besides those.

C: That’s a great perspective. Thanks so much for your time.

H: Mm-hm. Thanks for talking to me.

C: My pleasure.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.