STOP Learning These Programming Languages (for Beginners)

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 พ.ย. 2024
  • 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...

ความคิดเห็น • 2.1K

  • @AndySterkowitz
    @AndySterkowitz  ปีที่แล้ว +200

    What programming language did you choose to be your first?

    • @afshah.7972
      @afshah.7972 ปีที่แล้ว +41

      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 ปีที่แล้ว +8

      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 ปีที่แล้ว +22

      I started with JavaScript

    • @songlore4617
      @songlore4617 ปีที่แล้ว +14

      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 ปีที่แล้ว +26

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

  • @user3027
    @user3027 ปีที่แล้ว +657

    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 ปีที่แล้ว +60

      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 ปีที่แล้ว +8

      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 ปีที่แล้ว +10

      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 ปีที่แล้ว +3

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

    • @wesleymarques2468
      @wesleymarques2468 ปีที่แล้ว +1

      Same here

  • @kevinvikan3609
    @kevinvikan3609 ปีที่แล้ว +311

    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 7 หลายเดือนก่อน +1

      what are books with interactive content?

    • @epicgaming7813
      @epicgaming7813 5 หลายเดือนก่อน

      @@blearbenin
      I assume it’s something like “test this out/try this in JavaScript:” or “try programming this:” or something like that

    • @Faisonproductions
      @Faisonproductions 5 หลายเดือนก่อน +2

      i started with python because that's what they taught at a programing camp I went to. I am now doing stuff in c++, but yeah, that would have been a hard first lang. I tried JS, but it feels to unnatural to me, that's personal, I would recommend it as well to a new dev.

    • @georgesmith3022
      @georgesmith3022 3 หลายเดือนก่อน

      i don't think learning js as your first language will help you understand main concetps like inheritance, overriding, overloading, etc

  • @aybgim3850
    @aybgim3850 ปีที่แล้ว +717

    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 ปีที่แล้ว +36

      Learning C++ as my first programming language

    • @mtemuulen3829
      @mtemuulen3829 ปีที่แล้ว +29

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

    • @BenedictJasonArmah-mm3de
      @BenedictJasonArmah-mm3de ปีที่แล้ว +28

      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 ปีที่แล้ว +3

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

    • @owen261
      @owen261 ปีที่แล้ว +24

      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 ปีที่แล้ว +322

    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 ปีที่แล้ว +1

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

    • @tylercoombs1
      @tylercoombs1 ปีที่แล้ว +34

      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 ปีที่แล้ว +16

      @@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 ปีที่แล้ว +4

      @@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 ปีที่แล้ว +3

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

  • @blacktigershearthstoneadve6905
    @blacktigershearthstoneadve6905 ปีที่แล้ว +89

    Programming is hard. Just be a taxi driver.

    • @jagggyjazz8010
      @jagggyjazz8010 5 หลายเดือนก่อน +4

      Seeing that someone who codes and drives makes nearly the same just choose what you like I think in terms of their own benefits and drawbacks I guess

    • @TryerTryer-tu6je
      @TryerTryer-tu6je 5 หลายเดือนก่อน +3

      Sometimes success costs:
      Time
      Pain
      Isolation
      Money

    • @Seven_Red_Suns.
      @Seven_Red_Suns. 4 หลายเดือนก่อน +5

      @@TryerTryer-tu6je Aww man! I don't wanna give up my *ISOLATION! I like my ISOLATION* so much!

    • @herbie_the_hillbillie_goat
      @herbie_the_hillbillie_goat 2 หลายเดือนก่อน

      30 years experience and I can say this is the best advice I've seen yet. 😁👍

    • @Seven_Red_Suns.
      @Seven_Red_Suns. 2 หลายเดือนก่อน

      @@TryerTryer-tu6je I really don't wanna lose my *PAIN*!

  • @bobbydavis4144
    @bobbydavis4144 ปีที่แล้ว +49

    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 ปีที่แล้ว +18

      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 ปีที่แล้ว +4

      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.

  • @hovardlee
    @hovardlee ปีที่แล้ว +119

    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 ปีที่แล้ว +2

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

    • @bitwisetube
      @bitwisetube ปีที่แล้ว +4

      I very happy my first language was C++

    • @bennymountain1
      @bennymountain1 ปีที่แล้ว +3

      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'.

  • @matthewfeatherston8982
    @matthewfeatherston8982 ปีที่แล้ว +99

    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 ปีที่แล้ว +3

      Guess you cuddle the else.

    • @georgiosdoumas2446
      @georgiosdoumas2446 ปีที่แล้ว +1

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

    • @generalknowledge4all
      @generalknowledge4all ปีที่แล้ว +1

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

    • @AndrewDCDrummond
      @AndrewDCDrummond ปีที่แล้ว +5

      @@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 ปีที่แล้ว +6

      @@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.

  • @gerardgauthier4876
    @gerardgauthier4876 ปีที่แล้ว +26

    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 11 หลายเดือนก่อน +1

      Assembly, C those are the best to start with.

    • @soosh9852
      @soosh9852 11 หลายเดือนก่อน

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

  • @r.b.ratieta6111
    @r.b.ratieta6111 ปีที่แล้ว +40

    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 6 หลายเดือนก่อน +2

      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.

    • @jakubadamczyk1523
      @jakubadamczyk1523 4 หลายเดือนก่อน

      No, no, no. Python has syntax and model suited for mathematicians and engineers, isn't good enough starting point for people who want to become professional programmers in businnes projects.
      If you understand Python easily, it's because your math knowledge.

  • @anshjadhav7918
    @anshjadhav7918 ปีที่แล้ว +50

    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 ปีที่แล้ว +9

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

    • @jimmorrison2657
      @jimmorrison2657 ปีที่แล้ว +7

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

    • @KratosVS
      @KratosVS ปีที่แล้ว +3

      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

  • @korbykun
    @korbykun ปีที่แล้ว +97

    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 ปีที่แล้ว +4

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

    • @Jrej_dev
      @Jrej_dev ปีที่แล้ว +6

      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!

    • @georgiosdoumas2446
      @georgiosdoumas2446 ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      @@georgiosdoumas2446 how did you learn please

    • @georgiosdoumas2446
      @georgiosdoumas2446 ปีที่แล้ว +4

      @@kaycampbell364 I suppose you understand I was joking, because there was no youtube in 2005, or to be precise the youtube was just starting. I only wanted to make a funny reference to the garbage collector concept. But it it true that I have started working as a software developer in October 2022, and I am in a company that produces microcontrollers, so I use C++ and C (and Python). Personally I like to study books. I find good books (by reading amazon reviews of the books) and then download them for free. If I am able to find a 2nd or 3rd printing of some books , I prefer to use it, because there are errors corrected compared to the 1st printing, eitherwise I just keep looking at the errata page , if the publisher provides an errata page. I try to read 1 hour per day for week days, and 3 hours on Saturday and another 3 hours in Sunday, so I accumulate 11-13 hours per week. I was working as a linux admin and as a technical support engineer in previous years.

  • @cbbcbb6803
    @cbbcbb6803 ปีที่แล้ว +34

    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 ปีที่แล้ว +2

      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 ปีที่แล้ว +3

      @@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 ปีที่แล้ว +1

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

  • @dandelion4816
    @dandelion4816 ปีที่แล้ว +46

    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 ปีที่แล้ว +2

      then why not C++?

    • @vitaliiivanov9514
      @vitaliiivanov9514 ปีที่แล้ว

      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 ปีที่แล้ว

      ​@@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 ปีที่แล้ว

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

    • @csmoothnj
      @csmoothnj ปีที่แล้ว

      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.

  • @jacobflores8666
    @jacobflores8666 ปีที่แล้ว +24

    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 ปีที่แล้ว +2

      You absolutely picked the right two languages to learn.👍

    • @R3DC0DE
      @R3DC0DE ปีที่แล้ว +2

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

  • @blueice1364
    @blueice1364 ปีที่แล้ว +18

    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.

    • @salat_32
      @salat_32 ปีที่แล้ว +2

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

    • @pumcia718
      @pumcia718 ปีที่แล้ว

      @@salat_32 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.

  • @Aizistral
    @Aizistral ปีที่แล้ว +7

    - 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  ปีที่แล้ว +2

      :-(

    • @peterlinddk
      @peterlinddk ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      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.

  • @Random_Food
    @Random_Food ปีที่แล้ว +35

    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 ปีที่แล้ว +4

      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.

    • @ІгорАлієв
      @ІгорАлієв ปีที่แล้ว +5

      One should learn C before C++.

    • @afshinmollaali
      @afshinmollaali ปีที่แล้ว +1

      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

  • @atlasSix
    @atlasSix ปีที่แล้ว +10

    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 ปีที่แล้ว +1

      Java isn't a high level language?

    • @ShootingUtah
      @ShootingUtah 10 หลายเดือนก่อน

      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#

  • @tmbrwn
    @tmbrwn ปีที่แล้ว +4

    I started off with BASIC on the Apple II at my school's computer lab. I ended up trying to learn C/C++, ran into a wall, drifted from PHP to Ruby (pre-Rails) to Scheme R5RS to Python (kinda) to so many others. Lots of drifting. I'm still drifting. If I could go back in time to when I was just starting out, I would tell myself to spend less time worrying about which programing language to learn. When I was 12, the most liberating thing would've been for someone to just say, "Stop worrying about this. Just pick a language and use it to solve problems." Instead, I spent more time defending my choices than programming. If you're reading this, heed my warning. Watching too many videos like these will make your head explode. Just pick a language and solve problems. :)

    • @PixelOutlaw
      @PixelOutlaw 2 หลายเดือนก่อน

      Your path is reasonable. There is a current plague of "dev culture" video shock crap like this. I started with LOGO on Apple //e and finally settled on Common Lisp after 20 or so years of various languages and paradigms adding each to my toolbox.

  • @jons_RoadtoCode
    @jons_RoadtoCode ปีที่แล้ว +52

    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 ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      @@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.

  • @paulkeating9259
    @paulkeating9259 ปีที่แล้ว +53

    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.

  • @FrocketGaming
    @FrocketGaming ปีที่แล้ว +27

    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 ปีที่แล้ว +1

      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'

  • @randall.chamberlain
    @randall.chamberlain ปีที่แล้ว +5

    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.

    • @EpicGamer-ny1fu
      @EpicGamer-ny1fu ปีที่แล้ว +4

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

  • @NoChillAustin
    @NoChillAustin ปีที่แล้ว +2

    I have to argue against all these points. Ive dabbled in many languages and i work as a software developer at IBM. My first languages i picked up was HTML, css, javascript. I then branched off into jquery, php, and python. I then learned java and the C languages. Im no master at all these languages but they def aren't that bad to learn. Now you should've said, skip C and go straight into C++

    • @NoChillAustin
      @NoChillAustin ปีที่แล้ว +1

      You shouldn't avoid swift or kotlin either, if you want to create a phone app then you should definitely learn either one, why limit yourself?
      If the main issue is its hard to get up and running then damn you might as well just quit while you're ahead if you can't spend time to do research and figure it out. Just because a language doesn't load instantly into your IDE doesn't mean you should give up unless this is your expectation going into programming. You know how many times I forget to set my environment variable path to point to the folder or when I forgot to configure my VS code to run the language in the terminal properly, it's a pain but it's something we all go through. If someone reads this. Don't take this videos advice. You make what you can out of a programming language and can do whatever you want if you put your mind to it. Trust me, nothings impossible in programming unless you allow it to be. I got a job at IBM, and I didn't know anything about reactjs going into it, 2 years later and I know reactjs. But that was because of my history of knowledge in trying out various languages and projects with those languages. Don't deter yourself because something doesn't click on the first day

    • @NoChillAustin
      @NoChillAustin ปีที่แล้ว

      Damn my other comments didn't send. I essentially said 1. Php and other languages are not hard to get set up. They can take tbh at most maybe an hour or two (looking at you eclipse 😒). But this shouldn't push you off a language at all, not sure why this was a main focal point in the video

    • @NoChillAustin
      @NoChillAustin ปีที่แล้ว

      I got a job at IBM and I didn't know anything about reactjs but because of my history of various languages and projects with those languages and my work ethic I was able to get in. It doesn't matter if you excel at just one or know numerous ones and not excel at any, you still should try other languages for the sheer challenge.

  • @MacySpitfire
    @MacySpitfire ปีที่แล้ว +16

    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 ปีที่แล้ว +1

      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.

    • @jal051
      @jal051 4 หลายเดือนก่อน

      The problem with Python is that it hides data types and the error feedback is terrible. It's a great scripting language when you already know programming (you can guess what it's doing internally) but I wouldn't say it's good for learning since it allows you to write very wrong things.

  • @therealg9542
    @therealg9542 ปีที่แล้ว +25

    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 11 หลายเดือนก่อน

      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 11 หลายเดือนก่อน

      ​@@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!

  • @traezeeofor
    @traezeeofor ปีที่แล้ว +21

    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.

  • @guillermogomez4992
    @guillermogomez4992 ปีที่แล้ว +12

    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 ปีที่แล้ว +1

      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?

  • @AndrewDCDrummond
    @AndrewDCDrummond ปีที่แล้ว +22

    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 ปีที่แล้ว +1

      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 ปีที่แล้ว

      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 ปีที่แล้ว

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

    • @xyzzy7506
      @xyzzy7506 4 หลายเดือนก่อน

      It is a seminal book that should be every programmers bookshelf. Knuth's "The Art of Computer Programming" series is highly recommended too.

    • @xyzzy7506
      @xyzzy7506 4 หลายเดือนก่อน

      Also, it is a perfect example of the "AT&T" writing style. Terse to a fault without a spare word

  • @jamesknauer540
    @jamesknauer540 ปีที่แล้ว +15

    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 ปีที่แล้ว +1

      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 11 หลายเดือนก่อน

      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.

  • @guillermoleon0216
    @guillermoleon0216 ปีที่แล้ว +7

    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 :(

  • @MgelikaXevi
    @MgelikaXevi ปีที่แล้ว +5

    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

  • @calvinkreidy9836
    @calvinkreidy9836 ปีที่แล้ว +15

    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 :)

    • @ЭддардСтарк-к7е
      @ЭддардСтарк-к7е 11 หลายเดือนก่อน

      how's it going?

    • @hermanstokbrood
      @hermanstokbrood 11 หลายเดือนก่อน

      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.

  • @mrstiflor6744
    @mrstiflor6744 5 หลายเดือนก่อน +2

    Start with C, become a pro. Do not start with dynamically typed languages.

  • @thecodebrief
    @thecodebrief ปีที่แล้ว +18

    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 ปีที่แล้ว +2

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

    • @rrokluli7392
      @rrokluli7392 ปีที่แล้ว +2

      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

    • @plaguedoctor198
      @plaguedoctor198 5 หลายเดือนก่อน

      That's what I'm doing right now! Really fun IMO, but it is indeed a bit difficult to wrap my head around sometimes lol

  • @danieljansen8795
    @danieljansen8795 ปีที่แล้ว +4

    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.

  • @WY.C64-Guy
    @WY.C64-Guy ปีที่แล้ว +5

    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. :-/

    • @Tyler-Kearney
      @Tyler-Kearney 5 หลายเดือนก่อน +1

      I mean C# isn't terrible, depending on how it's taught. My earlier college classes were taught mostly in VB and C#, they did most things in Winforms, which makes it trivially easy to get GUI applications running. Now if they're using UWP or Xamarin, that is much more complicated.

  • @izzok.5850
    @izzok.5850 ปีที่แล้ว +3

    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 ปีที่แล้ว +1

      🙏 Thank you and GOD bless you.

  • @cerad7304
    @cerad7304 ปีที่แล้ว +6

    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 ปีที่แล้ว +1

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

  • @leogarza5022
    @leogarza5022 ปีที่แล้ว +5

    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 ปีที่แล้ว

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

  • @blakephillips8649
    @blakephillips8649 ปีที่แล้ว +25

    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++

  • @StefanoVerugi
    @StefanoVerugi ปีที่แล้ว +4

    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

  • @caper58
    @caper58 ปีที่แล้ว +2

    I was born in 1952 and grew up in san jose, ca when there were still cherry trees. My first taste of anything was with punch cards (if you want to call that programming), then in the early 80s I got a compaq lug-a-ble with one 160k floppy, later I would hole puch the other side of the floppy so I could store on that side too :), I tried interpreted basic and failed miserably, on to compiled basic, a little asm, tubo pascal and C, then websites started becaming the big thing so it was html, compiled c for the funcitons that were stuffed in a bin dir to hit a flat file that was used for the db, next I went full blown into php with homemade css. Now it's object oriented php, phpstorm, a laravel framework, mysql, tailwind and if I have to.... bootstrap. Since retiring I have been working alot with ardurinos, both for home automation and some cnc builds so I'm back to doing c and c++. Not sure what I want to do when I grow up.... but it's been one hell of ride so far !!

  • @londomolari5715
    @londomolari5715 10 หลายเดือนก่อน +1

    I'm very old school : 1st lang--Basic, 2nd--Fortran, 3rd--Pascal

  • @toddbu-WK7L
    @toddbu-WK7L ปีที่แล้ว +28

    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  ปีที่แล้ว +3

      Thank you Todd

    • @StaraPuska
      @StaraPuska ปีที่แล้ว +2

      "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 ปีที่แล้ว +5

      ​@@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 ปีที่แล้ว +1

      @@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.

    • @DavorZdralo
      @DavorZdralo ปีที่แล้ว +1

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

  • @karlwiklund2108
    @karlwiklund2108 ปีที่แล้ว +11

    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 ปีที่แล้ว +2

      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 ปีที่แล้ว +4

      @@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 11 หลายเดือนก่อน

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

  • @MrPatrickbuit
    @MrPatrickbuit ปีที่แล้ว +8

    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

    • @VKjkd
      @VKjkd หลายเดือนก่อน

      Good solid advice.

  • @dreamhollow
    @dreamhollow ปีที่แล้ว +1

    I think C++ should also be STRONGLY warned against in general.
    I started off learning C++. Even though I love the language now (because I'm a masochist and I love learning difficult skills), I would NOT AT ALL recommend this language to beginners.
    The needs of understanding memory safety alone is a huge turnoff for most programmers. That's an extremely major component in C++.
    I really struggled, grew disheartened, and gave up programming for a number of years because my early development journey was rough.

    • @natte431
      @natte431 ปีที่แล้ว +1

      i was hoping to read the opposite in the comments but ok

    • @dreamhollow
      @dreamhollow ปีที่แล้ว

      @@natte431 Sorry. The hard truth is that C++ is a very painful language to learn. It's entirely possible, I did it, but it's one of the hardest languages to master out of all of them.

    • @natte431
      @natte431 ปีที่แล้ว +1

      @@dreamhollow im deciding to go with java script!!! Fyi my end goal is to develop a mobile app i have in mind but i don't mind learning more

    • @dreamhollow
      @dreamhollow ปีที่แล้ว

      @@natte431 Good luck, friend. JavaScript isn't a bad start.

  • @LevelUpGA
    @LevelUpGA ปีที่แล้ว +2

    My first programming language was math and sometimes you really need that 😂

  • @gasparcaraballe825
    @gasparcaraballe825 5 หลายเดือนก่อน +6

    C/C++ --> C#/Java --> Python, PHP, JavaScript. That is my programming journey.

  • @pizzaiq
    @pizzaiq ปีที่แล้ว +7

    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.

  • @v.nd.tt.s8943
    @v.nd.tt.s8943 ปีที่แล้ว +9

    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.

  • @liam3284
    @liam3284 4 หลายเดือนก่อน +1

    Programming languages exist for humans. They represent a solution to a computable problem in a way that someone else can understand.

  • @transylvaniaithub
    @transylvaniaithub 4 หลายเดือนก่อน +1

    Started 7 years ago, at age 33, learning Java from scratch, with no related background. After a year of struggle, managed to land on a nice job, at a good company, and from there, after a year of gaiing xp, went directly to IBM on a few of the the biggest and nicest projects in Europe. And in the last 3 years, I work in fintech, as a remote contractor on some challenging but nice projects. Worked with clients from Germany, Romania, Austria, Italy, Hungary....earning on average 10 times the pervious salary I had before joiing IT.
    So, for all of you newby motherf*****s, just do it ! Go chase your dreams !

    • @diamondbeats2024
      @diamondbeats2024 3 หลายเดือนก่อน +1

      hey im 33 and this is my very first week!!! ive been learning python and javascript. do you really think theres hope at 33??? i sure hope so

    • @transylvaniaithub
      @transylvaniaithub 3 หลายเดือนก่อน

      @@diamondbeats2024 for sure !

  • @Nurr0
    @Nurr0 ปีที่แล้ว +7

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

    • @AndySterkowitz
      @AndySterkowitz  ปีที่แล้ว +5

      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.

  • @Lazullien
    @Lazullien ปีที่แล้ว +11

    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

    • @ibrahim-k4e3t
      @ibrahim-k4e3t ปีที่แล้ว +2

      are you serious right now bro🤨🤨

    • @WarrenPostma
      @WarrenPostma 10 หลายเดือนก่อน

      If you're 6 years old, yea.

  • @herbie_the_hillbillie_goat
    @herbie_the_hillbillie_goat 2 หลายเดือนก่อน +2

    My first programming language was Commodore BASIC. It wasn't exactly a choice. That was followed in short order by 6502 assembly. Since then I've used C, C++, Pascal, Perl, PHP, JavaScript, 8080 family assembly, and so on and so forth.

  • @pogCibi
    @pogCibi ปีที่แล้ว +1

    if we don't count scratch the first one I learned was python. Now I'm trying to learn C in uni.

  • @StaticBlaster
    @StaticBlaster ปีที่แล้ว +1

    At my university, I started with C++ and my instructor taught the language really well. It's not really about what language you start with. It's how you go about learning the language. If you have a bad teacher, you might not learn the language effectively or at all. I was fortunate enough to have a great teacher that clarified all the concepts so that even a high schooler can understand.

    • @AndySterkowitz
      @AndySterkowitz  ปีที่แล้ว +1

      I don't disagree with you on this one. How you are initially taught makes a significant difference.

  • @miketurner3461
    @miketurner3461 ปีที่แล้ว +9

    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 11 หลายเดือนก่อน

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

  • @mr.ambientsounds1291
    @mr.ambientsounds1291 ปีที่แล้ว +7

    Weirdly I found C++ easier to learn than python. But JavaScript is easiest.

    • @jal051
      @jal051 4 หลายเดือนก่อน +1

      Having your mistakes pointed at you at compile time instead of letting them sit until triggered at runtime helps quite a bit, imo ^_^'

  • @christopherhume1631
    @christopherhume1631 ปีที่แล้ว +4

    The choice of language depends on what one is attempting to do. There are essentially four programming language choices:
    Python is useful for data science, and for didactic purposes. It has many rough edges; and is not any easier to learn than the other languages. Python provides for rapid-prototyping; but the lack of type-checking can actually impede development of correct programs.
    Typescript is for Client-side Web Application front-ends. It cures many (though not all) of the shortcomings of JavaScript. There is a lot to learn, and there are a lot of rough edges here as well.
    C# is for Server-side Web Application back-ends and desk-top applications. C# significantly improves on Java in terms of features. It has much higher performance than Python.
    C++ is for real-time, performance critical embedded systems. C++ has a steep learning curve.
    SQL is not a programming language; but Relational Databases are important to learn for a back-end developer.
    HTML & CSS are not programming languages; but these are important to learn for a front-end developer.
    Many other languages are of theoretical or historical interest. For example: Haskell for Functional Programming.
    IMO learning C# will provide the best return on time invested.

  • @atlantic_love
    @atlantic_love ปีที่แล้ว +1

    A website running JavaScript is NOT a "JavaScript Application". If you make something like a calculator, that is a "utility". A web application entails utilizing read/write access to actual data that would be saved somewhere, and you can't do that with JavaScript.

  • @drewxx8527
    @drewxx8527 11 หลายเดือนก่อน +2

    Are you serious this recommendation feels like "I recommend you as a beginner don't be a programmer", like what hell I learn java,php that's it I'm a beginner but we'll experience and highly know to programming this following statement i provide, but i do not suffer my actions on java and php

  • @Recloh
    @Recloh 9 หลายเดือนก่อน +3

    So hard to install visual studio, please

  • @tylercoombs1
    @tylercoombs1 ปีที่แล้ว +3

    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 ปีที่แล้ว +1

      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.

  • @vincentjohnston8789
    @vincentjohnston8789 ปีที่แล้ว +4

    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.

  • @Heliophanus
    @Heliophanus ปีที่แล้ว

    If I had started with Python, I probably would've just stopped right there. All the indentation nonsense, community that is hyper-obsessed with 'proper' formatting, etc. "I just wanted to ask why this isn't working-" "You are an absolute monster for having 81 characters on that one row! Banned for life!" Utterly demoralizing.

  • @48_subhambanerjee22
    @48_subhambanerjee22 ปีที่แล้ว +1

    My first language was python, then i learnt c/c++.... on the road learnt java, javascript,sql,nosql .. i dont know any other language than above mentioned... but will surely do so after my college

  • @77Sherms
    @77Sherms ปีที่แล้ว +4

    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.

  • @peterlinddk
    @peterlinddk ปีที่แล้ว +9

    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  ปีที่แล้ว +2

      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

  • @katariina1713
    @katariina1713 ปีที่แล้ว +10

    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 ปีที่แล้ว +1

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

    • @petrzurek5713
      @petrzurek5713 ปีที่แล้ว +1

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

    • @williamforsyth6667
      @williamforsyth6667 ปีที่แล้ว +1

      @@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 ปีที่แล้ว +1

      @@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?

  • @user-kw1dd
    @user-kw1dd 9 หลายเดือนก่อน +1

    This is actually pretty bad advice, worst thing what you could do is to start with JS or Python. Then you will just skip the OOP basics and then it will be hard for you to learn them. JAVA or C# ==> whatever else will be much more easy.

  • @gustavodill3819
    @gustavodill3819 ปีที่แล้ว +2

    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 :)

  • @jackiechan6460
    @jackiechan6460 ปีที่แล้ว +2

    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.

  • @moiattube
    @moiattube ปีที่แล้ว +4

    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 ปีที่แล้ว +1

      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.

  • @LearnCodingGrid
    @LearnCodingGrid ปีที่แล้ว +6

    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.

    • @AdrianChang-q5f
      @AdrianChang-q5f ปีที่แล้ว

      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 ปีที่แล้ว

      ​@@AdrianChang-q5f 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: th-cam.com/video/Rz7fcKH_2z0/w-d-xo.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.

  • @nandoflorestan
    @nandoflorestan 4 หลายเดือนก่อน +1

    Javascript is a language that makes kittens cry every day. It teaches bad taste in several senses. Meanwhile, Python is the one that most resembles English, avoids most unnecessary punctuation, uses elegant syntax and elegant high-level means of expression. Python is great to begin with, and then it's also great to work with. It clearly should be the new Basic (the default language for beginners).

  • @HE360
    @HE360 ปีที่แล้ว +1

    I don't know, one of my first programming languages was Java. As a beginner, I eventually developed a game using vanilla Java. I developed a game like Nintendo's Kung Fu. I didn't think that Java was THAT difficult to set up. I just watch a tutorial and I got it a and from Java, I was able to learn Javascript with all of its similarities.
    I DO recommend Java for beginners. Because, I was a beginner when I started with it.

  • @andresramirez4469
    @andresramirez4469 ปีที่แล้ว +2

    After 3 years of learning coding I have realized that programming is not for me. Too burnt out😢

  • @Gennys
    @Gennys ปีที่แล้ว +4

    I think starting with a strictly typed language is probably far better in the long term as a beginner. The learning curve might be slightly steeper in the very very beginning but i think trying to introduce those OOP concepts later on might end up being more confusing.
    Java and C# also have type inference anyway so its really not a bad first language either way.

  • @RegulatedNinja
    @RegulatedNinja ปีที่แล้ว +4

    Thank you :)

  • @atilathesonofdanubius4277
    @atilathesonofdanubius4277 9 หลายเดือนก่อน +1

    Did you say C# used as console app for automation? That's totally untrue. In 15 years or so doing SW test automation using c#, I never used a console application. The fact is, that I tackled everything and anything using C#, from testing local apps to testing an enterprise solution in Azure (cloud). The only problem I encountered was company QA management sometimes not wanting to invest in hiring a couple of fresh programmers to dig in right away. I tried getting non-programmers to learn how to use the C# framework created, but only a few showed some promise. That said, if you want a language to move mountains in test automation, then either C# or Jave is the way to go. Also, Python has come a long way. Never encountered a problem too big for C#.

  • @victordj50
    @victordj50 9 หลายเดือนก่อน +1

    C# is great for beginners since you can use it in game engines to practice.

  • @2112jonr
    @2112jonr ปีที่แล้ว +1

    I don't know anyone who uses Java commercially. Just an overhyped, underused Oracle language.
    Likewise C, C++ and C# - horrendous, easy to trip you up languages not needed for most applications. Good call. No apologies to the bearded sandal wearers out there getting agitated in their armchairs.
    SQL's an excellent language, still the best for RDBMs, but you're right, you need to think differently to use it.
    But once you've mastered it - bingo !
    I'd also add LISP and COBOL to that list - horrible, unreadable / overly verbose languages.

  • @dot1298
    @dot1298 4 หลายเดือนก่อน +1

    the best programming languages for absolute beginners, who which to use these as a main hobby (and not for job etc) are:
    Purebasic, Blitzmax/NG, QB64, GFA-Basic32, GL-Basic, BBC-Basic, PowerBasic, DarkBasicPro (open-sourced), Gambas, FreeBasic, Cerberus X, FreePascal and Delphi.
    Of these, the 2 best are: Purebasic and Blitzmax_NG

    • @dot1298
      @dot1298 4 หลายเดือนก่อน +1

      … with PB having a slight edge over Bmx_NG.

    • @dot1298
      @dot1298 4 หลายเดือนก่อน +1

      As PB is commercial (but free demo-version exist), the best free/non-commercial language for beginners is: Blitzmax (the 64bit version, which is „_NG“ = new/next generation)

  • @ninetysixvoid
    @ninetysixvoid ปีที่แล้ว +1

    I learnt Java and it's easy af compared to c, python and c++

  • @feralaca123
    @feralaca123 ปีที่แล้ว +1

    I think starting with python is OK. I started with C and python at college. Starting with JS is a terrible idea IMHO. I code JS for a living, but the language is terrible for beginners. This days (15 years after graduation, LOL) I'm reading "c programming: a modern approach", rediscovering the C language and having fun. I very well know the need to land a job, during my study days I paid for my courses doing trade work; learning is a process and takes time. The problem with Java is that they always want programmers with 10+ years of experience, so I agree in that regard.

  • @HerbertLandei
    @HerbertLandei ปีที่แล้ว +1

    You are wrong about Kotlin, it is getting so much more popular for backend development these days. Basically, if a company can't find Java devs, and want to appear a little more progressive, it looks for Kotlin devs. It's a zero risk transition from Java, and Kotlin is so much more convenient (even with new Java features, which have still the ball and chain of backward compatibility attached). Regarding *learning* the language, I agree it's not the easiest choice, and for some features you need a little bit of Java background, but it is a nice and clean language, and gives you good job prospectives. As a 20 year+ Java programmer who landed a Kotlin gig recently, I would say: If you seriously consider learning Java or C#, don't do it and learn Kotlin.

  • @indra0704
    @indra0704 ปีที่แล้ว +1

    I personally recommend to start with Ruby. Then it's easy to move to JavaScript, Python and so on.

  • @XDBjoernXD
    @XDBjoernXD 11 หลายเดือนก่อน +2

    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.

  • @feraudyh
    @feraudyh 10 หลายเดือนก่อน

    Experienced programmer here.
    I agree with what Andy is saying. You don't want to be discouraged right at the start.

  • @thisguyispeculiar
    @thisguyispeculiar ปีที่แล้ว +1

    As someone who's learning CS in college and find my peers struggling hard with coding... I largely disagree.
    The first language we were taught here was Python and immediately next semester, we had C and C++.
    I'd learnt C and started C++ before coming to college. Plus I had 2 years of Python under my belt due to High School. Mostly everyone else struggled because they didn't get enough out of Python and then before they could tap into any useful Python libraries, they were forced to learn C. (Pointers and structures can be brutal for someone who was just getting used to lists and tuples in Python.)
    What's worse is that we had Data Structures and Algorithms as a separate course alongside C/C++ and I don't think I need to explain what that did to many students.
    I would suggest beginners to learn C first. Or any good statically typed, procedural language.
    Then jump into either Java or C++, to learn OOPs concepts. Leave Python and JS until you have knowledge of memory, bit manipulation, pointers, structures and classes.
    Because while Python and JS may seem super beginner friendly, they will leave massive conceptual holes and mess you up in the long run.
    It you feel like C is way too much for you, learn something simpler like QBasic or Scratch to get your feet wet into the world of code.

    • @stevenbrock528
      @stevenbrock528 9 หลายเดือนก่อน

      Sounds like your college might need to rearrange its class order/timing. Less of a coding issue and more of a scheduling problem.

  • @StaraPuska
    @StaraPuska ปีที่แล้ว +1

    Bad proposal and even worse assumptions. (e.g. "JS is a great example of a prog. language" - it is a script, not a language)

    • @fredbloggs5902
      @fredbloggs5902 ปีที่แล้ว +1

      Nobody cares, the basic concepts are the same, get back to your pulling wings off flies (yes, you were seen).

    • @atlantic_love
      @atlantic_love ปีที่แล้ว +2

      @@fredbloggs5902False. What Peter said is true. The creator of this video suggesting that people write "JavaScript applications" is just ludicrous.

  • @RushOrbit
    @RushOrbit ปีที่แล้ว

    My first programming language was C++, but then again, I was in college so I had the luxury of being taught by a professor.

  • @anlumo1
    @anlumo1 ปีที่แล้ว +1

    I have about 30 years of experience with programming. I agree with everything you said, except PHP. It's a bad language for beginners (and everybody else), because it teaches bad style and bad practices, and the list of functions it offers to the programmer is a graveyard of things you shouldn't ever use. It's as simple as that.

  • @bigd1179
    @bigd1179 ปีที่แล้ว +2

    I'm something like one third through my comp sci degree and I have learned programming through Python, and I would honestly recommend it for a first language. It originates from C and it will provide a very clear cut way to learn the fundamentals of programming while encouraging good habits like indentation. It's also a good way to learn Object Oriented Programming :).
    I'm dipping my toes into C now and concepts transfer well from Python, going from reference based variable assignment to memory value assignment is a bit of a transition for me, but I feel that it would have been harder to start with C.
    After I have a decent understanding of C I want to learn C++ for that sweet sweet OOP.

    • @DavorZdralo
      @DavorZdralo ปีที่แล้ว

      How will Python teach fundamentals when it doesn't even include them? It's a garbage-level language with no memory management, no static typing, and it's barely OOP anyway. There is a reason that it's only popular in academia, and no one sane would use it to build an enterprise commercial project.

  • @stumbleguysforfun7438
    @stumbleguysforfun7438 ปีที่แล้ว +1

    Yeah but you kinda need to know python