STOP Learning These Programming Languages (for Beginners)

Ғылым және технология

Stop trying to learn every programming language. In this video I'm going to tell you which languages you should avoid (if you're new to programming).
📄 ** DOWNLOAD MY FREE STUDY MANUAL **
To download my FREE Self-Taught Programmer Study Manual PDF go to: andysterkowitz.com/study-manual/

Пікірлер: 1 900

  • @AndySterkowitz
    @AndySterkowitz Жыл бұрын

    What programming language did you choose to be your first?

  • @afshah.7972

    @afshah.7972

    Жыл бұрын

    I just started my journey in IT path. Did a bit of html and css and never used JS, but will start it from today. 💪

  • @lilalj07

    @lilalj07

    Жыл бұрын

    Hi Andy, thanks for your content. I've been looking into your mentorship program this past week, and another program, The Launch School. Ruby on Rails and Javascript are the two beginner paths that are offered at The Launch School. Any thoughts on Ruby on Rails?

  • @abdulrahmanagboolaosho3582

    @abdulrahmanagboolaosho3582

    Жыл бұрын

    I started with JavaScript

  • @songlore4617

    @songlore4617

    Жыл бұрын

    I think it was javascript, followed by python. I"m studying kotlin but I'm also studying react native for versatility. I'm finding studying java helps me understand kotlin a bit better.

  • @adrimathlener8008

    @adrimathlener8008

    Жыл бұрын

    I started out with Apple ][ Basic, then Fortran. So yes that was decades ago 🙂 Nowe I'm on the path of Python

  • @kevinvikan3609
    @kevinvikan360911 ай бұрын

    To me Javascript was the first one. This is because I started learning to code with a few books that have interactive content that happen to be about Javascript.

  • @blearbenin

    @blearbenin

    Ай бұрын

    what are books with interactive content?

  • @user3027
    @user3027 Жыл бұрын

    At my university, we started with C as the introductory language. Once you know and understand the concepts, it's trivially easy to learn a more high level language or go into an object oriented language. I'm happy the program made the choice to teach us C first.

  • @danielmihalache8954

    @danielmihalache8954

    Жыл бұрын

    Same here. C/C++ is a great first choice, you don't have to master it, but it's great for learning the basics. I wouldn't recommend a dynamically typed language as first choice, the data types are one of the first things you have to wrap your head around no matter what language you learn

  • @ciberkid22

    @ciberkid22

    Жыл бұрын

    I started my computer science path in high school and they started with Java (after using Scratch and Alice to introduce the basic concepts). Java did ultimately help me learn the basics of coding but I think I rather spec into Python or JavaScript lol

  • @chickenmadness1732

    @chickenmadness1732

    Жыл бұрын

    Same. C++ was my first language and I don't even have to study other languages to use them now. I just get them.

  • @anon-fz2bo

    @anon-fz2bo

    Жыл бұрын

    Yeah we used c in college too, was nice coz I went into the degree already knowing a lot about cs.

  • @wesleymarques2468

    @wesleymarques2468

    Жыл бұрын

    Same here

  • @aybgim3850
    @aybgim3850 Жыл бұрын

    I couldn't disagree more. I learned C++ first, then Java, then Python, and became productive fairly quickly with each of them. But having decades of programming experience, I still find JavaScript unnecessarily complicated, and actually prefer Typescript. I personally would never recommend JS as the first language. Python may be OK but you will still miss very important concepts. Setting up a dev environment with C++ or Java is easy - just get a decent IDE. And most importantly: static typing is your best friend while learning to code. It will help you to avoid bad habits at the very beginning.

  • @botangabriel3492

    @botangabriel3492

    Жыл бұрын

    Learning C++ as my first programming language

  • @mtemuulen3829

    @mtemuulen3829

    Жыл бұрын

    I agree. I ve begann with transistors and build my first ADDers. Everyone should begin with transistor.

  • @BenedictJasonArmah-mm3de

    @BenedictJasonArmah-mm3de

    Жыл бұрын

    Oh, i also learned C++ first, then Java next, I am working on python, but cuz of C++, i managed to pick java and python easily and i help my friends solve problems in other languages without even knowing the syntax due to the solid basics learnt in C++ and java

  • @JoneeL

    @JoneeL

    Жыл бұрын

    if you prefer type script look into Dart language and flutter framework

  • @owen261

    @owen261

    11 ай бұрын

    I think hes recommending JS due to the amount of jobs it can get you. Most people who watch these videos are wanting to go into frontend dev not like an linux kernel engineer lol.

  • @j.l.61
    @j.l.61 Жыл бұрын

    C was my first language because of Harvard's CS-50. It was a pain in the beginning for sure, but I think Harvard has that same idea of C being the "right" way to be introduced to CS. After that I spent time with JS a little before settling on Python and SQL. I use Python every day for work automating my workflow and developing network applictations for Cisco platforms.

  • @AdrianFRacing

    @AdrianFRacing

    Жыл бұрын

    Hi there, thank you for sharing. May I ask you how long did it take you to learn all of this?

  • @tylercoombs1

    @tylercoombs1

    Жыл бұрын

    I like how they start off the first week with Scratch and then just throw you into the deep end with C LOL

  • @j.l.61

    @j.l.61

    Жыл бұрын

    @@tylercoombs1 I know! The first couple assignments I was so lost. They didn't explain any of it in the lectures! Had to Google my way through it like a real dev haha.

  • @j.l.61

    @j.l.61

    Жыл бұрын

    @@AdrianFRacing I took CS-50 back in 2018. I worked on different things after that but I started studying python and sql after I got my CCNA in 2020.

  • @AdrianFRacing

    @AdrianFRacing

    Жыл бұрын

    @@j.l.61 Thank you, I have a loooong long journey ahead of me :))

  • @bobbydavis4144
    @bobbydavis4144 Жыл бұрын

    Best thing I ever heard pertaining to C++ and difficulty was from Bjarne when asked to describe C++ difficulty, "C gives the opportunity to really shoot yourself in the foot if you aren't careful. C++ will blow your whole damn leg off." Or something to that effect, it was a quote that was shared to us on our first day of class in OOP in C++. C++ is an amazing and powerful tool for programming, but not an easy one.

  • @arthurtamerango1089

    @arthurtamerango1089

    Жыл бұрын

    That is a misquote. The real quote goes. "C makes it very ease to shoot yourself in the foot. C++ makes it very difficult to shoot yourself in the foot, but when you do you blow your whole leg off." The purpose of the quote was to represent C++ attempts at protecting programmers

  • @BrunodeSouzaLino

    @BrunodeSouzaLino

    11 ай бұрын

    C++ is about as difficult to learn nowadays as C#. I feel most of the talks about manual memory management are blown out of proportion or greatly exaggerated...Or come from people being fed garbage by programmers which still can't move on from C++98, where you did have to manually manage memory or hamfist C code because the C++ equivalent didn't have the performance you wanted.

  • @ericdavidheredia
    @ericdavidheredia Жыл бұрын

    I remember watching some of your first videos, they really helped me out and I'm sure they're doing the same for other people as well. I went from a starbucks barista to a developer 4 years ago. Glad to see your channel is doing well, keep up the great work!

  • @kaycampbell364

    @kaycampbell364

    Жыл бұрын

    please could you share topic list or resources that help you learn

  • @Jrej_dev

    @Jrej_dev

    Жыл бұрын

    Same experience. I watched Andy's videos when he had just started. I went from hotel receptionist to full stack dev. Never looked back. Thanks Andy!

  • @graphicdesigner7650

    @graphicdesigner7650

    Жыл бұрын

    Congratulations on your new career! I want to add programming to my resume and I feel a little more encouraged. Good luck in all of your endeavors. 🙂

  • @georgiosdoumas2446

    @georgiosdoumas2446

    Жыл бұрын

    And I have been watching his videos since 2005, and went from a garbage collector of the street trash, to a C embedded developer, wondering why C does not have a "garbage collector" feature , hehe!

  • @kaycampbell364

    @kaycampbell364

    Жыл бұрын

    @@georgiosdoumas2446 how did you learn please

  • @r.b.ratieta6111
    @r.b.ratieta6111 Жыл бұрын

    Funny thing, after dabbling with different languages, your conclusions were similar to mine. I did JavaScript in college because that's what they started people in the CS pathway on. I didn't finish college, but I was intrigued by the analytical and experimental parts of programming that I started experimenting with other languages. I tried C next, which, like you mentioned, was readable for a novice in terms of what the code is generally trying to say, but a bit of a learning curve. Other people recommended Python as a starter language, and that's what I'm working on right now, and while I get that JavaScript was considered a good starter language by my college, Python actually made more sense to me because, yes, while bloated compared to C and Assembly, Python is more or less like, "If you can organize your drawers, folders and binders, Python will make a lot of sense to you." Thus far my goal is to learn/master Python, then eventually work my way back down to the C languages, then eventually Assembly. If I could land a job with it that would be great, but honestly, even if I don't, I just like the ability to "talk" to machines and use them to create things. There's a fascination aspect alongside it that extends beyond sheer practicality. Got to keep the brain active and neurons healthy. The more you learn, the more capable you become, the better you can understand the world around you.

  • @Smurdy1

    @Smurdy1

    26 күн бұрын

    For me my fascination with talking to machines is what makes me want to go lower and lower level. These days I'm learning assembly for the sole reason that I think it's really cool and fun to talk that closely with a machine.

  • @gerardgauthier4876
    @gerardgauthier4876 Жыл бұрын

    I always felt that the bottom up approach worked best for programmers that 'really' wanted to understand how programs work. Myself, when asked, I always recommend C followed by ASM. I find if the student can master C (C language, extensions, standard library, bin utils, etc), then they can move into other languages with some understanding of what's going on under the hood. Note: An additional plus for C is that its pretty much ubiquitous in programming.

  • @johnsonogbu8697

    @johnsonogbu8697

    5 ай бұрын

    Assembly, C those are the best to start with.

  • @soosh9852

    @soosh9852

    5 ай бұрын

    Assembly would probably be the absolute worst choice for someone completely new to programming@@johnsonogbu8697

  • @hovardlee
    @hovardlee Жыл бұрын

    My first programming language was C++ cause it was required on 1st semester of my telecommunication studies. Regarding C++ you do not need to learn the low level stuff. You can focus on algorithms and data structures. As database programmer I can say that writing good SQL queries is an art :) Also there are extensions like T-SQL or PL/SQL which allow you to write programming like procedures or functions. But this is a different world :) If I could start again then Python.

  • @awesomebearaudiobooks

    @awesomebearaudiobooks

    Жыл бұрын

    Do you need PL/SQL in your work or can you just use Python for automation + normal SQL?

  • @hovardlee

    @hovardlee

    Жыл бұрын

    @@awesomebearaudiobooks For procedures I use now T-Sql in Azure. I used to use procedures in Pl/sql in data warehouses.

  • @bitwisetube

    @bitwisetube

    Жыл бұрын

    I very happy my first language was C++

  • @bennymountain1

    @bennymountain1

    Жыл бұрын

    My condolences

  • @stanknight9159

    @stanknight9159

    Жыл бұрын

    @@awesomebearaudiobooks I would say that learning SQL makes you quicker. I put off learning SQL for a while and that hindered me. But SQL isn't as bad as it looks. I realized that only the hard things that I learned were things I deemed to be 'hard to learn'.

  • @paulkeating9259
    @paulkeating9259 Жыл бұрын

    Hey Andy big fan, you helped me when days were tough going the self taught route, but I'd have to majorly disagree about C# /Java, These are widely use and have big communities like you said, But more importantly it can teach you about strictly typed languages which makes move over to say something like Javascript a breeze and once you are there you practically get Typescript for free. I dont think its hard to install visual studio and get up and running. Most of the free coding courses will even hold your hand throughout this whole process.

  • @v.nd.tt.s8943
    @v.nd.tt.s8943 Жыл бұрын

    Yeah, I personally initially wanted to start with C++ But then realized that I know too little to do anything so I decided to switch to learning Html/Css and that was pretty fun. Then I did a tiny bit of JS, got to know how the learning process works and only then I switched to C#. Generally it's not easy but I manage to make small bits of progress each time and keep myself engaged into the process. I definitely don't get completely stuck.

  • @graphicdesigner7650
    @graphicdesigner7650 Жыл бұрын

    Thank you! I am preparing to add web coding to my list of skills and I was overwhelmed by the number of programs. Now I feel better about streamlining my course list and I can stay focused on what I need to know for now. 😀

  • @matthewfeatherston8982
    @matthewfeatherston8982 Жыл бұрын

    My first programming language was Java due to what my University made us learn... I did not find it that bad, but there was definitely a learning curve... My first programming job, which I still have after three years ;), made me learn C and OpenGL.... Now those were some heavy hitters between pointers and addresses it was enough to drive me crazy 😜

  • @Asgaia

    @Asgaia

    Жыл бұрын

    Guess you cuddle the else.

  • @georgiosdoumas2446

    @georgiosdoumas2446

    Жыл бұрын

    C and OpenGL? So what is your work? Some 3D rendering software?

  • @generalknowledge4all

    @generalknowledge4all

    Жыл бұрын

    Always fear pointers and data structures.. So afraid of C 😂

  • @AndrewDCDrummond

    @AndrewDCDrummond

    Жыл бұрын

    @@generalknowledge4all what's the problem with pointers, a variable name is basically a fixed pointer to a memory space, you can just move pointers around. Just work through the excellent K&R book, it's excellent and pretty easy.

  • @marloelefant7500

    @marloelefant7500

    Жыл бұрын

    @@AndrewDCDrummond Conceptually yes, but with a pointer comes great responsibility. You have to always keep in mind the lifetime of the object pointed to and make sure that it's resource is freed in time in all possible program paths. When working with C++, I usually only work with smart pointers or references.

  • @jons_RoadtoCode
    @jons_RoadtoCode Жыл бұрын

    I agree with this, as someone starting the self-taught route, I found that JS (along with html/css) allowed me to keep interested in the journey, especially after failing then finally succeeding at some of the most "simple" projects.

  • @MissoyKE

    @MissoyKE

    Жыл бұрын

    I have friends who would argue otherwise thou. As much as web keeps you interested in the programming journey since you can see what you have done displayed, the perception of wanting to see what you have done will be missing when you start working on C or other programming language and you'll keep reverting to web dev every time you hit an obstacle while trying another programming language.

  • @jons_RoadtoCode

    @jons_RoadtoCode

    Жыл бұрын

    @@MissoyKE Excellent point. Hopefully at that point (learning another language), those who do undertake a 2nd, 3rd, 4th language etc have already acknowledged this. Being able to see your progress when first learning is a good stepping stone in my opinion.

  • @vincentjohnston8789
    @vincentjohnston8789 Жыл бұрын

    Gr8 inspiring video Andy! I am from the almost 'Atlantean' era of the Commodore 64 (which features in the John Wick movie series), the BBC home computer, the MSX, ZX Spectrum,ZX81 and fantastic OS's like MS DOS combined with COBOL and BASIC - in those days when you turned on the computer you had to write some coding just to search for a file. I currently enjoy HTML and CSS and still get a buzz from tweeking my website using code.

  • @WY.C64-Guy
    @WY.C64-Guy Жыл бұрын

    I needed this video last September. My 11th grade daughter, wanting to impress her dad, took an intro to computer programming class during 1st semester this school year. Come to find out it was taught in C#, and she ended up frustrated the entire semester. She got a decent grade mostly from doing well on tests and turning in extra credit reports on computer history topics. :-/

  • @anshjadhav7918
    @anshjadhav7918 Жыл бұрын

    I would definitely recommend to start coding in C++ or Java. These only two languages can build your programming concepts at the best level.

  • @AZ-gs6hj

    @AZ-gs6hj

    Жыл бұрын

    I agree. Java is a very good choice. Glad it was my first

  • @jimmorrison2657

    @jimmorrison2657

    Жыл бұрын

    @@AZ-gs6hj I agree about Java. But C++ is definitely not for beginners.

  • @KratosVS

    @KratosVS

    Жыл бұрын

    I love Java lol

  • @jimmorrison2657

    @jimmorrison2657

    Жыл бұрын

    @@KratosVS It's a great language, mate. And it will be around for a long time yet👍

  • @dutchdykefinger

    @dutchdykefinger

    Жыл бұрын

    Started with php, got a taste of C withlut typecasting for a quick start lol

  • @traezeeofor
    @traezeeofor Жыл бұрын

    Excellent video as always Andy, thanks so much. But the PDF is 67MB yet just 12 pages; based on past experience I definitely believe it could be way smaller and still be of great quality. Please keep doing what you do. You're an inspiration to so many of us.

  • @Random_Food
    @Random_Food Жыл бұрын

    I agree with your suggestion. I went to a university and got a degree in computer science and this is the order that I was taught while in school. C++ (3 courses) C (1 course) Java (1 course) Swift (1 course) PHP/HTML/SQL (1 course) Python (1 course) And graduating from university, my first programming job we actually used C#.

  • @acasualviewer5861

    @acasualviewer5861

    Жыл бұрын

    First rule of professional programming: whatever you learn in the past, you'll always need to learn something new for your job. It was certainly true for me of the last few decades.

  • @user-xe8oi5oq6c

    @user-xe8oi5oq6c

    Жыл бұрын

    One should learn C before C++.

  • @afshinmollaali

    @afshinmollaali

    Жыл бұрын

    For a professional programmers all the general propose languages are similar (course of "programming languages") and there is no classes or learning methods as good as writing code for real project

  • @randall.chamberlain
    @randall.chamberlain9 ай бұрын

    As an Engineer with 25 years experience I love to see guys like you really helping the next generations to come. Your advice is balanced and very sound. I hope all deva wannabes listen and follow you.

  • @YahIsLife90

    @YahIsLife90

    9 ай бұрын

    oooooh an engineer LOL

  • @EpicGamer-ny1fu

    @EpicGamer-ny1fu

    8 ай бұрын

    he's not helping anyone by recommending Python and JavaScript as first languages....

  • @thecodebrief
    @thecodebrief Жыл бұрын

    Lord have mercy on the guy who picks up C++ as their beginner language. That being said - the one mate that did this is the best programmer out of all of us in my circle now lmao

  • @IgorMgtowandVideoGames

    @IgorMgtowandVideoGames

    Жыл бұрын

    I picked regular C. What about C-- (C minus minus) for beginners

  • @rrokluli7392

    @rrokluli7392

    Жыл бұрын

    I have learned it in University after C classes and C++ is rocket science programming language and i love it. But Job perspectives are in JS, Java , C# for web development. C++ still matters in specific industries

  • @cbbcbb6803
    @cbbcbb6803 Жыл бұрын

    I think the most important aspect of learning anything is the talent and patients of the teacher and the quality of the learning materials. Also, realize that you don't learn the entire programming language all at once. For any language, you may even never use large chunks of it.

  • @maxmuster7003

    @maxmuster7003

    Жыл бұрын

    There was no teacher and no internet when i started to learn programming.

  • @AndrewDCDrummond

    @AndrewDCDrummond

    Жыл бұрын

    @@maxmuster7003 what year was that then?

  • @maxmuster7003

    @maxmuster7003

    Жыл бұрын

    @@AndrewDCDrummond In the stone age of MS DOS on 16 bit PC intel 80286.

  • @AndrewDCDrummond

    @AndrewDCDrummond

    Жыл бұрын

    @@maxmuster7003 we are talking about beginning programming and learning good principles. K&R is a simple, short book that teaches you good principles and style. I read a lot of programming books and I don’t see any that compare to books from that era.

  • @AndrewDCDrummond

    @AndrewDCDrummond

    Жыл бұрын

    @@maxmuster7003 also what is the predominant language used in Linux and Unix, and the Windows and Mac (pretty much Unix) kernels?

  • @gustavorosas5353
    @gustavorosas5353 Жыл бұрын

    As a CS student I can say that it's always good to rely on a language that needs only a few things to get up and running. However, I may also say that when I started, Java was the language I was introduced to CS to and, now that I am moving on to automating things with python and developing web pages with JS, the transition between a language like Java or C# to a high level language is way more easy and quick than doing it backwards.

  • @acasualviewer5861

    @acasualviewer5861

    Жыл бұрын

    Java isn't a high level language?

  • @ShootingUtah

    @ShootingUtah

    4 ай бұрын

    Java and C# are both "high level" languages, at least they're considered to be by most people. At least C# still allows the use of pointers and "unsafe" mode where you can basically mimic C++. I don't think Java has such capabilities. So Java would be an even higher level language than C#

  • @blacktigershearthstoneadve6905
    @blacktigershearthstoneadve6905 Жыл бұрын

    Programming is hard. Just be a taxi driver.

  • @MacySpitfire
    @MacySpitfire Жыл бұрын

    Funny thing. As 3D Technical Generalist wanting to go more into Technical Art and having to chose between C++, C# and Python, decided to go with Python and C# mainly cause of Python being widely used as scripting language for major software in game dev, but also as regular programing language and recenlty i fallen in love with it cause i automate everything, and C# mostly cause its Unity's scripting language and me having the most experience with that software (and i love C#). I tried C++ and maybe will try it next year but man i am pretty happy with my choices. Good video tho

  • @bjbell52

    @bjbell52

    Жыл бұрын

    I always thought of C# as Borland's Delphi with a C syntax. Pascal was the first higher level language I learned so I prefer Delphi (or the public domain workalike Lazarus). I guess I picked a Pascal based language out of what is known as Baby Duck Syndrome.

  • @jamesknauer540
    @jamesknauer540 Жыл бұрын

    Thank you for this. Did all your don't's and could not agree more, having been at it since 1978 (FORTRAN on punch cards). The best language I encountered for what it needed to do was Turbo PASCAL, and later Delphi, up to a point. Anything was possible, and if it wasn't fast enough you could get away with inline assembly code for the tricky bits. Well done, Sir!

  • @mariagheorghe7139

    @mariagheorghe7139

    6 ай бұрын

    Oh Pascal was my first exposure to programming, and then VBA. When almost nobody mentions these in recent times it makes me feel old.

  • @hermanstokbrood

    @hermanstokbrood

    5 ай бұрын

    If Delphi still gives you good memories, perhaps you could give Delphi CE (community edition) a look. It's free as long you don't earn more than $5k annually.

  • @ER3xW4ha7
    @ER3xW4ha7 Жыл бұрын

    Amazing video. I’m at the beginning of my journey into IT, and I know I’m gonna need a little bit of programming when I eventually end up in cybersec (my dream field). Programming, however, is my WEAKEST area. Networking is a breeze. Server administration isn’t as bad as my scripting, so. Anyway, thanks for the video! Short intro and I didn’t even realize the end was the end 😂 definitely earned a sub from me.

  • @alexanderiidurante7216
    @alexanderiidurante7216 Жыл бұрын

    Thank you Andy for the wonderful pdf!

  • @MgelikaXevi
    @MgelikaXevi Жыл бұрын

    agreed. Another reason to skip C++ for now - it is more like "specific industry language" . For example, my city lacks demand for it as there are only few companies in related industries, but everything "web-based" is booming, because it has a wider circle of clients. Also, a potential problem if you are self-taught - even those few job opportunities we have in C++ - have a requirement of a specific university degree. So you might check your local job market. Mb it is different, but it is always aa good idea to be sure

  • @77Sherms
    @77Sherms Жыл бұрын

    Great video. I do think that learning some of the more challenging languages are good to give people an idea of what's involved in setting up an environment but I agree that it's better to learn something that's simpler to start coding in straight away. It removes the distractions and lets you focus on the fundamentals.

  • @nerdyali4154

    @nerdyali4154

    Жыл бұрын

    I completely disagree. It means that you start programming without understanding the fundamentals. It's like saying it's good to start your career as a doctor by reading visually-based how to manuals on the job.

  • @PerteTotale

    @PerteTotale

    Жыл бұрын

    @@nerdyali4154 I've spoken with hordes of "programmers" and most not really having a good idea nor a realistic grasp of network concepts. my "network admin"/programmer could not get on my pc's, I prevented him spying on me, which got him more and more go nuts. On the other hand I consult all kinds of manuals or blogs or how to's in diff. languages regularly as I don't have to reinvent the hot water.

  • @77Sherms

    @77Sherms

    Жыл бұрын

    @@nerdyali4154 I don't think that's a good analogy. We're not saving lives or delivering babies. You obviously need to be highly experienced and qualified to be a doctor. There's a world of difference between programming and being a doctor. Also, not everyone is going to be a god level PhD programmer and you can learn things as you go along. You can learn what you need to know. I work with an engineer who didn't finish his CS degree. He became a qualified chef then went back into programming, created a startup and pitched his idea to a VC company that funded Uber.

  • @guillermogomez4992
    @guillermogomez499211 ай бұрын

    That's interesting. I started in preparatory school with flowcharts to understand basic concepts like IF, FOR, and stuff like that. Then we moved on to C++, but I never did anything spectacular, just simple things. I didn't really understand what I was doing deep down; I was still stuck in the flowchart mindset. In fact, I got a 10 in Flowcharts, but I had difficulties with C++ because I wanted to understand the "why" behind things, like "static void" and stuff, but the teacher just said, "That's how you write it." Anyway, the only thing I remember from C++ is that you had to declare variables at the beginning and the famous "static void main." When Java came along, the same teacher said, "Get ready to suffer," "C++ is child's play compared to Java." This was about 14 years ago. And true to his word, it all started without libraries, pure and hardcore language. I remember some traumatic instructions (just a single line of code to print something to the console). I don't know if it was the quality of teaching, the time (years ago), or if I just wasn't cut out for it, but I wasn't the only one. The whole group failed. The only part I semi-enjoyed was when they taught us how to use user interface libraries in Java. I was obsessed with buttons, alerts, and stuff on the screen at that time. I think that's why I managed to create a small semi-animated interface. It felt like I was truly programming. The teacher said, "I'm going to pass you because I see you're putting in the effort." Anyway, when I got to university, it was hell. They assumed we already mastered Java and bombarded us with a bunch of libraries. I couldn't concentrate on learning because I wanted to know what was behind those libraries (I didn't understand the abstraction of it all), and that was my downfall. In addition, instantiations, classes, object-oriented programming, all with exercises that honestly didn't motivate anyone, took away all my desire to learn programming. It wasn't until I became obsessed with understanding what the university didn't have time to teach (due to the limited semester time, curriculum, etc.) that things started to change. I didn't become an expert by any means, but I began to grasp the abstraction of the concepts themselves. I created my own dictionary, an Excel file with every term I wanted to understand its meaning. I watched hundreds of videos and tutorials to "understand" rather than master the concepts themselves. I guess you could say I became an expert in "concepts." That calmed my restless mind, and I could focus better. Although I didn't know exactly what code was behind a library, I wasn't obsessed with it anymore. I also stopped obsessing over why something was called a "class," the difference between structured programming and object-oriented programming, the reason for "import" and "export," etc. (In fact, back in my day, if my memory serves me right, we still used inline styles in HTML; there wasn't the practice of separating the design into a CSS file.) In my restless mind, it didn't fit that programming was done in a different way, with different files calling each other, the topic of variable scope, "public," "private," and those things. In conclusion, times have changed. Now you can learn at your own pace, without the pressure of getting good grades or having incompetent teachers, which, believe it or not, can affect your morale when you're young. I think the best thing is to project what you want to achieve. Do you want to learn to teach? Do you want to focus on mobile apps? Web development? You have to enjoy your goal; that's the only way you'll put all your effort into it. If it helps, I was deeply wounded. I was afraid to look at code for years because of my traumas from university and some evil teachers. So, don't underestimate your initiative and enthusiasm. There are malicious people who can try to make you feel incompetent, and if you're weak like I was in my case, you could throw away all your talent. Now, the question everyone is asking: Can I program now? Well, like I said, it took me more than 10-12 years to get close to code again. I have no experience, and it's very strange because I don't really know how to code, but I can communicate with ChatGPT and explain all the concepts I've learned to make it do the things I want. In less than 2 months, I've "programmed" over 20 scripts in vanilla JS, purely based on concepts without ever having developed anything before. I even created a Tinder extension to compare compatibility between 2 profiles with AI using the OpenAI API. I'm 35, and I believe it's never too late (I dropped out of engineering in my fifth semester when I was 21). Precisely because I didn't pass Java and Math 5, I fell into depression, and the rest is history. I beg you, go for what you want, not what is imposed on you.

  • @manuelvasquez6925

    @manuelvasquez6925

    11 ай бұрын

    I've just recently started a SIMPLE intro to computer application class and I'm killing it and I am somewhat interested in a computer career.. would you suggest coding?

  • @riazmahmudhossain4898
    @riazmahmudhossain4898 Жыл бұрын

    Thanks Andy :) These tips help me a lot.

  • @danieljansen8795
    @danieljansen8795 Жыл бұрын

    Started with PHP/MySQL 20 years ago, afterwards I did some R script for a research project, went for Python like a year ago and ended up with Java & getting a career switch into the tech as Java developer quite recently. It doesn’t matter where with what language you start. You just need to love doing it and if you have no idea if you would ever love programming, I’d agree that JavaScript will get you the best starting thrills to love or hate programming.

  • @FrocketGaming
    @FrocketGaming Жыл бұрын

    I think it depends a bit on the context of your learning. I learned SQL first because I needed it for work. It drove me to finally dive deep into Python so I could automate much of my SQL work.

  • @michaelhearmon9965

    @michaelhearmon9965

    Жыл бұрын

    Same here, I learnt SQL on the job and then I picked up Python and C# to work with it. I think was a good start to real programming compared to what I actually started with, which was VBA

  • @MrMudbill

    @MrMudbill

    Жыл бұрын

    Similarly, one of my first real experiences with command lines were highly specific CMTS devices which are used for cable modems / internet access via radio waves in copper wires. I have since learned a lot more about command lines in general. So in that sense, I don't think SQL is necessarily a bad place to start, as long as you don't go in thinking you can create programs with it but rather learn it as a tool for a task.

  • @ADeeSHUPA

    @ADeeSHUPA

    Жыл бұрын

    @@MrMudbill ないす

  • @rik0904

    @rik0904

    Жыл бұрын

    yep, that just mean that first language for any one should be, 'the one that give you fast benefit in real life'

  • @LegoSciGuy
    @LegoSciGuy Жыл бұрын

    great video. If you had a child in 7th grade. and they were going to take a coding class, what would you like their coding language to be? Just learning through block coding or is there a language that is appropriate for that age that lends itself to a more advanced language in high school or beyond?

  • @kmunson007
    @kmunson007 Жыл бұрын

    Great stuff! Thanks for this video.

  • @karlwiklund2108
    @karlwiklund2108 Жыл бұрын

    It depends on purpose and context. A good language for teaching programming and/or CS concepts. If I had to choose, I'd go with Pascal or C. They're very good for elucidating concepts like control flow, procedural programming, etc including data structures and algorithms. They also enforce good habits. Memory management isn't that onerous, since much of the time you can use fixed-length arrays, rather than directly deal with the mechanics. But on the other hand, it's useful to know how memory and addressing actually work, and not just treat the machine like a magic box.

  • @Aim54Delta

    @Aim54Delta

    Жыл бұрын

    I generally have come to refer to programmers as people who understand that they are using a calculator on steroids to make things work and endeavor to make efficient use of that calculator. People who simply write code are script kiddies. The distinction appears elitist and divisive until you run into a programming crisis or severe hardware constraint for some sort of application.

  • @Aim54Delta

    @Aim54Delta

    Жыл бұрын

    @Nicholas Millington Who do you think writes the compilers and the hardware libraries? Or deploys the same exploits against copy-pasta code or vulnerabilities in compiler implementations of instructions? You're getting needlessly defensive as we are only partially in disagreement. We agree on a criticism of what it is that stands as an obstacle. Functional code is superior to the idea of optimized code that never runs. If you would read, that is accounted for. I state that one needs an understanding of a language to be able to design and implement code. You are also correct in that optimization is "only crucial" for situations where the volume of computations is of significance. Obviously, an algorithm for resolving differential equations, even if done in a creatively inefficient way, would almost certainly be quicker than a human being and any such successful program valuable to an end user. Today's hardware is extremely powerful and getting into the nitty gritty of how many cycles a core is idle or has a cache/heap miss is really only valuable when we are programming things like graphics engines or military ELINT software/hardware (where do you think I encountered such constraints?) Where we disagree is on the value assessment. Basically, script kiddies are incapable, as you demonstrate, of assessing their value because they do not understand the hardware they are working with, and in many cases do not believe they need to. I am not incapable of learning a high level language or using it. The converse, that script kiddies are able to understand low level code and execution, is not universally true.

  • @stryider564

    @stryider564

    Жыл бұрын

    @@Aim54Delta I’m confused. Unless a person knows how to build compilers and assemblers they aren’t a real programmer? How far down does that go? Machine language which requires neither? I’m actually asking because my definition of a script kiddie doesn’t match. What low level language(s) does a person need to know in order to not be a script kiddie in your view?

  • @Aim54Delta

    @Aim54Delta

    Жыл бұрын

    @@stryider564 It's not so much about what language they know, but about their view of the machine. For example, a programmer who does not understand the distinction between a float and an integer is being a script kiddie... while someone who argues they do not need to know such things -is- a script kiddie. Similarly, understanding memory allocation and garbage collection is the difference between a script kiddie and a programmer. A programmer is able to engage at the level of language necessary to complete the programming task. If there is no library, they write it. If they need more performance, they abalyze the compiler's output and look for possible ways to improve that performance. As an old example, rendering things as integers that can be handled as integers even if we intuit them as a float can distribute processing to often under-utilized parts of the hardware. On the other hand, recognizing you can use an instruction set to simplify some kind of pathfinding routine into fewer clocks might pay off (though I don't expect most people to be fluent in vector math and the kinds of math theory that go into custom compiler scripts). The point is that if I hand a programmer a piece of hardware and a program I want to get to run on it - a programmer will wring performance out of that piece of hardware. They may not initially have the knowledge or skills to do it off hand, but they will naturally hunt for ways to make it happen. Programmers had a raytracing engine on the super nintendo as part of a functional game (jurassic park, of all things, a movie title). They had full screen animated cutscenes on the Sega Genesis (Sonic). Programmers are given a task and a piece of hardware and they return with either a success or an exact explanation of what needs to change about the hardware constraints to achieve the goal (and a few of them are probably still arguing there's another thing to try). My background is digital electronics, analog electronics (op amps and the like), as well as avionics. I'm at home thinking in terms of logic gates and differential amplifiers - which is to say, verilog and/or HDL - which are the languages used to generate CPU and FPGA die images... But I don't really consider myself a "real programmer" because most of my forrays into programming are to program hardware to respond to input sequences the way I want. The larger picture of designing, say, a physics simulation engine is more than I have taken on. Although I have been working on a project I intend to open source as a competitor to the AEGIS II suite ... that's another story and mostly database and signal processing libraries.

  • @kokop1107

    @kokop1107

    5 ай бұрын

    Pascal? In this day and age?? That's a joke right. You can't genuinely think that that makes for a good beginner language.

  • @AndrewDCDrummond
    @AndrewDCDrummond Жыл бұрын

    I would still suggest "The C Programming Language" 2nd Ed by Kernighan & Ritchie - brilliant book - anything Kernighan was involved with is superb. the book is short, good exercises and C is a simple language with 32 keywords. You are going to have to know about memory management, stacks and heaps if you want to be any sort of a decent and safe programmer, imho. And learning at this level makes the concepts you will meet in higher level languages much easier to grasp.

  • @xapimaze

    @xapimaze

    Жыл бұрын

    It's a great book for C. I would argue that it's not a great choice to be one's very first introduction to programming, though.

  • @StonedSidney

    @StonedSidney

    7 ай бұрын

    Totally agree, I have that book and learned C on an Atari ST, but we're old farts! Young folks should get a ZX Spectrum and learn assembly code. It won't get you a job but neither will Python! No mention of J2EE seems odd. Lots of jobs there.

  • @jimbelcher6877

    @jimbelcher6877

    7 ай бұрын

    A classic in the industry to be sure. I lived and breathed that book for my entire university time, and several years thereafter.

  • @daschmitzi8403
    @daschmitzi8403 Жыл бұрын

    In my IT-HTL (HTL=Höhere technische Lehranstalt = higher technical college/school) we started with C#. Installing an IDE (like VS) and the SDK is not that hard. However, when it comes to fun programs and ideas you are right. At first you are very much bound to console applications, which can be hard to have fun with/make fun little projects. In school the teacher gives you the tasks (and hopefully tries to make them fun). We for example coded a chess game, a tic-tac-toe game and a Connect Four game. PS: actually we started with drawing pseudo code the first ~ 1-2 months.

  • @remmirath42
    @remmirath42 Жыл бұрын

    The first language I tried to learn (and failed miserably) was Python. The first language I actually learned was Perl. Some people call it "ugly" because of all the special characters, I call it "easy for a beginner to see what's going on".

  • @katariina1713
    @katariina1713 Жыл бұрын

    Thank you Andy 🙏🏽 You have lifted me up from a deep pit as I am a beginner struggling ☺️ Our school teachers chose C# for our very first language.. some dropped out of class, its so frustrating at times..

  • @gnarfgnarf4004

    @gnarfgnarf4004

    Жыл бұрын

    Which is why programmers get paid the big bucks...

  • @petrzurek5713

    @petrzurek5713

    Жыл бұрын

    C# frustrating? Oh man, gotta find a good teacher on your own then. Like Tim Corey.

  • @williamforsyth6667

    @williamforsyth6667

    Жыл бұрын

    @@petrzurek5713 "C# frustrating?" Most problems which take 5-10 mins to fix in JS, can be recognized in C#( with Visual Studio) even before compiling. Frustrating...

  • @petrzurek5713

    @petrzurek5713

    Жыл бұрын

    @@williamforsyth6667 I think you completely misunderstood my reply to Katariina ... I was also wondering how anybody can find C# frustrating.

  • @williamforsyth6667

    @williamforsyth6667

    Жыл бұрын

    @@petrzurek5713 Why, isn't it frustrating, that in C#/VS you recognize problems while typing, not allowing you the waste 5-10mins to struggle with them, like JS? - Sheldon, do I have to... hold up a sarcasm sign every time I open my mouth? - You have a sarcasm sign?

  • @leogarza5022
    @leogarza5022 Жыл бұрын

    C++ is widely used and important for game development, finance, robotics, systems-level programming and large, complex software systems. It is also the language that many libraries, frameworks and tools are written in, making it a valuable language to know. Not the friendliest, but I still think its worth while.

  • @florisvandenberg7424

    @florisvandenberg7424

    10 ай бұрын

    Absolutely. C++ is a highly valuable language to learn, but it's not ideal as a starting point for beginners.

  • @bobgreene2892
    @bobgreene2892 Жыл бұрын

    This video is my introduction to you, and despite my initial skepticism, your summary seems accurate and practical. Thank you-- I subscribed.

  • @XDBjoernXD
    @XDBjoernXD5 ай бұрын

    My first programming language was java in the university and I am very glad for that, putting the time into it. Subjectively it was quite a good experience to learn having a decent IDE helping you out with a debugger and other build in tools. Also the object-oriented paradigm felt natural for me with it's explicit static types giving you compiler errors, finding the problems earlier in the process. I sticked to Java since for me it has a nice feedback-loop to it and a lot of good resources. It is very hard to give a good advice. You may should try for yourself.

  • @jacobflores8666
    @jacobflores8666 Жыл бұрын

    I'm absolutely not an expert but I feel like it's probably not a bad idea to pick a language you can see yourself working a job with in general. Personally, I picked R programming and Python because I'm an undergraduate math major. I'm hoping to get into a Ph.D. program so that I can do research in statistical learning theory and then eventually become a data scientist or statistician.

  • @alphonsoacqua

    @alphonsoacqua

    Жыл бұрын

    You absolutely picked the right two languages to learn.👍

  • @R3DC0DE

    @R3DC0DE

    11 ай бұрын

    Take a look at julia. I pretty sure you will love it.

  • @therealg9542
    @therealg9542 Жыл бұрын

    Python is god tier. My first language was Python, I started coding when I first entered high school. Later on, for my first year of university, I was introduced to a compiler language for the first time, C. Even though we were only learning basics of C, it was still pretty challenging because you had to learn how to pass by reference. I'm currently in my first year of software engineering and we are learning Java. The course is great as it introduces OOP concepts and design patterns to help maintain the readability of your code. However, Java enforces you to utilize OOP concepts- you cannot write a program in Java without having 2000 lines of getter and setter methods. From my experience, do not code in C languages if you are a BEGINNER, you waste too much time learning the fundamentals. Start with a simple language like Python, then spend a bit of time with Java. This will help build a solid foundation later on for more complex languages like the C languages. I also recommend doing leetcode problems even if coding is just one of your many hobbies. I hope this helps!

  • @somusz159

    @somusz159

    6 ай бұрын

    Java is ok. C is not bad as a first language if you use it on unix and you won't necessarily waste a lot of time because knowing those concepts helps you become a great programmer. Scheme is a good fit as a first language imo, makes learning theory easier. Python is not god-tier because its reference implementation is slow, buggy and filled with guestionable decisions

  • @therealg9542

    @therealg9542

    5 ай бұрын

    ​@@somusz159 Fair point. However, in terms of the learning curve, Python is the simplest and most intuitive programming language. In terms of practicality, it depends. In the software department, we use JavaScript for developing web applications. For the backend, Java is the preferred choice - plus you learn about essential SWE practices; refactoring, unit testing, etc.., Python is the preferred choice of language for machine learning, and C/C++ is mainly used in the mechatronics, mechanical, and electrical departments. Having proficiency in Python, Java, and C++, I confidently state that Python is the most beginner-friendly!

  • @joelsundberg9998
    @joelsundberg9998 Жыл бұрын

    I am learing coding right now, and I found this video really helpful, I am learning html and java, but I find it quite hard but I'm going to keep on going to chase my dream!

  • @patricksemmler9919
    @patricksemmler991910 ай бұрын

    I started in the early 90s with C64's Basic. After purchasing my first own PC in the mid 90s I wrote some small programs with GWBasic and QuickBasic. In 1997 I learned Pascal and a collegue showed me Borland Delphi, and I used Delphi for over 10 years. Coming from procedural Pascal, it took some time until I learned the concepts of OOP, and 2010 I switched to C#, which is still my favorite language. In the 2010s I learned Python to write some Scripts at work, did some little stuff with Java and a little bit PHP. I would recommend to start with a language that has a C-like syntax because most modern languages use this syntax. The language should be also object orientated and type safe.

  • @petrzurek5713
    @petrzurek5713 Жыл бұрын

    I would still make an argument for C#. Building GUIs or games with Unity/Godot can be pretty engaging. If you go the web route your are bound to need to learn a plethora of other technologies - bash/linux, html/css, JavaScript, databases, …

  • @jasonnares9634
    @jasonnares96346 ай бұрын

    I've read the manual and it was awesome. Thanks for sharing. 🙌

  • @AndreeMarkefors
    @AndreeMarkefors Жыл бұрын

    I'm just a beginning programmer, or perhaps an intermediate, but I've found Swift and SwiftUI to be a great experience. I don't have much to compare to, but I find Swift to be very readable, and as I understand it, pretty safe to use. I read some Python from Blender plugin development, but can't say I'm in love with reading that. Sometimes "language culture" just carries over, and I can't for the life of me see the benefit that some programmers have for terseness using single letter constants or whatnot. In Swift you often see long constant and function names that make everything so much clearer. Has nothing to do with the language itself, but as I said... once you're in you try to conform to what others are doing and the Swift-way fits me better. Due to lack of guru-ness, I shouldn't really comment, but I think Swift is good due to type safety and explicitness as well. I'm not buying the "a pen is not a great tool, because every time I try to dig up my garden I have to waste so many hours due to the ineffectiveness of it"-argument. You should only evaluate Swift and Kotlin in the context for which they were made. No need to "compare" tools for different purposes.

  • @stevenbrock528

    @stevenbrock528

    4 ай бұрын

    You definitely should compare as most programmers will not only do mobile programming. So if you're going to need to learn other languages, then it's a matter of which is easier to do first.

  • @jackiechan6460
    @jackiechan6460 Жыл бұрын

    I'm new to coding and got C# setup without a problem. Also BepInEx documentation is really straight forward on how to compile plugins against a game. I think saying skip C# because of a somewhat steep setup process can hurt the fun some people can be having.

  • @guillermoleon0216
    @guillermoleon0216 Жыл бұрын

    The moment I saw you discard C# and Java for "being difficult to set up" I knew you were going to recommend JS and Python. I agree on Java and maybe C# not being great for a first language because OOP should not be the first thing you learn. But I think another thing you need to consider for a first language is not having to deal with weird errors like JS with its type coercion and Python with identation errors. I still think C++ is a great learning tool because while you might have access to complex things, you won't stumble on them accidentally. By the time you know what a pointer is, you can already move on to OOP.

  • @gavinh7845

    @gavinh7845

    Жыл бұрын

    C/C++ build chain is pretty confusing and avoiding pointer based footguns is probably a solid choice for absolute beginners. Both JS and Python have their warts, but syntax is pretty readable and with JS in particular it’s nice to be able to build something visual and interactive without a ton of setup. Ruby is probably a decent starter language as well. Maybe go 🤷‍♂️ I think my first language was Visual Basic, then Java, C, and Ruby. My first internship after freshman year of college was Coldfusion :(

  • @glitched.gaming
    @glitched.gaming Жыл бұрын

    ANDY! My subscribe button is broken, it won't let me SUPER SUBSCRIBE! One of the things that I wish I knew when I started programming was where I could find your videos. I literally point every new programmer to your videos because there is so much garbage on the internet. I was lucky enough to be able to go to school to learn, but your videos are literally priceless in terms of motivation, inspiration, and true knowledge. THANK YOU! ❤

  • @nicktobies
    @nicktobies9 ай бұрын

    Thank you for the manual. Great Job

  • @StefanoVerugi
    @StefanoVerugi Жыл бұрын

    Long time user of Excel and spatial data for work I learned SQL and R Recently I tried JS and Python for fun Each of them have pros and cons, depending on the intended use but all are not too difficult to approach And Yes, you must have discipline and commitment to get something out of them

  • @dandelion4816
    @dandelion4816 Жыл бұрын

    Just play the standard and learn C as your first language. Although many would say that low-level languages like C need you to take extra effort in stuff like memory management, I personally feel that this gives you great opportunity to experience the fundamental theories in programming hands-on. For example, I think that learning pointers in C helps a great deal when it comes to understanding why you need immutable classes in OOP.

  • @entx8491

    @entx8491

    10 ай бұрын

    then why not C++?

  • @vitaliiivanov9514

    @vitaliiivanov9514

    10 ай бұрын

    Also, you can safely ignore memory management in c while learning basics of programming as you'll be writing programs that just do some stuff and exit. It's getting important only when you actually want to create something useful.

  • @TheFeralEngineer

    @TheFeralEngineer

    9 ай бұрын

    ​@@entx8491c++ is very complicated. You can write c++ like C, but i think you'd get a lot of dirty looks if you did.

  • @haleyhalcyon

    @haleyhalcyon

    9 ай бұрын

    Why do you need immutable classes in C++ and what does it have to do with Pointers?

  • @csmoothnj

    @csmoothnj

    6 ай бұрын

    Pointers, memory management, and manipulation of registers are essential to any university level course taught in c, let alone all the tech maturity required to set up one’s dev environment. There is entirely enough to drown out a beginner who be a talented developer all because they can’t get VIM or EMacs working well, which is flat out stupid in 2023. We need engineers, it’s time to give up the ghost on anachronistic teaching requirements.

  • @joninct
    @joninctАй бұрын

    The language that helped me most with my electronics hobby was my 2nd language, Assembly. My hobby is electronics and I love designing stuff and then programming the firmware. In college, I took a fictional version of an assembly type language and wrote my first programming language (an emulator of that language). It influenced how I write programs so that they can be easily modified. I don't use the basic technique in every program, but I use it often enough. I never worked as a programmer, probably because I got in trouble as a hacker back in high school, but I worked as a systems administrator for one of the largest Thrifty Car Rental franchises and worked as a simulator engineer. Programming helped me get some fantastic jobs. I am now playing around with Arduinos, I can't believe how much easier that are to work with over my favorite microcontrollers in the 1990's, the mighty Pic Microcontroller from Microchip. BTW, this is a great video and some great advise.

  • @alphonsereitz
    @alphonsereitz Жыл бұрын

    I'm self-studying programming and computer science. I'm doing C and assembly. Understanding the hardware down to the IC's and beyond helps make them much easier to understand.

  • @toddbu-WK7L
    @toddbu-WK7L10 ай бұрын

    I first started coding in 1978, and graduated from college in 1987. I’ve programmed in every language you mentioned plus a whole lot more. I agree with this list 100%. The popularity of C#, Java, and PHP are offset by the fact that the pay rates are generally lower for these languages than Javascript / Node and Python. That’s because the latter languages allow you to work faster and more reliably once you understand them. I am a classically trained computer scientist. I’ve taught at the college level. After 35+ years of software development, I am still current in technology and I love my work. But I have no use for C# or Java or PHP anymore. I still use C++ daily for microcontrollers and recommend it for that specific application. Otherwise, I recommend following the advice in this video

  • @AndySterkowitz

    @AndySterkowitz

    9 ай бұрын

    Thank you Todd

  • @StaraPuska

    @StaraPuska

    8 ай бұрын

    "That’s because the latter languages allow you to work faster and more reliably ..:" - without understand the principles. And it leads to a terrible coding without errorhandling, reasonable design and without considering resources...".

  • @toddbu-WK7L

    @toddbu-WK7L

    8 ай бұрын

    ​@@StaraPuska, since this is our first time (that I can recall) having an exchange with you then I will give you the benefit of the doubt and assume that you didn't mean to change the meaning of my post when you misquoted me above. Regardless, you did. When you quoted me you left off the **"once you understand them"** (emphasis mine) at the end of the statement. I said absolutely nothing about error handling or reasonable design or resource usage. Of the three programming languages that I said that I prefer (Node, Python, and C++), all of them support reasonable to good error handling mechanisms if you use them correctly. I've also seen great designs in all three, as well as thoughtful resource utilization. What you cite are NOT deficiencies in either the programming language or the ecosystem that promotes that language. I see plenty of good examples of coding in examples and libraries across the Web. And I see some awful stuff too, like the guy that put a blocking loop inside of his `loop()` function in his Arduino code. (It could be argued that you should have NO loops period inside that function, blocking or non-blocking.) My point here is that when you quote someone in a reply, please be sure to quote them **in context**. In our world today we have far too much division between people groups because somebody misquotes somebody else that that disagree with. I encourage you and anyone else reading this post to take the time to carefully consider what the person posting a comment intends by their statement rather than jumping to a conclusion based on reading just a few words.

  • @StaraPuska

    @StaraPuska

    8 ай бұрын

    @@toddbu-WK7L Hi Todd! I am sorry. Did not want to offend you. I was working 15 years as a lead software engineer and have some experiences with programmers who do not have basic habits and basic knowledge. Mainly because they start to scripting , not programming. You know that there are programmers of HTML code. Again, sorry. This is just my opinion.

  • @user-sw2nh4ll7h

    @user-sw2nh4ll7h

    7 ай бұрын

    It's hilarious, practically everything you said is wrong :D

  • @blakephillips8649
    @blakephillips8649 Жыл бұрын

    Great video. I came to the same conclusion after sampling many languages. But between JavaScript and Python I would put Python at the top since there's a HIGH potential for a learning developer to get bogged down in all of the frameworks and trying to figure out the "best" way to do something in JavaScript. Python has GREAT documentation and is less of a moving target IMO. All that being said, JavaScript will probably be the winner in the long term with so many things being web-centric.

  • @Ryuuzaki145

    @Ryuuzaki145

    Жыл бұрын

    I mean, for web development you will eventually be forced to learn javascript one way or another lol. For front-end or full stack, I'd definitely recommend javascript first just for the UI/UX. Wouldn't necessarily recommend jumping right on a javascript library or framework though, but rather plain html/css/js. If only interested in back-end and don't plan on taking much time on the GUI, then would recommend focusing on python first. But still, some javascript will always be handy in web development.

  • @germanher7528

    @germanher7528

    Жыл бұрын

    I'm starting now and sólo learning so I choose Python as foundation but I learned programming logic years ago with a bit of Basic, FoxBase and spreadsheets. After Python I plan to go to JS and then web dev, GoLand, C# and Pascal, I plan to avoid Java, and C++

  • @leeduhart105
    @leeduhart105 Жыл бұрын

    thanks, Andy for the manual...

  • @samsepiol5533
    @samsepiol5533Сағат бұрын

    Thank you! I tried learning C# and spent 4 hours just trying to set it up only to have to factory reset my Mac and restore from Time Machine. Python has been much better for me (once set up properly) and I’m down to try JS!

  • @blueice1364
    @blueice1364 Жыл бұрын

    I usually recommend Java since it teaches you the fundamentals of any programming language like the most common datatypes and oop concepts (interface, abstraction, encapsulation etc) which resides in almost all programming languages in different shapes and forms. Once you learn the basic stuffs that you're gonna need anyway in any programming languages, the other stuffs becomes easy to grasp. I know it's hard to learn for beginners, but once you learn it seriously, you're set for life. I personally don't recommend js and python cause it makes you dumb in the sense that it does not teach you the fundamentals. True you can start building stuffs faster, but then when you ask them about any basic stuffs about programming, they are gonna try and relate to js and python which lacks many of those concepts or has a roundabout way of doing that, which does not truly answer your question.

  • @stalker200368

    @stalker200368

    Жыл бұрын

    You expressed my thoughts really well. I hope js and python for beginners trend will someday go away.

  • @pumcia718

    @pumcia718

    Жыл бұрын

    @@stalker200368 I am also in full agreement here. I can not in my right mind recommend any typeless language as a starting point. I still remember how my very 1st programming prof said "I don't like Java, it makes programmers lazy."" Java lazy is nothing compared to python lazy.

  • @cerad7304
    @cerad7304 Жыл бұрын

    I remember helping my kids learn Java for a mandatory High School class. The initial setup was not a problem. The biggest hurdle was that the teachers really did not understand the concepts involved. It was a fine line between generating working code and not overwhelming the teachers with stuff they have never seen before.

  • @xapimaze

    @xapimaze

    Жыл бұрын

    Java setup is fairly simple. I don't see *that* as a reason to not choose Java as a first programming language.

  • @Faecus
    @Faecus7 ай бұрын

    That was quite interesting for someone with no coding background as me. I'm trying to study roadmaps before starting exactly to avoid wasting time. It seems others experts share the same as you, with some small differences. The path seems to be hard, I'm not saying we need to avoid difficulties, it is just that we need a good roadmap to avoid being frustrated and taking too much time to learn something. I will consider that, thank you!

  • @Art-is-craft

    @Art-is-craft

    5 ай бұрын

    There is a difference between software engineering and programming.

  • @maurolimaok
    @maurolimaok Жыл бұрын

    Thanks for the video!

  • @Aizistral
    @Aizistral Жыл бұрын

    - Java *- I disagree* In fact, the reason I would not recommend JavaScript for beginners is *specifically* because it's a dynamically typed language. While that gives you more freedom, it definitely has a tendency to create hard-to-deal-with errors that would be easily avoided in a statically-typed language. Maybe Java specifically is not for everyone, but I definitely go with a statically-typed option whenever someone asks me what they should learn first.

  • @AndySterkowitz

    @AndySterkowitz

    Жыл бұрын

    :-(

  • @peterlinddk

    @peterlinddk

    Жыл бұрын

    I have often heard that argument, that dynamically typed languages should somehow be harder to learn. I have neder seen it though - but I have seen a lot of problems with statically typed languages, where you NEED to understand the types and conversions before you can write anything. And still get errors when your data cannot be parsed into the right format. So I simply don’t believe that the problem exists outside the mind of those who prefer statically typed languages …

  • @52cent

    @52cent

    Жыл бұрын

    TypeScript which is strong typed is just a joke

  • @montecrucis7247

    @montecrucis7247

    Жыл бұрын

    That dynamically typed freedom is what it made easy for me as a self taught starter, and it taught me to be aware of what my code does when and where and why. It forced me to write clean code from the beginning and I learned print f logging along with it. Clean code seems to be a not so often discussed topic among frontend programmers btw.

  • @Nurr0
    @Nurr0 Жыл бұрын

    I see what you did with that thumbnail... Here I was thinking you were going to say no to Python! :P

  • @AndySterkowitz

    @AndySterkowitz

    Жыл бұрын

    Gotta make you click somehow ;-)

  • @shaz01

    @shaz01

    Жыл бұрын

    Emotional damage. By the way is c# easier than python? Cause I am learning python and python seems easy.

  • @supercyclone8342

    @supercyclone8342

    Жыл бұрын

    ​@@shaz01 You should probably continue with Python, however I absolutely love C# and it would probably be a good 2nd language (it was technically my first). Honestly, I don't really like Python that much and I feel like it could lead to some bad habits, but I doubt that really matters. It's easy to start with and that's likely more important. However, C# is full of powerful and convenient features to use once you get the basics down.

  • @neomangeo7822
    @neomangeo7822 Жыл бұрын

    I started with the HTML/CSS/JS then React route, then learned MERN for some fullstack knowledge. Was looking at C# and playing with it a bit while searching for a job and found a job that had a C# b ackend with React (and using Typescript) on the frontend, and MSSQL DB. I find it quite a good combination for quite a lot of reasons. With JS you learn functional paradigm usually (not always, depends), and C# is OOP paradigm. JS has prototypal inheritance, C# has classical inheritence. JS is interpreted and dynamically typed, C# is compiled and statically typed... And there are lots of other things opposite that the languages have/do (even though core concepts for these popular languages are translate, like data structures, the api's might be a bit different, but the concepts are basically the same). Those two languages seem to compliment your knowledge base and skillset really well. You could also ofc swap C# for Java. I think Python is really neat too but learning wise not quite as good paired with JS.

  • @fashion_walker
    @fashion_walker9 ай бұрын

    Omg😱😱, you are definatley right.. this is a video I was waiting for 😮😮😮 🙏🙏🙏

  • @krisvq
    @krisvq Жыл бұрын

    I speak "a few" languages :) and have been coding for 25 years now and I think your suggestions are good for the most part. In my opinion PHP is a good way to learn to code because it is not "too easy" and covers a great deal of ground, conceptually. Having some resistance at the start is good for grappling with code. I didn't start with PHP by the way. I am merely suggesting from personal experience with young coders. Mine was indeed C++. If any new coders find this to be helpful I also think Python and JavaScript and yes, PHP are good. They give you 3 distinctly different concepts to master and you will develop a great deal of coding flexibility if you take them on. That being said, if you do take on C++ learning other languages becomes mostly trivial. That is a good thing. Good luck with whatever you choose. Also expect big changes in coding concepts over the next few years. AI will change how we do things.

  • @nowelectric2811
    @nowelectric2811 Жыл бұрын

    In school we started with sql and now doing Java. I don’t think it’s so bad to start with. Of course syntax in java is a bit complex but sql for example is very easy in my opinion and has a use too. Knowing how to see search data in relational databases is quite useful if you want to extract data out of a huge database

  • @valkaielod

    @valkaielod

    Жыл бұрын

    It would be very useful for illustrating math concepts.

  • @germanher7528

    @germanher7528

    Жыл бұрын

    SQL is easy cause its use is very focused thus limited

  • @friedamah7657
    @friedamah765710 ай бұрын

    May I ask a question? Does VB fit writing a medical app to find how to use herbal knowledge to write a herbal prescription for a disease? If it cannot handle the diagnosis complexibility, what language is better to use? It also involves some kinds of database build up. Should I also learn another language to meet my needs? As a beginner coder, please give me your advice. Thanks.

  • @franciscojr.fuentebella287
    @franciscojr.fuentebella287 Жыл бұрын

    Thank you very much of your information.

  • @izzok.5850
    @izzok.5850 Жыл бұрын

    My first language was C#. It's a bit hard in the beginning but once you learn a a good amount of it..... You have no idea how fast you'll learn other languages like Java, JavaScript, Python, C++ and now I'm even learning C. I totally recommend it!

  • @attilaguba856

    @attilaguba856

    Жыл бұрын

    I love C# ! That's a good choice! 😊

  • @BioStock08

    @BioStock08

    Жыл бұрын

    🙏 Thank you and GOD bless you.

  • @MrPatrickbuit
    @MrPatrickbuit Жыл бұрын

    Biggest advice I can give is to learn math. Do some calculus and linear algebra, because it rewires your brain to think a lot more logically and for me it really helped when first learning how to program

  • @gustavodill3819
    @gustavodill3819 Жыл бұрын

    About learning C++ in my experience I can't say I mastered the language, but coming from C#/python what I noticed is: The language itself is not hard. What pains you is to learn what the error messages are. You need to learn how the code gets processed, that is: Preprocessor -> Compiler -> Linker -> Executable. Learn a little on wtf the template errors mean. The rest is basically the same as the other languages (logic and stuff) you just get to do you memory management. If I'm wrong in anything pls correct me as I'm still learning as well :)

  • @bdpyne
    @bdpyne8 ай бұрын

    Great video. The recommendations are spot on. SQL is a declarative programming language. Another declarative PL is Prolog. Declarative PLs let the programmer state what they want while the “engine” worries about the how.

  • @tylercoombs1
    @tylercoombs1 Жыл бұрын

    In the beginning i tried to learn C++ but found it overwhelming, i had a hard time wrapping my head around the memory managment and pointers plus testing code was very confusing. I moved to Python and had a much better time in the begining, mainly because Python was much easier to understand, i was able to wrap my head around loops, functions and classes and just really understand the fundamentals that one would run into with any computer language, I went back to C++ 3 years later and had a much easier time, in fact, I was able to enjoy having more control over the memory stack and etc. Side note I hate PHP! I essentially had to turn my windows machine into a web server so i could test PHP code, the problem is Windows IIS sucks! (I know there's a dozen better options than IIS but it was an IIS-specific project and it was also a sensitive one.) PHP is inherently a security risk anyways so i too would avoid it

  • @YuckFou0x0FFFF

    @YuckFou0x0FFFF

    10 ай бұрын

    Glad I found this comment and that not everyone agrees. I'm starting on Py 3 now. I took HTML and Java in HS years ago and can't remember a damn thing. I think what I'm going to do is just stick with Py until ik it like the back of my hand, then move onto something more complex if needed.

  • @pierreabbat6157
    @pierreabbat6157 Жыл бұрын

    I code in C++ and should be earning a fair bit of money doing so once the project is well enough along to get funding, but I recommend Rust for people who need to write fast code that doesn't pause for garbage collection. (C++ vectors pause for resizing, which can stop things just like a garbage collector.) Instead of Python, which is slow, I recommend Haskell, which has a REPL and a compiler; when compiled to machine code, it's around 1/3 as fast as C. Or you could use Julia, which also has a REPL and a compiler. I agree about C#, Swift, and Kotlin. They are mainly one-platform languages; I write cross-platform code. It's possible, I've heard, to run C# on Linux, but I'd rather use a language that's designed cross-platform.

  • @wesleydahar7797

    @wesleydahar7797

    Жыл бұрын

    Every language "pauses" for dynamic memory allocation, including Rust. The first requirement for anyone who cares about performance is to write performant code, which is not the same as writing optimized code.

  • @ChestZeroeski
    @ChestZeroeski Жыл бұрын

    Thank you for your wisdoms!

  • @asarkar
    @asarkar Жыл бұрын

    Good points on reasons to select a language. There is one more complication. Frontend and backend separation also resulted in two sets of languages (or a language with heavy use of APIs/functions) being used. JS is more front end and Python backend. I think the first language should expose the fundamental concepts of programming well. Input, output, data types, loops, logic, data management, OO (there is no clear definition), etc. should come through quickly. I think Python is a good start followed by Typescript.

  • @attilaguba856

    @attilaguba856

    Жыл бұрын

    There is Blazor! And only you need is C# ! 😉😊

  • @calvinkreidy9836
    @calvinkreidy983611 ай бұрын

    As a beginner programmer, I found that programming has to have a goal. If you want to become a web developer HTML, CSS, and JavaScript are a must. On the other hand, if you want to build programs that use mathematic skills then you can use C++. Moreover, based on what your career is, pick the language that suits best this career. Btw, I started coding with HTML :)

  • @user-ez4iz1bf2l

    @user-ez4iz1bf2l

    5 ай бұрын

    how's it going?

  • @hermanstokbrood

    @hermanstokbrood

    5 ай бұрын

    The main problem with web is that you have to learn many different techniques. HTML, CSS, JS, PHP , SQL and if you finally get used to these techniques, somebody tells you to learn a Web framework like React, Vue, Angular or one of the other dozen frameworks. By the way for deep mathematical jobs the most populair language is Matlab, even Fortran is still going strong.

  • @Lazullien
    @Lazullien Жыл бұрын

    honestly the first one you should learn is probably scratch, it helps with a lot of simple concepts with pseudocode, if you do understand the absolute basics however i think python would be the go to language for beginners, not only is it simple but it even contains so many features which can get most things done, C is also a great introductory language for those with a strong will for learning as it's basically programming as a whole package, containing direct use of memory and all, it's a little harder, but definitely worth learning

  • @user-sg2nb1hj8q

    @user-sg2nb1hj8q

    Жыл бұрын

    are you serious right now bro🤨🤨

  • @WarrenPostma

    @WarrenPostma

    4 ай бұрын

    If you're 6 years old, yea.

  • @kokop1107
    @kokop11075 ай бұрын

    Extremely sensible video. Couldn't agree more!

  • @chasebaxter4143
    @chasebaxter4143 Жыл бұрын

    Thanks man, this was very informative.

  • @RegulatedNinja
    @RegulatedNinja Жыл бұрын

    Thank you :)

  • @AndySterkowitz

    @AndySterkowitz

    Жыл бұрын

    You're welcome!

  • @FreeThinkingWisdom
    @FreeThinkingWisdom Жыл бұрын

    I think you hit the nail right on the head with the "they're not pokemon cards" info, but I disagree with the two that you chose. I like JS and Python, even though python doesn't scale well, but learning a lower level language I think is the move. I say this because it's vastly important to understand datatypes, how memory works (pointers), and how data is structured. Because of this I think C is actually the best to learn in because you have to manually handle everything. Is it more difficult, yes, but when you transition, if you transition, you'll have an understanding about programming that people who start at JS or python simply don't have at the same point you'll be at in learning. Is it hard yes, but like the butterfly, the struggle cultivates strength that will pay dividends in the long run. Also don't focus on transitioning. learn one language REALLY well, because they're all similar and at the end of the day it's mostly syntax, but you won't progress to more difficult challenges if you stop at the same point in all new languages.

  • @psyience3213

    @psyience3213

    Жыл бұрын

    I agree.

  • @RobertSpiller
    @RobertSpiller Жыл бұрын

    Andy, I've got something for you. a challenge. I'm new at all of this coding thing, and I'm looking for another laptop. Would you take a chance on an older HP Elitebook 840 G3 with 16GB of ram, and 512 SSD? And it's only $200, or wait for an Acer newest laptop with the same specs and cost a little over $400?

  • @randomabcdefghi
    @randomabcdefghi Жыл бұрын

    Great content and thanks for the Self Taught program manual.

  • @AndySterkowitz

    @AndySterkowitz

    Жыл бұрын

    Glad it was helpful!

  • @miketurner3461
    @miketurner3461 Жыл бұрын

    I'd say 2-5 years through your journey, it's good to know BOTH javascript and python another domain specific language of your choice (Rust/C++ for systems dev, Kotlin/Swift for mobile, etc.). Most software projects use a combination of languages and you get paid good money for knowing different parts of a stack.

  • @Art-is-craft

    @Art-is-craft

    5 ай бұрын

    Swift can be used as a true software engineering language like Java and C++.

  • @peterlinddk
    @peterlinddk Жыл бұрын

    I have taught beginners in Java, JavaScript, C#, C++ and a bit of Python and I totally agree! However, I do think that there could be some reasoning behind learning C++ or C# as the first language if you were learning within a game engine like Unreal or Unity. It is still hard, but much, much more motivating than he console (and for some even more than webapps 😉)

  • @AndySterkowitz

    @AndySterkowitz

    Жыл бұрын

    Makes sense! 😊

  • @mosestechtalk

    @mosestechtalk

    Жыл бұрын

    Hello, Mr Peter, please I'm stuck between learning C# and Java, and I'm not entirely new to programming. I already have a working knowledge of JavaScript, please which of them will you recommend, thank you.

  • @peterlinddk

    @peterlinddk

    Жыл бұрын

    @@mosestechtalk It doesn't really matter - both languages are fine, and approximately takes the same kind of knowledge to understand. When you have learned one, it is easy to learn the other. C# is used more for games (like Unity) and desktop-applications, but both are used a lot in web-applications for backend services, so depending on what kind of applications you want to build, you might prefer C# over Java ...

  • @mosestechtalk

    @mosestechtalk

    Жыл бұрын

    @@peterlinddk Thank you sir

  • @alghamdiaag
    @alghamdiaag Жыл бұрын

    Andy, What a video. Big thank you

  • @AndySterkowitz

    @AndySterkowitz

    9 ай бұрын

    Very welcome

  • @edisonmecaj769
    @edisonmecaj769 Жыл бұрын

    In C# you can start with Window Form Application, drag and drop controls and assign events in the code section. There is no need for command line if you're a beginner

  • @LearnCodingGrid
    @LearnCodingGrid Жыл бұрын

    Great advice! For absolute beginners (or children), I would also recommend visual programming languages. They allow users to drag and drop statements, provide a limited scope of options at each learning stage, and feature integrated tools such as a simplified IDE with explanations of the fundamentals, among other things.

  • @user-vs9qz6ro7z

    @user-vs9qz6ro7z

    8 ай бұрын

    Nooooo! Visual will never help you to code seriously in real life, if anything it will hamper your learning process. And you will acquire bad habits.

  • @LearnCodingGrid

    @LearnCodingGrid

    8 ай бұрын

    ​@@user-vs9qz6ro7z I understand your concerns, but the effectiveness of visual programming can depend on the specific visual language in question. For example, we've designed VisualL specifically for educational purposes to bridge the gap between visual and text-based programming languages like Java, C, Dart, etc. Here’s an example for more insight: kzread.info/dash/bejne/hK5ryMWEeMKYqpM.html. Our goal with VisualL is to address concerns like yours by providing a learning tool that avoids fostering bad habits and promotes a deeper understanding of coding principles.

  • @michaelblizzard8801
    @michaelblizzard88013 ай бұрын

    1967, Miami University, Fortran 2D. Our IBM 1620 had an experimental Disk Drive. Object deck of Cards, then Executable Deck of cards with data. My first PC was an Altair 8800 in '75.

  • @livingtherufflife
    @livingtherufflife3 ай бұрын

    Good tips when tryimg to figure out how to start. Ty

  • @moiattube
    @moiattube Жыл бұрын

    After 20y teaching programming, I'm convinced Java is the best (or less bad) to start. Once softened the reading from stdin, my students get the concepts acceptably fast and can switch to other langs quite easily. I've tried ( extensively ) C, Bash, and Python. Most of the code they produce is to be run on the shell. I guess other similar langs like C# could do too, and I might try some of them in the future.

  • @unoengborg

    @unoengborg

    Жыл бұрын

    Now that java comes with a repl it is even easier than it was 20 years ago.

  • @rik0904

    @rik0904

    Жыл бұрын

    I find C# and java good language for beginners, easy to do what you what and there is a lot of help on net. But when i was thinking about it, VB is even better. Many people start with it just to make there work in excel easier, this create a thought that 'I write it and it benefit me already'. VB(on excel) can make this first spark to what to do it , and trying to do it better.

  • @acasualviewer5861

    @acasualviewer5861

    Жыл бұрын

    People from the 70s will say BASIC is best (if Dijsktra fans aren't about) People from the 80s will say Pascal is best. People from early 90s will say C or C++. People from the late 90s and 00s will say Java or C#. Ivy League people from the 80s-10s will vouch for Lisp or Scheme. People graduating these days will eventually tell you Python or JavaScript was best. But I like to go back to reading what Dijkstra said in the first place about what a first language should be and why its important to choose carefully (at least why Universities should choose carefully). His point was that primarily we want to TEACH GOOD HABITs and we want to teach MODERN programming practices. So its true that Pascal was a really good teaching tool. I've used it to teach, and most first year students grasp it quickly and wonder why Java or C were so convoluted in comparison. It also promotes some good programming practices. However, it doesn't do a great job at teaching MODERN programming techniques. These days you want a language that can teach you the functional style, the OO style, and ways to solve problems via vectorization, pattern matching and other MODERN programming techniques. You also want it to be as drama free as possible, so your students don't get stuck with the tooling. The language that best fits that bill TODAY is Python. Java or C++ can do some of that but not in a way that is seamless. And educators need to be mindful of how to get the most concepts in without causing undue distraction.

  • @mosestechtalk

    @mosestechtalk

    Жыл бұрын

    Hello, Mr Moiattube, please I'm stuck between learning C# and Java, and I'm not entirely new to programming. I already have a working knowledge of JavaScript, please which of them will you recommend, thank you.

  • @acasualviewer5861

    @acasualviewer5861

    Жыл бұрын

    @@mosestechtalk not much different. But maybe .Net will be a bit easier to navigate than the Java ecosystem.

Келесі