Do You Need To Learn A Second Programming Language?
Key Takeaways
Learning a second programming language for developers
Full Transcript
you've probably been told that as a developer it's a waste of time to learn a second programming language because most of the time developers just work with one language at a time well yes this is mostly true there's plenty of jobs that require you to work in multiple programming languages and even if your job only requires one programming language it can still be beneficial to learn multiple languages so in this video I'm going to talk about when you know it's the right time to learn a second language how you can go about learning that second language and some of the benefits you can actually get from learning a second language that will influence and benefit you even in your primary language welcome back to web dev simplified my name is Kyle and my job is to simplify the web for you so you can start building your dream project Center and the first thing I want to say is if you're just getting started out programming and you haven't really built any projects and you don't really know the primary programming language you're working with don't bother learning a second language you really need to truly understand the first language you learn at a rather good level I would say at least an intermediate level before you even think about tackling a second language and that's just because tackling two languages at the same time both from a beginner perspective is incredibly difficult I would know because in college my freshman year my very first class that I learned programming they taught me both C and Java in the exact same class and it was very complicated for me even though they're two drastically different languages it was still very easy for me to confuse different aspects between the two languages so when you're first getting started make sure you focus on just one language until you have an intermediate or better understanding of that language now once you have an intermediate media understanding of that language you are at the point where you can start to learn a second language what were the actual benefits of learning a second language one of the primary benefits of learning a second language is now you open yourself up to more job opportunities if you know both JavaScript and python now you can apply for JavaScript or python jobs or jobs that require both of them combined together so there's definite benefits when it comes to making money learning a second language but a lot of times just learning one language even deeper is probably going to be better for you monetarily especially as you get to more senior position positions while you're at a more junior level learning multiple languages is going to be better because it gives you more jobs that you can apply for but even with these more senior positions is still makes sense to have an understanding of how other programming languages work because you can use that knowledge within the language you're working on primarily that's actually the second benefit I want to talk about is that if you learn for example typescript and you learn rust you can take a lot of the concepts you learn from rust and you can apply them to your typescript programming to make you a better overall programmer and that's because a lot of the clean code best practices you're going to learn for a new programming language are going to be slightly different than the programming language you're used to working in there's going to be different paradigms different patterns and so on and some of these patterns will not translate over into your original language just because you don't have the right features and so on but it still will help you to think about how to write better code because now you're exposed to multiple different ways of programming this is why I think it's important to learn both object-oriented and functional style programming because again it gives you multiple ways to tackle the same problem so you can use the best solution for the problem that you're trying to solve instead of just trying to make everything work under one solution now you have multiple different Tools in your tool belt that you can use for this particular problem this actually kind of Segways directly into probably the most common reason people say to learn multiple programming languages which is that certain programming languages excel at certain things rust for example is a more low-level programming language that's really good for high performance things which is why you see a lot of stuff being Rewritten in Rust because it gives you that extra level of performance while something like JavaScript is great to learn because it runs in the web so it works natively on every sing website now this in my opinion is probably the least important reason to learn multiple programming languages yes it's really great to be able to use rust for rust specific scenarios and typescript for typescript specific scenarios but if you're just building projects for yourself that are for fun and side Hobbies it really doesn't matter if you're using the most perfectly optimal language to build out that side project you can build all the same stuff that you can build in Rust using JavaScript it just may not have the same performance gains in it but that really doesn't matter if you're just building out a side project for fun now if you're working at a company serving millions of users every single day then yes this is going to make a difference but for the most part when you're working on your own projects it doesn't really matter now the final big benefit of learning a second language I want to talk about which is really underrated I don't really hear people talk about it much is it really helps you get through a rut or get over burnout let's say that you're working on learning JavaScript and you're just grinding along you're learning different things like strings and numbers booleans functions promises and so on and all of a sudden you get to Something in JavaScript that just is really stumping you like maybe a sinkle weight you just really don't understand how async a weight works you really hate it it makes building projects hard and you're just stuck at a wall and you don't feel like picking up JavaScript and working on it cuz this async a weight thing just sucks this is a perfect opportunity to transition and start working on a second programming language now obviously don't do this too early on if you get stuck learning like strings for example in JavaScript just persevere through it it's not going to take you too long and you're so early in your career that it's not really a good idea to jump around to a bunch of different languages but if you've started building some projects and you're working through it and you're just stuck with particular Concepts that aren't really clicking sometimes jumping over to a new programming language is going to give you a fresh set of eyes on something you're going to go through you're going to realize hey I'm actually learning this thing pretty quickly compared to when I learned JavaScript or whatever my other language is it's going to be really REM motivating for you and it's going to feel really great and when you decided to jump back to JavaScript you're not only going to be jumping back with a fresh set of eyes but also you're going to take all the skills you learned from the new programming language and be able to apply them to what you're actually currently stuck on which may be exactly what you need to get through that sticking point and even even if it doesn't help you get through the sticking point at least it helps remotivate you and get you through that rut or burnout that you're experiencing so now we know all the benefits of learning a second language now let's talk about when the best time to learn a second language is obviously we already talked about if you're kind of in a rut right now maybe that's a good time to start dabbling in a second language but for the most part what happens if you're just learning JavaScript you're building some projects and you think you know what is it time for me to learn a second language well the first thing you want to ask is do you actually want to learn a second language if you don't want to learn a second language don't do it you're going to hate it the experience is going to be terrible so don't bother learning a second language because you feel like you need to you really don't it's more because you want to do it but now let's say you do want to learn a second programming language you need to ask yourself how skilled am I in my primary language before I really dive into a secondary language I would recommend intermediate level skill like I've talked about before and really what that means is that you have a good understanding of how all the different pieces in a language work together you maybe don't understand super Niche things and how they work but you understand the general overview of how the language works and you're comfortable building out small to medium siiz projects and you've probably even built a couple at least one large siiz project now it doesn't have to be massive it doesn't have to be like a Facebook clone or anything like that but you've built out a relatively large project that took you at least 1 to 4 weeks to actually build out this is a great sign that you're ready to move on to a second language because you've essentially understood the current language at a point where you can build pretty much anything relatively confidently a great test to give yourself is to pretty much think about a particular project you would want to build in the current language you know and think okay do I know the steps it would take for me to build that project if you in your head can name all the different steps and different things you're going to use to build out that project you probably are at the point where you can learn a new language so now at this point you have heard about all the benefits of learning a second language and you feel that you're ready to learn it so how do you go about learning that second language the very first thing that you want to do is you want to go ahead and read the documentation or watch some crash course YouTube videos on it I have tons of Crash Course videos out there mostly around JavaScript but there's tons of people out there that have trash course videos for particular languages that are great for if you're just getting started also just going to the documentation for that language and reading through like the getting started guide or whatever the basic installation guides are for you that's going to be the best place for you to start because it gives you an overview of what the Syntax for the language is do they use Whit space or semicolons to end the lines how do they Define functions how do they Define variables these are the things you need to know to actually be able to build anything in that programming language and luckily it's relatively easy to learn those particular things especially especially if you already know another programming language for example going from JavaScript to python is really not that difficult now there are some languages that are very different for example going from JavaScript to Lua is going to be a huge jump because they're very different languages from one another but for the most part if you know one language going to a second language is going to be drastically easier so first you want to figure out what all the building blocks are how do you create variables functions how does scoping work how do the overall highlevel concepts of that language work generally the getting started documentation is really going to give you a great great overview of all of that then the next thing you need to do is build out your very first project and this is not going to be a big project it's not even going to be a to-do project this is going to be the most simple hello world project possible just get a Hello World project working and then from there slowly try to build upon it and I wouldn't even jump to a to-do list project instead I would generally try to solve like different exercises or problems this is because it kind of takes away all of the other complex stuff out of the project and focuses purely on okay how do I do specific things to solve specific problems so it can be like a fizzbuzz problem or just any type of leak code problem and make sure it's something that you know how to solve in your primary language so make sure it's something you can really easily solve the logic for and then all you have to do is just figure out how do you actually do this thing inside of your new language how do you read from files how do you access the internet how do you make fetch request all these different things are great to solve in this problem solving stage then once you've built out that hello world project and you've solved a few problems now you're ready to build out your actual first project and what I would recommend doing is building a project that is a clone of another project you've already built in the language you're familiar with so let's say you built a to-do application using JavaScript now you can build the same to-do application using python now obviously things aren't always going to go one to one because JavaScript is great for the web while python doesn't really do any front-end web stuff so you're going to have to massage what actual projects you build but I would always recommend whatever project you're going to build in the new language make sure you build it first using the old language so that way all the logic and complex stuff is already solved for you and all you need to do is figure out how to translate the syntax from one language to another obviously you may need to change how you actually write and do specific things but it's going to give you a great starting point so it's really easy for you to actually start to learn okay here's how this new language compares to my old language and when you're done with the project you can really easily compare them by looking at them side by side to see exactly what's different between them now the next step from there is just to slowly work up in more and more complex projects I would recommend at least building out a project that deals with asynchronous code of some form so it doesn't really matter what that asynchronous code is maybe it's making a fetch request to to an API it doesn't matter just some form of asynchronous code so you can understand how that works and maybe even integrate how to work with a database and other things and slowly get larger and larger projects until eventually you get to the point where you want to build a medium to large size project this is going to be the ultimate test for this new programming language because if you can build this median to large siiz project you've essentially learned an intermediate level of that actual programming language and I would recommend really diving into this particular project after you feel confident building pretty much any small project on your own and I wouldn't jump immediately into a large project start with a couple medium projects and then move on to that large project that's going to take you maybe 1 to two weeks to build out and maybe even start with just one week at the beginning and this is because this is going to give you a really good look into how the programming language works at a larger scale because when you're working with a programming language how you build something that you build in a day versus how you build something that is going to take you a month to build is very different and the different structures you need and different safety and stuff you need is very different so this is going to really help you learn the different Ed of the language how to do best practices how to write clean code and really show you all the different points of the language that are really hard to work around that's really what these larger projects are really good for and again once you've got to the point where you finished building out this large project you now can confidently say you actually know two programming languages and you'll be shocked how quickly you can go from knowing nothing about a language all the way to being rather confident in that language once you've already learned your first language because the second one comes exponentially quicker than the first one and if you're still not sold that you should learn a second second programming language I'd recommend just give it a week try out learning a second language if you're at the point where you're ready for it and you may be surprised that you actually enjoy the second language more than the primary language you've been learning and it may actually become your primary programming language this happens to tons of people all the time I used to write a lot of code in Ruby on Rails at my old job and then as soon as I started doing more typescript and JavaScript I realized I enjoyed that ecosystem so much more and swapped over to making that my primary programming language so you may realize the exact same thing for you now if you are ready to learn your second programming language I highly recommend checking out this video where I go through my five-step process of how I learn anything as quickly as possible it's going to be a great video for help when you get started with that said thank you very much for watching and have a good day
Original Description
Learning a second programming language is a big undertaking, but it is something nearly every developer needs to do at one point or another. In this video I talk about the benefits of learning a second language, when you should learn a second language, and how to actually go about learning a second language to make it as easy as possible.
🌎 Find Me Here:
My Blog: https://blog.webdevsimplified.com
My Courses: https://courses.webdevsimplified.com
Patreon: https://www.patreon.com/WebDevSimplified
Twitter: https://twitter.com/DevSimplified
Discord: https://discord.gg/7StTjnR
GitHub: https://github.com/WebDevSimplified
CodePen: https://codepen.io/WebDevSimplified
⏱️ Timestamps:
00:00 - Introduction
00:41 - Caveat
01:28 - Benefits of learning multiple languages
05:40 - When to learn a second language
07:17 - How to learn a second language
#WebDevelopment #WDS #JavaScript
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Web Dev Simplified · Web Dev Simplified · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Introduction to Web Development || Setup || Part 1
Web Dev Simplified
Introduction to Web Development || Understanding the Web || Part 2
Web Dev Simplified
Introduction to HTML || Your First Web Page || Part 1
Web Dev Simplified
Introduction to HTML || Basic HTML Elements || Part 2
Web Dev Simplified
Introduction to HTML || Advanced HTML Elements || Part 3
Web Dev Simplified
Introduction to HTML || Links and Inputs || Part 4
Web Dev Simplified
Learn Git in 20 Minutes
Web Dev Simplified
5 Must Know Sites For Web Developers
Web Dev Simplified
10 Best Visual Studio Code Extensions
Web Dev Simplified
Learn CSS in 20 Minutes
Web Dev Simplified
How to Style a Modern Website (Part One)
Web Dev Simplified
How to Style a Modern Website (Part Two)
Web Dev Simplified
3D Flip Button Tutorial
Web Dev Simplified
How to Style a Modern Website (Part Three)
Web Dev Simplified
Animated Loading Spinner Tutorial
Web Dev Simplified
How to Write the Perfect Developer Resume
Web Dev Simplified
Animated Text Reveal Tutorial
Web Dev Simplified
Learn Flexbox in 15 Minutes
Web Dev Simplified
Custom Checkbox Tutorial
Web Dev Simplified
Start Contributing to Open Source (Hacktoberfest)
Web Dev Simplified
JavaScript Shopping Cart Tutorial for Beginners
Web Dev Simplified
Responsive Video Background Tutorial
Web Dev Simplified
1,000 Subscriber Giveaway
Web Dev Simplified
How To Prevent The Most Common Cross Site Scripting Attack
Web Dev Simplified
Transparent Login Form Tutorial
Web Dev Simplified
The Forgotten CSS Position
Web Dev Simplified
How to Code a Card Matching Game
Web Dev Simplified
10 Must Install Visual Studio Code Extensions
Web Dev Simplified
Learn CSS Grid in 20 Minutes
Web Dev Simplified
Learn JSON in 10 Minutes
Web Dev Simplified
10 Essential Keyboard Shortcuts For Programmers
Web Dev Simplified
What Is The Fastest Way To Load JavaScript
Web Dev Simplified
Differences Between Var, Let, and Const
Web Dev Simplified
How To Install MySQL (Server and Workbench)
Web Dev Simplified
Learn SQL In 60 Minutes
Web Dev Simplified
How To Solve SQL Problems
Web Dev Simplified
What Are Design Patterns?
Web Dev Simplified
Null Object Pattern - Design Patterns
Web Dev Simplified
Your First Node.js Web Server
Web Dev Simplified
How To Setup Payments With Node.js And Stripe
Web Dev Simplified
How To Learn Any New Programming Skill Fast
Web Dev Simplified
Asynchronous Vs Synchronous Programming
Web Dev Simplified
JavaScript ES6 Arrow Functions Tutorial
Web Dev Simplified
Are You Too Old To Learn Programming?
Web Dev Simplified
JavaScript Cookies vs Local Storage vs Session Storage
Web Dev Simplified
JavaScript Promises In 10 Minutes
Web Dev Simplified
Builder Pattern - Design Patterns
Web Dev Simplified
JavaScript == VS ===
Web Dev Simplified
JavaScript ES6 Modules
Web Dev Simplified
8 Must Know JavaScript Array Methods
Web Dev Simplified
CSS Variables Tutorial
Web Dev Simplified
JavaScript Async Await
Web Dev Simplified
How To Choose Your First Programming Language
Web Dev Simplified
Easiest Way To Work With Web Fonts
Web Dev Simplified
Singleton Pattern - Design Patterns
Web Dev Simplified
Responsive Navbar Tutorial
Web Dev Simplified
CSS Progress Bar Tutorial
Web Dev Simplified
Learn GraphQL In 40 Minutes
Web Dev Simplified
What is an API?
Web Dev Simplified
Learn How To Build A Website In 1 Hour!
Web Dev Simplified
More on: AI Pair Programming
View skill →Related Reads
📰
📰
📰
📰
How to Refine AI-Generated Tests Without Rewriting Code
Medium · AI
How to Refine AI-Generated Tests Without Rewriting Code
Medium · Machine Learning
Antigravity has no task queue. Meet @trigger, its real async primitive
Medium · Programming
The AI Senior Dev Dilemma: Am I Coding or Just Prompting?
Dev.to · Agentic Architect
Chapters (5)
Introduction
0:41
Caveat
1:28
Benefits of learning multiple languages
5:40
When to learn a second language
7:17
How to learn a second language
🎓
Tutor Explanation
DeepCamp AI