These viewers had some questions about investing more time in their current stacks or switching to something that might seem more trendy. Java or Rust? DotNet or Mojo? What should we do?!
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
Hey folks, I'm just headed to CrossFit. Running a little late because I didn't think my windshield was going to be frozen. I thought it was just wet. So, I sat down and went to go drive and uh I was like, "Oh, I'll clear it with my wipers." And then my wipers didn't move. Um so, that's not good. But, uh we're going to survive. That's the best part. I'm going to go to last night's live stream for this topic and I wanted to talk about um a question that came up from two viewers actually uh not the exact same way but similarly. They're talking about um like movement between tech stacks, right? So um and I I apologize cuz I'm speculating a little bit on on their level. Um and I don't know.
I think one at least is uh someone who's more junior and the other person I suspect is not um junior in the sense that they're like an aspiring developer or just getting started um because I think they they talked about having some experience at least with uh the language that they were looking at. So in one case uh someone was talking about uh they're currently working with Java or learning Java and um you know should they switch over to Rust and uh it's an AMA stream right so the first thing that comes to mind is oh great you ask me a question that's going to be polarizing for like no matter what I say right now so u I'll you know we'll talk through this a little bit more and then uh another person um a little like shortly after us talking through that their
similar question was that they're actually a .NET developer and um they're trying to do more with working with AI so you know being able to interface with LLMs and agents and explore this kind of stuff. So they were saying like should I consider switching over to to Python? Um they talked about Mojo which uh full transparency I hadn't even heard of Mojo. Um they explained it you know very briefly as uh something that is sort of uh has the feel and ergonomics of a what we would call like a highle language like a Python but also has the performance of a low-level language like um like say like C and I guess this is new and built for AI usage as an example. Um so these are the two sort of scenarios. We'll talk through this uh sort of individually and then like a generalization.
So the first one um right how do you um ask a more polarizing question of uh you know which which language is better but um I I told them and viewers on the stream right it's like it's not uh it's not a matter of like we can just sit there and step back and say well clearly one language is better than the other therefore go with it. Um, it's a lot more nuanced than that. And the reality is like there isn't a best language, right? So, uh, are you trying to ask about, you know, what language is most employable? I don't know. You're going to have people that are going to say, "Well, Russ definitely everyone wants Russ. Russ is super in demand." Like, I don't know. Do you see stats on it? I don't have them personally, but like there are a lot of people talking about Rust.
I do not think that the surface area for rust is as high as people think it is currently. Does that mean that it won't continue to grow? I'm sure it will continue to grow. So that might be a totally viable option in terms of an employability perspective. Um the other way to look at it is how much stuff exists right now that's in Java. There is a ton of code that exists in the world that is Java. Okay, it's like so that's one way to look at it. The other thing to consider and there's lots by the way I'm not going to have like a you know perfectly numbered list here of like these are the three things you need to think of there's a lot of different factors and so next one is like um you know where are you at with your learning
journey for Java like did you are you literally just getting started and you're like wait you know like I started yesterday and maybe I I want to change my mind in which case great you're like you you're not wasting ing time like you can if you want to flip-flop between them and find you want to do the other instead that's cool. Are you like getting into the weeds of it and you're starting to build stuff with Java and like maybe that's a point that you need to make a decision like hey like if I flop like flip over to to Rust right now like maybe that's not a good opportunity for me because I'm just starting to build some momentum with Java just starting to understand it a little bit better. It might be that you are currently closer to, you know, being more employable with Java based on your experience level.
And if you just jump ship from Java right now and switch over to Rust, like now you're going to have two languages that you barely know. Is that worse? Like I I actually don't know. I think probably it's worse if you don't feel comfortable in either, but you want like want to list two languages on your resume or something and it's like what have you done with either? And it's like, well, not much. I read the docs on both. Um, versus, you know, you were able to kind of even put together side projects in one of the one of the languages. Like, I would I think I would probably opt for that personally. But the the the hard part about, you know, answering questions like this is like I'm not you, right? So when I try to answer this stuff, my goal is to give you a bunch of different things to think about.
And this is the like sort of meta point with all of my videos. My goal is to give you things that I'm thinking about. No, I'm not even saying those are the best or the the most or the only most right or the only things to consider. But these are the things I'm thinking about. I hope that you think about them and other things too and you make an informed decision for yourself because I think that's what has to happen, right? My goal with this stuff is not to say do what I say. It's to basically say here's a bunch of things to think about and I hope that you can make a more informed decision at the end of it. So, with the Java versus Rust thing, it's like I I don't know what your goal is. Um I don't know where you're at in learning stages.
Um you know, I if you're just asking, do I think that you can get jobs in either? I think absolutely yes for both. Will you be building different types of things? Probably. And this is also where it gets hard to ask this kind of question on social media because when people start talking about it, the example I gave was like if you want to go build web applications, right? Like I would say you're probably not using Rust. But then the problem with talking about this stuff on social media is you'll have someone that says, "I absolutely build, you know, my my stack for web development in Rust and it's absolutely doable." And it's like that's not it's not my point. Uh I'm not saying that it can't be done. I'm just saying that like this is not a typical thing. So, if you're trying to go get a job, it's statistically unlikely that you're going to say, "I'm I'm using Rust, therefore, I want to go do front-end development." It's just probably not what's happening.
Is it possible? Sure. It's not the point, though. So anyway, uh lots of things to consider for yourself and your situation if you're in a similar one could be uh still very different in terms of the things that you value compared to this viewer. So all that said, yes, there's career options in both paths. Can you can you learn the other one later? Yes, absolutely. And like it's probably, you know, if you are later in uh stages for this kind of stuff, like it might be a great opportunity to go start exploring another language. I think that's one of the really cool things is like learning about why languages are different, right? The ergonomics of like actually using the language, like what does that feel like for people that uh have only used interpreted languages? is like if you switch over to a compiled one like what what is that development experience like and the other way around too, right?
Like I I basically only use languages that compile. So when I have to go touch JavaScript or TypeScript and stuff like and I'm like, "Oh, this feels weird." Type script's a little better, but um cuz we got types, but with JavaScript like I it doesn't feel right to me. But I bet you if I used it longer like it would it would get me to think about how I develop software differently and I think that that can be a very beneficial thing. It's just perspective. this next person that was asking about staying in.net net for um you know for AI and LLM kind of integration work. Um my my personal opinion was like and and I I try to be careful cuz I don't like yes I talk a lot about C andnet stuff and my goal is not to like in all seriousness like I'm like not trying to convert people to it or to force them to stay with it or anything like that.
Like literally, I use it for everything because I'm very comfortable in it. And like if I need to go build something and get it done, I'm going to use what I'm familiar with. When it comes to learning things, I think something that's important to think about is like how many variables do you want to change at the same time? For me personally, if um if I'm not just trying to be super exploratory, like I've done some projects where I change a bunch of variables. Uh, one I did like really early in uh, in COVID times was like what did we do? I used Firebase and I've never used it before. I was deploying to AWS. I had never used it before. I was using uh, Zamarind which I think I had used before or was it called something else before Zamarind? I don't know. It's like a crossplatform net development.
I'm pretty sure I had touched it but like the I don't at that point like even if I had used it I'm basically starting from from zero like I'm not caring much thing but the only thing that I knew that was consistent was C. I had done Android development and I had done iOS development but C was really the the common thing there. So everything else is new, very exploratory. But for me, if I were trying to take something more seriously and like say I want to build this skill set up and not just like explore um like sort of for funsies, I would personally keep a lot of variables the same and then introduce the new one. So I would stick with uh C uh you know if I needed a database I would stick to uh you know SQLite MySQL uh even Postgress is like a little bit um and I I don't know why I don't use Postgress.
I probably should a lot more but um Postgress is like a a little bit different than what I'm used to. So, I would just like keep those variables consistent personally and then that way if I'm, you know, working with AI and LLMs and that's the new thing, I can let that be the new thing and then I'm not like getting overwhelmed with differences cuz I I think personally that's my biggest uh risk to consider is like if I'm feeling overwhelmed when I'm trying to do learning um it it detracts from the learning. We got to we got to switch lanes here. Okay, let's let's find the spot. We got to get in front of this big old truck. You guys can't see what's happening. I'll narrate it to you. We're in the far left lane. We got not a lot of space left. Got to downshift a little bit.
Get in front of this truck. Get in front of this car and then get over it one more lane. And we did it. We survived. Um I hope I'm not going to be late for class. No, I'll make it to class. I'll be there on time. Um okay. So yeah, I like I like fixing as many variables as possible so that I can focus the the learning in on one spot or as few as possible and then not feel overwhelmed with it. That's my my strategy. Does that is that a good strategy for you? No idea. I'm not you, but that's how I like to think about things. If you have no idea, right? You're like, "This is kind of the first time I'm doing something like this. Maybe try my strategy out, right? Maybe try a completely different strategy, but acknowledge like consciously this is what I plan to do.
And then that way you can reflect on it later and be like, hey, was that overwhelming? Was that effective? If it works, do it again next time. If it doesn't work, then don't repeat it exactly the same way. Make adjustments, right? But try to make conscious decisions. That's that's all. So that was that. Um, but yeah, overall I think for this kind of stuff when people are asking about like programming languages and stuff, I think people get too caught up on this stuff. Honestly, um, it's a lot more common I find with, uh, with people that are just getting started. They kind of get like analysis paralysis. And we've talked about this kind of thing before, right? Oh my god, what's going on with my windshield? I can't see I can't see a damn thing. Let's fix that. So, they get analysis paralysis and they're trying to think like, well, I don't I don't want to waste time learning the wrong language.
I don't want to waste time not learning the best language, right? And that like that rationale like it makes sense. I get it. But also like that the reason it doesn't make sense is because they're their like isn't the best and like it's not qualified enough. The best at what? Like what what is the goal that you're trying to accomplish? Right? Like I just I just want to learn syntax. Great. Like go pick up Python. So, and literally some people that I've talked to, they're they're just testing the waters, and that's literally one of the goals. Like, I just want to I just want to be able to kind of read through code and understand some of it. Great. Like, go pick up Python. Why not, right? And I'm not saying that's all that Python's good for, but like that is one really good thing for Python.
It's like readability, the ergonomics of the language. Go read some Python code. Why not, right? Other people it's like I want to um I just want to be employed, right? I want to be more employable. Okay. Well, then you could go statistically look at where the most demand is for programming languages. Go pick that. Like if you don't care about anything else, right? And that's like the goal. Go look up data on this. Do I know it? No. Is it published? Probably. It's probably research on this and it probably changes quite frequently. like I I know of the tobi index but I'm not sure if that's for uh what's in demand. Um but that's you know you could approach it that way. If you're like well I want to I want to be a web developer. Okay like do you want to focus in the front end more the back end more full stack like again is there data that suggests like the most uh widely used languages for those types of things?
Does that mean it's the best? I don't know. Like, arguably no. But at the same time, like if it's the most widely used for it, that might be a decision that people have crowdsourced out over time. And that's a good reason or good enough reason for you to get started with whatever that is. Point is, there is no like best. And I think that if you're trying to make decisions based on this about languages to switch over to, frameworks to switch over to, like qualify what your goal is, and I think that'll make a big difference. But, uh, you can always pick up another one later, too. Okay, I think that's it. Oh, they're not going cool. Okay, I'm going to pull into CrossFit here. And there are no parking spots again. That sucks. Okay, we'll park over here. Thanks for watching. If you got comments, questions, leave them below.
And uh if you want stuff answered anonymously, code.com, submit it there.
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- Should I switch from Java to Rust if I'm just starting to learn programming?
- If you're just getting started with Java and considering switching to Rust, it's important to think about where you are in your learning journey. If you haven't built much momentum with Java yet, switching might not waste much time. However, if you're already getting comfortable and building projects in Java, switching to Rust might leave you knowing two languages only superficially, which could be less beneficial.
- Is it better to stick with .NET when learning AI and LLM integration or switch to Python?
- Personally, I prefer to keep as many variables the same when learning something new, so I would stick with C# and .NET if I'm comfortable with it and just add AI and LLM integration as the new thing. Changing too many variables at once can be overwhelming and detract from learning. That said, this is my strategy and may not be the best for everyone, but it helps me focus and avoid feeling overwhelmed.
- How should I decide which programming language to learn or switch to?
- There isn't a single best programming language; it depends on your goals. If you want to learn syntax and read code easily, Python is a great choice due to its readability. If your goal is employability, you might want to research which languages are in demand for the type of development you want to do. Ultimately, qualify your goals first and make an informed decision, knowing you can always learn another language later.