Which programming language should you learn first?



Software engineer Preethi Kasireddy answers your questions!

Question: “I want to get started with programming but I don’t know know where to start. What programming language should I pick? Should I focus on front-end, back-end, machine learning… or something else? There’s so many options to choose from, it’s overwhelming.”

About Preethi:
Preethi Kasireddy is an engineer based in San Francisco. She’s an avid learner who taught herself programming and machine learning, and is passionate about understanding things clearly and explaining them to others via blog posts.

She was previously a front-end & API engineer at Coinbase, a digital currency platform, where she helped architect and rebuild their front-end in React, Mobx and Redux. Prior to that, she was a partner at the venture capital firm Andreessen Horowitz and an Investment Banker at Goldman Sachs. She studied Systems Engineering at USC.

Twitter: https://twitter.com/iam_preethi


Learn to code for free and get a developer job: https://www.freecodecamp.com

Read hundreds of articles on programming: https://medium.freecodecamp.com

And subscribe for new videos on technology every day: https://youtube.com/subscription_center?add_user=freecodecamp

source

This Post Has 38 Comments

  1. Your key points:

    – easy feedback loop; immediacy of results
    – easy setup; no need for complex IDE
    – dynamically typed
    – ubiquitous; program on any platform
    – versatile

    However, JS has downsides, too:

    – it's a very sloppy language; it has numerous WATs and WTFs that can distract beginners
    – it's an inferior way to learn about object-oriented programming, which is the most important paradigm in the industry
    – beyond the language basics (like conditionals, loops, functions, etc.), JS is a rather large, complex language; ES8.0 has a language spec of over 885 pages!!!

    This is what's in store for beginners as they advance in their education.

    It's hard to dispute the easy feedback loop, but all the other points are hardly unique to JS. Python is built into macOS and Linux. Installing Python under Windows is no big deal.

    Ruby is also very easy to install. Both languages are dynamically typed and extremely versatile. I don't think it's an automatic win for JS.

  2. Tiaguito

    Obrigado Cinthia Lages pela tradução. 😀

  3. Nirvana

    I personally think C is the first language one should learn and then C++ and then anything else.

  4. Bobs Burger

    Probably the best explanation video thus far….other videos ramble on irrelevant material or promote ads…this is very helpful

  5. youblobdotcom

    Would AngularJS be just as good as JavaScript to start with?

  6. Murphy loves me

    JS if you want to be in Web. Python for Data sciences. Swift for Iphone. C++ for Cryptocurrency.

  7. web pad

    Hi, I just started learning code. So I can really go straight studying Javascript without studying html and css?

  8. Shujat Khalid

    Is blockchain programming a good idea to pursue as a career? A lot of questions have been raised about the viability of the technology. Would like your take on this.

  9. I am very new in programing, just started last week learning Python and so far I like it, also I started to learn HTML this week at FreeCodeCamp and I also like it very much specially the flexibility of leaning it anywhere using my android phone or mac. I don't know if I will continue learning both languages at the same time or if programing is for me but I will give it a try. Thank you for posting this video, it was very helpful.

  10. A Dinesh

    Asking Preethi Reddy: Why are you so _____?

  11. Javier Carrion

    Nice I am in the same journey started with Python and now I understanding with JavaScript. Thank you for your insights.

  12. ANGYLINA

    Preethi, do you still believe that JavaScript is still the language to learn first?

  13. Pablo Pazos

    it doesn't matter, choose anyone and start doing stuff 🙂

  14. Iron Fist

    Do you recommend any tutorial thats good for absolute beginners in html and css? 😊

  15. Scriptian77

    I think Python is easier. (Is command prompt in windows a Language too? )

  16. Chris Sabre

    Soooo did you ever learn Python, as its listed as one of the easiest to learn ?

  17. Taylor Youngreen

    im glad I started with javaScript using khan academy. if I wasn't for that I would have not got into programming.

  18. Smart and beautiful winning combo. I am just starting this and not sure where to start. The more I try to step away from Python the more I see I need to start there? Any feedback? Java first?

  19. Wendy Mueller

    I have found JS boring. I started with C. To understand how computers work u have to know C and it makes u a better programmer.

  20. 7alken

    Hi, I recommend also to touch TypeScript, as they are orders of magnitude higher now in the "type abstractions", they in fact only develop or rather "discover" type system used or wildly abused by JS programmes and are searching for viable patterns to formalize into syntax, while still sticking to promise to follow future ECMAscript, (so pure javascript) future… this sound great. Type system of TS is currently capable to express things that are just impossible to do in latest C#8 for example. It sounds weird, but while JS is quite dangerous without types, using VSCODE editor its even possible to code in pure JS having simply "//ts-check" help of typescript compiler to "guard you" and the VSCODE simply "guides you" even through syntax and semantics by quite nice error messages and hints what could be better written…. I was SHOCKED last few days, while investigating its status after few years… I am still considering GO, PYTHON3 and C#8/NETCORE3, but it will be something around those things (Go leads you better to use paralelization, but isnt saint, its … different, doesnt like inheritance, objects too much and generics, but that must not be bad at all, as its native and FAST; python for datascience, yes, also very nice on devices, micropython/circuitpython and C# is general purpose uperset of Java, far better expresivity, even LINQ, but be carefull to target new things on portable NETCORE3 runtime…). And sure, using TypeScript, there is clean path to write multiplatform desktop/windowing apps using Electron chromium/node portable playground, of course, commandline tools possibel too. NODEJS may soon have some follower based on TS glued far more into core, so we will see…

  21. Lambo Holygrail

    I don't even know if I have started with programming languages. I have started with freeCodeCamp. First in line there is HTML and CSS. Which are mark up languages? At least HTML is. So I guess javascript will be my first. After that I have heard so much about python and I will try to learn that even if it is not part of fCC. Also I hear a lot about react, angular, jquery, mongoDB and flutter. I have to look more into that exactly what it is later. Finally I will have a look into the job market. What language does the market want the most. In my area I got the impression it could be useful to know .NET. I haven't decided on anything yet though.

  22. Khyama

    I am learning my first programming language Python how can I learn it fast so that I could learn 1 more language

  23. Trypo Phobia

    who came hear just to see whether or not she says JavaScript

  24. AR

    She's cute.Just like JS.

  25. Kieran

    I'm gonna be brutally honest, yall can hate me for it. First off, this video happens to show up cuz I'm subbed to FCC, okay that being said, I've already decided which language I'm interested in (Web Dev) anyway that done. The main and only reason I clicked and watched this entirety of this video (11mins) its cuz she's super beautiful and cute LOL and finally I did learn some new stuff, pointers, cuz I've only started learning JS recently. So yeah I only watched the video to see her 🙂 :0

  26. BHAKTI MD

    What is the advantage and disadvantage of learning python first over JavaScript?

  27. Elizabeth M

    That's how JavaScript has been for me over html/css. Dissecting those two over JS extremely easy to follow but JS while I'm slowly picking it up by viewing another persons code and reading about it, has been fun to figure out.

Leave a Reply