Hey everybody, how is it going?
Hey Mayuko, what programming language should I learn?
"Well Python is clearly better than Ruby!"
"Objective C. What is this...the stone age?"
"HTML is complete and utter trash, Javascript is the way to go."
"No no, don't listen to them. C is the best place to start!"
Well honestly it really depends...
"What!?"
*yelling and being upset*
Okay, okay... If you're just starting to learn how to code
then picking the right programming language isn't as important as picking up fundamental coding skills.
Although, if you try to choose a programming language for something that you are going to build
then the best programming language is going to depend on a variety of factors.
So, let me talk about that first point
If you're starting to dive into the wonderful world of programing
then it doesn't matter too much what programming language you should start with.
your goal should be getting used to writing code
you're gonna learn a lot of basic skills like how to write code in syntax
how to run your program and how to debug it.
These are the skills that are really important to develop early on in writing code
they are going to help you write any program you want
And the best part is, these skills are transferrable across programming languages
and serve as a really important foundation for your coding journey.
I learnt Java as my first programming language
Because it was a programming language that my intro to computer science class used
I learned to use for loops, while loops, if-then statements, I learned what variables and functions are
I also learned how to run my program and debug my code.
We didn't study the intricacies of the Java programming language
Nor did we study where it came from and how it came to be
We were all just getting started on learning how to code, so we stuck to the basics.
To give you all a place to start
I recommend starting with a programming language that is currently really popular
Today in 2018, I would say they're Python, Ruby, Javascript and Swift.
*because i am a partial to iOS*
A popular programming language is going to have a lot of documentation for you online if you get stuck
and that can be really helpful when you're starting out so you can get unstuck easily
another way to choose which programming language you should use
is to read a couple lines from different code and see which ones seem interesting or easy to understand
We all think different! So finding a programming language comes naturally to how you think
is going to set you up for success
Okay, so that second point.
if you're choosing a programming language for building something,
then "the best programming language" is going to depend on a variety of factors.
Each programming language was invented for a different need
Yukihiro Matsumoto invented the programming language "Ruby"
Because I quote, "I really wanted a genuine object oriented, easy to use scripting language"
"I looked for one but couldn't find it. So i decided to make it"
Apple created the programming language "Swift" four years ago
To create the best available language for a variety of tech stacks
and to make writing and maintaining correct programs easier for the developer.
If you think about that
then each programming language is going to shine and be best used in different scenarios.
You can think about factors like
"What computers or software is available to you?"
for instance you can only make iOS apps if you have a Mac.
"What are you most comfortable writing?"
for example if you have a delivery deadline then choosing something you are comfortable with
is going to help you ship faster
"How many people are going to be working on it?"
Consider how easy this programming language should be for people on your team
to understand and contribute to it, based on individual skill sets.
Once you understand those constraints, then consider your options by doing some research!
I'll note that it's really helpful to find something that is well tested and well used by the developer community.
That means they'll have less trouble using it, which can provide an overall better experience!
Okay, so I hope this explains my answer:
there isn't one objectively best programming language out there
It's true!
When I was younger, people around me had strong opinions about programming language and frameworks
and I thought it was cool to have some really strong opinion about those things too.
But honestly it's not! It's whatever.
As a software engineer, it's really important to solve your problem
based on what the best available options are.
and to understand what you are trying to achieve, and what the constraints are.
Once you understand that, choosing the right programming language can come easy
Alright everyone, that is it for today!
stick around for the end for announcements!
if you like this video please give it a thumbs up
and don't forget to subscribe to my channel and to click on the notification bell
to get notified for my videos that are out every week
okay so my first announcement is that I started doing monthly live streams
starting this month and you can check it on my channel
they will be on the first weekend of every month
and don't forget to follow me on instagram or twitter
where I will be posting details about my live streams about a week leading up to it.
So i hope to see a lot of you there!
It's a fun time. I usually talk about updates on my life, and I'll do a quick Q&A at the end!
So, hope to see at the next one!
My second announcement is that I have two shoutouts to give.
so if you post on social media with the #heyMayuko
with something that you are working on or something that you are proud to
have accomplished than you might get a shoutout at the end of my video!
The first one is from keziaspamz on instagram, he says:
"I started learning java a week ago
and now I'm creating an app to help students be productive when studying for my cs project"
"I fricking love coding, I may look stressed and start talking to myself
When I get a feature to work, I am over the moon!"
That's awesome! Thank you so much Kezia
for submitting this and good for you
this is like incredible so, thank you so much for submitting that
The second shoutout goes to pixelpeach
@ pixelpeach221 on twitter, she says:
"Months ago I was unsatisfied with my job prospects.
Your channel inspired me to build up the coding skills i learned as a biologist
and make the switch to software engineering!
I now have the best job ever and feel like i'm really making a difference with tech. Thank you!"
Thank you so much for sharing this. That means so much to me, that is awesome!
I'm cheering for you, I'm rooting for you! Thanks so much for sharing
So don't forget to tell me what you are working on something you're proud about
with the hashtag #heyMayuko
and you might get the chance for shoutout on my next video
other than that I think we are done, we are actually done this time.
I will see you next time! Bye!