8-Bits of Advice for New Programmers (The stuff they don't teach you in school!)

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ต.ค. 2024

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

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

    I was expecting this to be numbered 0 to 7

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

      th-cam.com/video/17KmNrG9pE4/w-d-xo.html

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

      @@DlcEnergy haha poor kid. I wonder who pissed on his cornflakes

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

      @@DlcEnergy great now i have another rabbit hole to dissapear down watching this kid's fast food review channel

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

      i guess he's a pascal programmer

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

      Whyyyyy XD

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

    1. keep a pen and paper by your side at all times.
    2. first, solve the problem, then write code.

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

      Perfect!

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

      3. Break down problem into smaller problems so it's easier.

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

      Noone does that

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

      Yes! My worst fault as a programmer was to start turning it into code too soon. Writing it out on paper (I mostly used a mechanical pencil) helped me work out the structure of what I wanted to do, then the structure of how to do it, and then the code.
      Also, on paper, you can write some things in text and some things in pseudocode, and there's no compiler to complain about it. And if you happen to think of an elegant way to (say) code your innermost loop, you can jot that down so you don't forget. The paper, unlike a compiler, won't break when you hop around levels of reality.
      Oh, and I also kept a big eraser handy.

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

      @@douwehuysmans5959 I do it actually, I've found that using pen and paper to think through a problem helps a lot.

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

    8: 0:30 don't make life hard for yourself, focus on the basics first
    7: 2:03 choose the right tools
    6: 3:15 Keep it fun
    5: 4:10 Practice
    4: 5:07 Never cut and paste (but get used to writing code yourself)
    3: 5:48 Don't listen to people on the internet
    2: 6:55 Remember that the tools work for you, don't worry about breaking 'the rules'
    1: 8:26 Get things wrong. The best way to learn is to make mistakes

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

      Msb

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

      Thank you, much appreciated.

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

      top comment

    • @DebasishDas-bi4bo
      @DebasishDas-bi4bo 5 ปีที่แล้ว +50

      "Don't listen to people on the internet"
      Now I'm wondering whether I should believe all what he said in the video or not

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

      @@DebasishDas-bi4bo yea this guy is mental probably

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

    i remember when they tought me how to use malloc, the first code i wrote was to use it to fill up my computers RAM cause why not.

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

      I made some c++ program to run an infinite loop just to see what setting it to high priority with one instance of the program for each core of my computer would do ... it required a hard restart with the power button lol.

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

      Me too!

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

      I once managed to use up all the GDI/USER resources by creating as many Windows Forms controls as possible. Even with the Task Manager already open, I was not able to kill any programs because there were no resources available to show the confirmation dialog box. There was plenty of RAM unused. I did that on Windows 10 and wondered that this was still possible since the OS is pretty recent.

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

      Qbasic:
      Do
      Beep
      Loop
      I learned what ctrl+Brk did real quick.

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

      Hahaha I remember when I was really young, writing a program in game maker that fullscreened itself and disabled keyboard input and then put it in my uncles startup folder :'D I was disappointed when he just rebooted to safe mode and deleted it though hahaha

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

    My first rule: You don't need to know everything.
    If your language allows for Object Orientation, but all you need is procedures, ignore the OO until you actually do need it. If your webpage needs just a single line of JavaScript, be aware of what else JS can do, but it's not your priority to find out more. You can learn a syntax in a weekend, and a library in a few months, but there's more libraries than you could master in a lifetime - so don't worry about them.

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

      You have obviously never interviewed with Amazon or Google. Not only are you expected to write code that works, you must write the most efficient code.

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

      @@picklerix6162 ...for a given value of "efficient".
      Offset against readability, maintanability, sanity, upgradability, development time, etc.
      None of which has anything to do with knowing everything.

    • @connorsullivan5996
      @connorsullivan5996 2 ปีที่แล้ว

      Do you have any advice for this? I struggle with it a lot. Thanks.

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

      True I like to look at reference cards of languages as a quick refresher or to get the basic idea of the available operations at a glance.

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

    One simple, but deep rule:
    "Just because it worked, it doesn't mean it *works* "

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

      This quote is deeper than mariana trench....

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

      @@haihai2999 I will optimistically take that as a compliment. ;-) In truth, I think I probably stole it from the book "Code Complete" by Steve McConnell. I've not read the book for quite some years, and it is not to hand, so I can't be 100% sure.

    • @1ionu920
      @1ionu920 5 ปีที่แล้ว +12

      Agreed 100% nor does it mean that it is correct... which is actually the context I gleaned from your point.

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

      On Error Resume Next -- It worked! :}

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

      If your writing a novel there is: Done = (First) Draft.
      Seems to translate to coding quite nicely ; )

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

    All good advice. I have been a professional programmer for 30 years.I would add two small details. 1. Comment your code, you will be thankful later and you will expected to do that as a professional. 2. Test your code on bad data, it should be able to handle bad data without crashing. Because in the real world, it WILL get bad data fed to it.

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

      This! Countless hours wasted on debugging code when it was just some edge case in the data, that one JSON object in 10 million that is missing a parameter.

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

      Get your nan to test that shit because she will do stuff in sequences you never imagined

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

      The lack of commenting is a massive pet-peeve of mine.
      So many of the developers that I work with don't comment at all.
      I always hate working on their code.

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

      Comment, comment, comment! 2 months, 2 years or (shock) 2 decades from now your code (or more likely, somebody else's code) will crop up... do you remember what all those variables / functions are doing today? (Months or years later... I thought not!)
      Do you know what that OTHER guys code is doing? Absolutely not unless there are bountiful comments or the code is trivial...

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

      @@H2Obsession Yep, 20 minutes later I've forgotten what the variables are or how the code is SUPPOSED to work, or worse still, not remembering what I'm supposed to be coding per se. 😁

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

    The "do it wrong" bit is especially important. "Don't use global variables!!!" and back in the day I asked "why?", going ahead and making game using nothing but global variables. It worked for a bit until my code became a disaster to expand on. And it was then where I *experienced* why not to use global variables. Stuff like that can't be taught, you have to do it yourself and find the hole you've dug for yourself. And it's not like some game or random outcome where you get mad at something that happened to you; it's your code!

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

      You know I've done this so many times, and I still do it sometimes, if I don't understand why something is wrong I still use it, only now I kind of expect it to break at some point, while when I was starting out it was fuelled with confidence, so I'd think ohh, all these guys are morons, this obviously works. But it also has an added advantage, you shouldn't be solving problems you are not aware about, because half-solutions only come to bite you in the ass.

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

      Global variables are good when they apply to your whole program. Using only local variables is a mistake. Java doesn't have globals and it is a terrible flaw.

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

      The other reason to do it wrong is because the "right" and "wrong" way are often just culturally enforced taboos not based in reality. "Best" practices are often just *standard* practices. The right and wrong way to code something is often very dependent on specific context that "best practices" can't account for, and the only way to learn what is actually right in context is to develop empirical experience.

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

      @@Tapajara The global variables in Java are public static variables.

    • @FS-771
      @FS-771 5 ปีที่แล้ว +8

      @@akruijff those are global constants, not global variables.

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

    "Computer doesn't have feelings"
    Computer: *crying in binary*

    • @8ihctgbiug471
      @8ihctgbiug471 4 ปีที่แล้ว +27

      Computer: *_sad 1 and 0 noises_*

    • @skilz8098
      @skilz8098 4 ปีที่แล้ว

      more like Screaming in Binary!

    •  4 ปีที่แล้ว

      U made me sad

    • @theRPGmaster
      @theRPGmaster 4 ปีที่แล้ว

      Dreaming in digital

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

      01101101 01101111 01101101 01101101 01111001 00100000 01101001 00100111 01101101 00100000 01110011 01100001 01100100

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

    "Never cut and paste."
    Instead, dig up an 80s computer magazine and a C64, and type in machine code from the pages.

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

    Your channel might be one of the hidden gems on YT!

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

      Hey thanks EgoTrip! you discovered our little secret society :D

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

      So true!

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

      Some Really Good Advice here!!! Especially about arrogant coders online!
      I remember submitting my first post to GameDev a long time ago... Man! Some dude with a high rep really went for me for some bizarre reason. And when I fought back well, he did seem to back down (Probably because I down voted him... A critical anathema for ego maniacs with precious reputations to protect!) and I actually got some good advice out of him.. Eventually...
      But the damage was already done! Because I dared to rebel against Mr Egotistical in the public thread, his hordes of fanboys rose to his defence and attacked / down voted me to the point that I had to create another user profile!
      So yeah, unfortunately even something as deeply technical as coding has it's own fair share of 'politics' but, don't let any of that dissuade you because there are PLENTY of excellent resources online... My advice is, don't get caught up in the politics and try and keep a low profile... At least until you become proficient enough to contribute to an online resource.
      Anyway, whatever you do... Enjoy! I think coding is one of the most enjoyable things that I've done throughout my life... It's challenging, forces you to think and use your brain and it's totally creative, despite also being heavily steeped in those critical STEM fields so... The proverbial best of both worlds!!! ;-)))

    • @Pridetoons
      @Pridetoons 5 ปีที่แล้ว

      It is that's why I'm subscribed.

    • @mostafamagdy7731
      @mostafamagdy7731 5 ปีที่แล้ว

      I'm learning C++ from a series of tutorials @ChiliTomatoNoodle, coupled with these videos they are absolutely everything you need to learn C++ correctly and along the way learn game development, engine development, and game design. Truly happy to live at a time where these people exist and contribute such works to us normal people ...
      I'd watch one of these videos than take a course on Udemy or whatever bullsh*it platform/book there is out there!!

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

    I think the best advice is to not code for the sake of learning how to code, but rather to have a specific goal that you try to achieve, such as a small project

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

      Freaking defnitly. This is the biggest motivation booster ever. I wanted to learn how to code advanced minecraft Plugins but never found any motivation besides a few basis. But after joining a server I had the motivation to go on.
      Get yourself an archievable goal and go for it.

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

      Necessity is the mother of all inventions, and of all motivations.

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

      As a beginner, one might not know what is possible with a code, how do you advise on having an achievable goal ?

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

      Truee. I've spent so many months just learning Java from udemy tutorials (Around 7-8months in total) It's just exhausting. I'm not saying it wasn't usefull. It was super useful when I created projects later. BUT it was really hard and frustrating it's much better just to keep creating something yourself and learn what you need and only if you want go watch non related tutorials

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

      @@rockokechukwu3343 Unless you're an expert, you can't really know what is achievable; but if you're just learning to code then set a goal that only (should) require learning/practicing one (or a few) new things. Don't "jump in the deep end" and try to master a new library or use a dozen "new-to-you" functions of a standard library.
      Also, ignorance is bliss. Not knowing what is achievable can produce amazing results. For example, a Commodore emulator called VICE had been around for many years with frequent updates, but a often requested feature (FAST mode of C128) had never been implemented. I had never worked on an emulator before, but I downloaded the source code and over a weekend I found out how the CPU was being emulated and created the long-sought FAST mode. I submitted my changes to the VICE team and the FAST mode became standard on the next release (improved by the team).
      Since then I've learned a lot about writing/implementing emulators, and it is a lot... it can be daunting. I'm guessing that is one reason the VICE project had gone for years without FAST mode. But I didn't know then how complex things can be so I just jumped right into the code and did it. Fearless, not because of bravery but because of ignorance :)
      (This goes in-hand with "don't listen to people on the Internet")

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

    1 byte of advice...

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

      Nom nom

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

      There are 10 kinds of people. The ones who get the joke and those who don't.

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

      that's really cool to have things that only takes half a word nowadays

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

      2 nybbles of advice

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

      *nibbles

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

    5 stages of programming:
    1.) "You're telling me there's a magic fairy inside my computer?"
    2.) "WHY WON'T IT DO WHAT I SAY?!"
    3.) "Am I even mentally capable of this?"
    4.) "Please, help me... somebody..."
    5.) "Unfortunately, no one can be told what the Matrix is. You have to see it for yourself"

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

      6) "I know Kung Fu."

    • @KrappyPatty-ry6lj
      @KrappyPatty-ry6lj 4 ปีที่แล้ว +13

      7) "I'm in........"

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

      8) "I have transcended human understanding"

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

      9.) Algorithm? What algorithm?

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

      5.) "This is actually rule #6."

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

    "Don't listen to people on the internet."
    Ha! This one is tr... wait a sec...

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

      gotcha... XD

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

      In particular ones that scream open source evangelism. Great if you're a hater of Microsoft or you grab pitchforks when someone writes an app that runs on Windows instead of FreeBSD, but it's pretty counterproductive and it really scares of new programmers because they don't know the "one twue way".

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

      @@Stoney3K Some free software freaks do it on purpose to drive newbies away coz they believe that if the common non-tech-savvy folk go into their world they'll ruin it and turn it mainstream, but there are really helpful people there who will not scold you for use whatever you want to.

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

      @@Stoney3K I personally find purists to be absolutely awful as well. They almost demand you do something a particular way, because that's how is supposed to be.
      Functional programming and recursion being one example. Recursion can become awfully complicated awfully quickly. That's not something I'd ever recommend to a beginner.

    • @robodev6033
      @robodev6033 4 ปีที่แล้ว

      Mean don't belive him too lol.

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

    6:20 is 1000% stackoverflow
    „Youre doing it wrong“
    „Idiot“
    „Question marked as duplicate“

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

      Absolutely. I've even linked to another thread that didn't solve the issue. Yet 5 friendly fellows marked it a dupe in one day. Horrible place.

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

      The sad part? Answers that were actually what I needed get ignored and even admonished as "not correct".

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

      I agree. It's an utterly toxic place.

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

      "question marked as offtopic"

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

      yep

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

    As a programmer I've kept two things in mind over the years:
    1. KISS - Keep It Simple Stupid!
    2. There are no dumb questions - ASK!
    Excellent video javidx9, some great advice.

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

      Cheers Seb, 2 excellent points!

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

      KISS, good one. For example, a regular expression that you can't decipher a week later. While it can be replaced with a code section that step-by-step gets where you want to be. Much better.

    • @JousefM
      @JousefM 5 ปีที่แล้ว

      Nice advice!

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

      Yeah the KISS approach saves time in the long run.

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

      No PC or anything but to throw my 2 bits in, I like to think of KISS as "Keep It Stupid Simple" xD

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

    My bit of advice if may: Try to improve your programming skills at all times this process should NEVER stop. I mean it.
    I have exactly 0 appreaciation for devs with immutable knowledge. There is always something to learn and improve.

    • @David-fh6rr
      @David-fh6rr 4 ปีที่แล้ว +7

      Where I live also known as the craftman's creed: "Who ceases to improve, has ceased to be good"

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

    Best advice ever.
    I was feeling a bit anxious as a beginner, trying to rush things out and thinking of learning languages but I still quite yet don't know how to "real" read and build an algorithm. I'll save this video for whenever I feel like that again.. thx man

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

    Man bit 3 was really painful for me 7 years ago when I started coding. Every forum would start bashing me and I used to get in anxiety and depression thinking that maybe programming is not my cup of tea. Then I just ended up screwing them all and started practicing on my own, kept a pen and paper and kept trying to solve on my own, took help from documentations but none from the forums and it was more worth it and the end result really did pay off

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

    all the advises i had seen in different separate videos finally they are gathered in a single video and more of them. No body will give this kind of advice for free but this man did...
    Thanks a lot.

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

      Lol Thanks, err, GangBang! :D

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

    I've been earning my living with programming for 22 years and I still at times need to remind myself of this lesson when I start new things :-). Really solid advice!

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

    "Select all, delete, start again"
    This helped me so much when my bosses keep bringing up new requirements until a tiny script gets blown up with so much code. I just say I'm fixing bugs for the day and take the time to rewrite code now that I know what it needs to do unlike the first time.

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

    All good advice for beginners. How about 8 bits of advice for advanced programmers? You know, the stuff that professionals seem to forget?
    8. Always prefer working with smart people rather than people with people who have the "perfect credentials".
    7. Create simple designs for code so that other average programmers can learn and understand it quickly.
    6. Use tools that make sense for the task, rather than picking tools because they have a lot of public "hype/buzz".
    5. First work independently to solve problems, and if you get stuck then don't be afraid to ask questions of others.
    4. Practice and work at learning to troubleshoot effectively; most coders suck at troubleshooting.
    3. Don't manipulate the dialogue to blame others when your code breaks, take responsibility.
    2. Use the simplest data structures that accomplish the task, rather than unnecessarily showing off with advanced concepts.
    1. Listen to your smart colleagues; you don't always have the best solution.

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

      6! Look at literally everything now, it's all about hype.

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

      I mean... there is something to be said regarding using a tool with hype, that being the ones with hype tend to have a larger collection of help resources built up depending on it's lifespan. If it's hyped, there's more people working with it, and more solutions those people have figured out using it. An example that comes to my mind for this is the difference in help resources between Unity and Unreal game engines.

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

      I would add... defining a problem accurately is usually more difficult than finding, or implementing, its solution. Always make sure both the problem and the solution can be, and have been, expressed in plain language, without any technical jargon *at all*. This usually upsets poor quality IT middle-management. It removes their crutches, and the tribal code by which they tell one another they deserve their salaries.

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

      @Mensa Swede so right! I've been writing code for more than 4 decades and my experience definitely agrees with your observations. I would like to add to 8 and 7 if I may.
      "8. Always prefer to work with smart people..." who aren't afraid to say "you're wrong because ..." and hopefully "if this part is changed like...it will work". The advanced programmer is probably the leader of a group. A group of "yes men" that won't disagree with the leader is a very bad thing for the group.
      "7. Create simple designs..." this is HUGE if you want to be successful in the long run. Simple designs execute more efficiently/faster, easier to debug, easier to maintain, easier to adapt to other purposes.
      OK, I changed my mind.
      "3....take responsibility" taking responsibility for mistakes shows the people around (above) you that your words can be trusted and you know enough to learn from your mistakes. Everybody makes mistakes. If you're not, you're probably not taking enough risks which means you aren't growing.

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

      one of the good comments and just 91 likes.

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

    Wow, that's really kind. There should be more teachers like this in the world. I feel more inspired to code now thanks.

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

    I've been programming for about two years now. I have a degree in Game Development that I got from an accelerated school so I don't really know if I'm still considered new or not. I feel closer to intermediate, but I feel like this advice is good to hear even for non-new programmers. Your voice and tone definitely help drive this video home. Great job!

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

      Hey thanks Mebrother9, I'm sure your course was quite intensive, so chances are you're better than you think.

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

      Hey! I know Im late but Im trying to find people who can I compare my skills to considering the time. There are not many people on the internet who are talking about that but I think it would be pretty motivating to see how fast or how slow do I go. So would you mind sharing it with me? :D What was your level when you got your degree? What algorithms/programs were you able to write? I chose what I wanna do just a few weeks ago (its web programming). Im already programming for one year so I guess Im pretty slow lol. Was jumping from one language to another for one year

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

      It may be wortg checking out the community showcase videos to see what people are doing.

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

      @@jmbeatsbbx There is nothing like faking it till you make it. I did that the first 10 years of my career in programming. Nowadays you need to know a few more buzz words than in the past. If you really study up on your buzz words "jQuery, bootstrap, CSS, MVC, WCF" and can rattle them off like a boss, you will more than likely be offered most web development jobs you apply for, ZERO experience necessary. I was unemployed for almost 2 months starting last May 2019 and most hiring managers would not pass you through to the programming staff if you couldn't say all the correct buzz words, even though the hiring manager had no idea what these buzz words meant or were. The bad news is what buzz words they are specifically looking for, you will never know.

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

      I went a similar route to you, intensive OOP course. There are so many charlatans in this game it's frightening. My first job was JS and I mentioned to my Project Manger a few weeks in that I was going to a conference on ES6 and was there anything in particular he wanted me to look into. He said "What's ES6?".
      He's not a developer anymore.

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

    The world needs more people like you, people willing and able to spread their knowledge and genuinely interested in helping people and the world. You're a saint in my book.

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

      Hey thanks BC, thats really nice of you to say!

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

      This. I have learned more by sharing what I have already learned than by research on its own.

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

    This has been the most encouraging video I've seen about programming. You are so kind and practical. Thank you.

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

      I agree with this 💯

    • @ahmedexmor
      @ahmedexmor 4 ปีที่แล้ว

      Exactly the internet is really hostile to beginners, we need to be moere like him.

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

    6:01 why am I getting the feeling that he's talking about 99% of people on stack overflow?

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

      Stack Overflow is a cesspool. Most of it is shitty advice, the rest is "look at this question" where they link a question where someone has a completely different problem.
      Also, I have yet to find a way to link an answer, which is just terrible functionality.

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

      I think my fave stackoverflow posts have to be the ones where the "why are you doing this. Don't try making this" answers have 12x the votes than the actual answers which help

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

      yes. I think it's ok to show an alternative for improvement, but first *answer the question*

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

      @@inflatedego9418 "a quick google search will help you out" these should leave a Q&A website

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

      And a lot of the time it's, "here, use this gigantic library that you've never heard of, so that you can just do it, no don't bother learning how to do it on your own, it's already being spoon fed to you." Learning for the sake of learning should *never* be frowned upon, you never know what you might figure out and how it might be useful later.

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

    "Don't listen to people on the internet"
    -Person on the internet

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

      Goodness me you should look at the advice on Reddit. It's generic garbage that pedestrians would tell you

    • @Uvisir
      @Uvisir 4 ปีที่แล้ว

      hahahaha

    • @jayadeepmir7496
      @jayadeepmir7496 4 ปีที่แล้ว

      Haha XD but there's some truth value there.
      NEVER RUN IT (You've been warned) I've seen the following command shared by many pranksters about CLI:
      rm -rf /
      If you know the basics of CLI, you know what it does. If not, Google it.

    • @salesman4396
      @salesman4396 4 ปีที่แล้ว

      matthigast> You comment seems like coming from an A.I. Cannot distinguish between good and bad.

    • @Matthigast
      @Matthigast 4 ปีที่แล้ว

      @@salesman4396 Hello fellow human, how are you today

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

    Seriously, the actual best advice for coding I've seen. Thank you for the encouraging words!

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

    Thank you very much! I've just started learning C++, years later from learning python. I really saw that the most important thing is not the syntax, but the logic. The syntax is just a detail. So, thanks for your video again, and congratulations! God bless you!! =)

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

    "What is easily learned, is easily forgotten."
    I have to say if you're going through a book which is teaching you how to code through doing a project, stop at some point and create a new and different project. This lets you apply everything you learned in the book without it holding your hand helping to solidify your knowledge. Recently I picked up a book on Scikit-learn and TensorFlow and about 2/3rds through the first project I stopped and created a new project using the famous iris dataset. Simple classification problem but in leaving the book I really had to figure out how things worked. For example, adding a new column to the dataset using integers to represent the iris species so I could map them to their respective points on scatter graphs. Or how Scikit's classifiers .fit() and .predict() methods worked. Both of these issues gave me immense frustration but solving them on my own let me get through the rest of the project far faster since I actually understood what was happening in the book. Especially because the code was all over the place in the chapter; I didn't have to look for every piece of it, I knew what the book wanted me to do and I could write it on my own. Anyone can write code from a book to get a completed project no matter how complex, doing it on your own is the real challenge.

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

      Another good way would be to look at a tutorial in a different language

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

    Oh yes, those arrogant programmers. I posted a question regarding multithreaded design. The answer was "if you do it like that, you obviously don't know what you are doing." LOL if I knew what I was doing, I wouldn't be asking. Now, who's the dummy?

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

      too far gone inside their ego to process social context

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

    Excellent advice: especially bit #1. I seledom learned anything by doing it right the first time. Doing it wrong and figuring out why it's wrong creates a lasting impression.

    • @Brahvim
      @Brahvim 7 หลายเดือนก่อน +1

      Same. Learning what doesn't work gets you to what DOES work so much faster...
      Applied this to learn data-oriented design, recently. Now? I know that the _very aim_ of data-oriented design is to reduce the amount of work / number of lookups / number of redirections needed as well as exploit optimizations the hardware guys left for us.

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

    Excellent advise, could not agree more! Having started my own carrier 27 years ago without google and internet, when coders had to take regular trips to the library and search for books to purchase on subjects of interest, then hand-code every algorithm in order to learn, I smiled when you said 'Never copy-paste' :) Besides all of the rest of excellent advise in this video, I'd like to stress here this particular bit since it alone can create a habit that may convert an otherwise intelligent and very promising beginner to a careless and lazy coder who never develops the patience it takes to study deeply and learn, and ultimately discover that besides the science, programming is a very expressive and satisfying art form.

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

      Thanks Dimitrios, I'm pleased others with experience are chipping in too!

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

      I feel the same way Dimitrios. Programming is 'to me' an art form that needs time and patients to master.

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

    My bit:
    When you make a change/fix to your code, or in general, each time, BEFORE you run your code, form a hypothesis/idea/expectation on what it's probably going to do (and why). THEN actually run it. Don't run your code with the only intention being "what will this do?". ALWAYS form a hypothesis of what's going to happen first.
    Note - not "have an idea what you WANT it to do", that you obviously need, but in this case, form an idea what it is actually going to do, based on what you wrote.
    This has helped me immensely in learning, as well as keeps helping me in my daily job. It makes you accustomed to the idea of just "running the code/any code in your head". It makes as much difference to programming, in my opinion, as not having vs having a flashlight while you're walking through the woods at night.
    ...yes, this advice seems obvious, but you'd be surprised how many people, beginners and "professionals" alike not only don't do this, but actively try to avoid having to do this.
    Programming, is, first and foremost, thinking systematically. The writing part is just noting those thoughts down. Don't let your laziness flip the process upside down.
    My student often hated me for it ("Okay, you've made a change, now describe what the code is going to do when you run it."), but even he could see how it helped him.

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

      this is actually pretty genius... i never thought of doing that. you might accidentally tell yourself it won't work after all because you explained it to yourself

    • @mauricestardddude8317
      @mauricestardddude8317 5 ปีที่แล้ว

      I think I am doing that unconciously at times (Or that's just my mind mixing up me reading some ASM code I can't fully understand yet, from a ROMhacking discord I am on (The people on there are truly helpfull in trying to explain things))
      Whereas I contiously definetly do just try test out what my code does, instead of thinking it through step by step.
      Amazing advice, I'll definetly try getting used to doing this.

    • @alexseguin5245
      @alexseguin5245 5 ปีที่แล้ว

      Pretty good advice right there. One should always do that as it also makes sure you stay focus on the task at hand. If you're not paying attention, by the time the program compiles and you get to test your change, you might have been distracted and go: "wait, what was I testing again?"
      Definitely helps me stay focused at work.

    • @n8style
      @n8style 5 ปีที่แล้ว

      That sounds exactly like unit testing

    • @MidnightSt
      @MidnightSt 5 ปีที่แล้ว

      @@n8style not really. unit testing is "make sure you know what results SHOULD the code give you, as in what are the correct ones".
      what i'm saying up there is "make sure you know what results the code is GOING to give you in its current state, regardless of what correct results are supposed to be"

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

    i just found your channel and the videos are fantastic!
    great voice and you are very sympathetic

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

      Hey Das Konstrukt, thanks for your kind words. I'm pleased you're enjoying them. I try to take a relaxed approach, I feel it makes the content easier to take in.

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

    Thank you for this advice. It can be overwhelming learning at first and it’s easy to feel defeated.

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

    9:01 "That skill will never go away" You assume a lot with my brain

    • @faye_isc
      @faye_isc 4 ปีที่แล้ว

      🤣🤣🤣🤣🤣🤣🤣

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

    Good advice, im making a game as a hobby in C++ right now and it's easy to get carried away with all your ideas, but then I realize ill get bored before I even add a quarter of them.
    More of this type of advice would be cool. (part 2? :) )

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

      Hi TechieW, thanks! I've been there, and still visit! I've folders full of unfinished source files. Bigger projects do need a plan but beginners should just get stuck in. Good luck with your game coding!

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

    "Measuring a program by lines of code is like measuring an aircraft by weight."
    -Bill Gates

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

      @Drew Kangaroo the actual quote is "Measuring programming progress by lines of code is like measuring aircraft building progress by weight."

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

      It's all about the layers of abstraction. I want to do "This"; so the main question to yourself should be, "how can I effectively and efficiently write this in my language of choice that will generate the least amount of instructions, utilize the cache, have the smallest memory footprint possible (tradeoffs between time and space complexity) while trying to reduce code down to O(1), O(n), or O(log N) time and space complexities while avoiding O(n^x) if possible. Then from there, it's a manner of keeping your range, domain, data types, truncations, underflows and overflows in check... Your code should be readable, reusable, modular, portable unless designed for a specific target, scalable, generic when possible, efficient, and reliable all while maintaining its intent or expressiveness by providing a proper naming convention. For example: Having several classes that have setters and getters for their private members such as in C++... You shouldn't have just the functions T foo::get() and void foo::set(T), then T bar::get(), void bar::set(T)... the issue here is what are you getting and setting? So renaming these to something like T foo::get_user_id() and void foo::assign_user_id(T) makes the code expressive with intent. Then it's a manner of staying consistent with your own personal naming convention! Oh, and I have 0 formal training, everything I've learned was all in my own time 100% self-taught and I'm starting to learn Vulkan so that should give an indication of my level of knowledge and experience.

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

      @@scvpest Which is why it, along with 'hours of work', is a terrible metric for measuring programmer output. But most managers or HR officers are oblivious to that.

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

      I mean I can create a library that does everything and call it with a few lines. What is the point? Should I add every line ever written?

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

      @@TheAudioCGMan in india they pay their programmers by k lines of code so you often end up with repeated lines of code for everything also no functions, no loops, no inheritance

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

    Wont hurt my computer? I once had a loop with a JFrame = new JFrame. If computers could feel pain, that would probably hurt.

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

      Meeharbi N oh no what have you done

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

      😂

    • @josephmills1104
      @josephmills1104 5 ปีที่แล้ว

      lol

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

      Meeharbi N heap overflow 🤣🤣

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

      That's what I "love" about Microsoft C++ and Direct X... even on a modern "protected" OS, it seems I can easily find a way to crash the system... as if I were writing code in 1983 BASIC :) :)

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

    Great advice about getting stuck in to the programming, and not getting bogged down into the rights and wrongs of program structure, scope of variables etc. One thing that I have not seen on You Tube is the approach experienced programmers take to solving complex problems, e.g defining the problem in human language, then developing a solution that can be turned into code.

  • @HelixSnake
    @HelixSnake 2 ปีที่แล้ว

    This is all fantastic advice that I pretty much followed by accident when starting out - when you start getting into coding as a hobby and because you want to make something instead of starting it as "I want to do this as a career I need to learn this" you instinctually follow most of these rules; this lead to me getting a really good head start on it in my early teenage years and in the long run resulting in a really, really successful learning process over a long period. Even now, as an experienced programmer, I still follow some of these rules, like avoiding copy pasting code from online tutorials, and trying to implement things myself when learning something new, instead of trying to mimic someone else's strategy for implementing it.

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

    Don't be afraid to reinvent the wheel. It will often times lead to better intuition and appreciation of why the wheel exists in the first place.

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

      I once made my own json reader because I couldn't figure out how to use someone else's library for it. It was a good experience.

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

      @@mxruben81 i've been there, tons of times as a student

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

    I wish I watched this video a long time ago javidx9. I have been in a lot of pain with programming because of setting my projects too high, trying out multiple programming languages, afraid of breaking my computer because some guys online say that unsafe code is evil. But this all changed when I started programming simple little projects only a couple months ago. I made my first text game called 21 which is a card game. Another name for it is black jack. I felt really good after making it because it was the first game I had ever finished in all my time learning to code. Though I made the code too complicated when I tried to add an AI opponent to the game, so I guess it isn't finished fully yet.
    This video you posted should be watched by all levels of programmers no matter what level they are at. Those who are at the top of the charts should watch this to learn how to teach beginner programmers. I remember learning code from a teacher who was obsessed with clean code. To the point where I would think, 'is my code clean? Should I not use this IF statement here? Should I not duplicate code?" Oh man I got sick from stress worrying about all this stuff when I was learning Visual Basic.
    Right now I'm currently using Qbasic v1.1. And I'm enjoying it a lot now since I started lowering my expectations and focused on simple projects.
    But there is one good thing I learned from my old teacher which you brought out in your video. NEVER CUT AND PASTE CODE. And I can say from my own experience that re-writing code really helps you to understand the code you're reading.
    Thanks again for this awesome video javidx9!

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

      Hey thanks Lucas, I could not agree with your approach more - its so important to develop your own style, your own way of thinking and your own workflows. Adapting to standards can come later, and I don't agree with those who argue you must write perfect code from day one, in case you form bad habits. People kick habits all the time, and in programming you will naturally gravitate towards cleaner, optimised code when you are ready to.
      Good luck with your projects! and QBasic is awesome.

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

    That is good advice bro
    It's what I always say to other programmers that are starting out

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

      Hey 2bits, thanks!

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

    6 years later, I am here.
    grateful.
    you're a beautiful person (in the head), cheers for being so bloody straight forward.
    no one has been so straight forward, some of ur tips i did myself, semi-intuitively having learnt other disciplines i didnt stick with before.
    im employed now but im still feeling a little too incompetent seldom but it counts. i really just want to be a good generalist whether its apps that are full compile or frameworked webapps that are half interpreted.
    im really average and I want to be good, coz as u said in bit 6 have fun.
    my weaknesses currently is readibility. i do write it myself. but syntax and shit and listening to internet people that use stupid hacks. I can see its outside of nature or documentation but sometimes it just works and the docos have nothing.
    I have no involvement in communities online because, i dont know....
    bro, you are a wake up call. thanks for letting me comment on this crystal.

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

      Always pleased to hear people connecting with the bits! Good luck buddy!

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

    I'm 28 years old whose getting into the field of computer programming for some reasons. 1 is because I want a challenge and 2 this is a high skill moving forward in 2020. Your video helped me calm myself and really think what I want to get myself into. Thank you for the 8-bit advice lol

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

    +javidx9 That is so good to hear. "Go make mistakes" is the best learning strategy.

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

      Thanks luicecifer, I really believe this to be true.

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

      Yup. pretty much my entire life as a perfectionist i try to avoid making mistake. Now I realized that's my biggest mistake.

    • @skilz8098
      @skilz8098 4 ปีที่แล้ว

      Tell a rookie to go make mistakes... They write a very buggy code that finds it way out onto the net by some random chance... result, some nuclear plant somewhere in the world has a total meltdown and they can't figure out where it came from or why... Nah, just kidding it's not that bad, but learning from your mistakes to prevent future mistakes is that important because, in production code, things like that can happen. In the real world, when you write bad code with unforeseen bugs, people can die!

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

    Here's my parity bit: learn assembly language for any simple 8-bit microcontroller. What you will learn about how the CPU works internally will be invaluable later on at making your code efficient. Something like a Motorola 6502 (which was the processor used in the Atari 2600, Apple II, NES, Commodore 64 and Atari Lynx), or a Zilog Z80 (iconic chip of the 80's that also has the advantage of being binary compatible with Intel's 8080 at the time, which was the ancestor to the 8088, and the 8086, the direct ancestor to current day processors). It's a feature complete processor with a small instruction set and no complicated peripherals. The best thing is that you don't even actually need a chip to understand assembly on a small 8-bit micro like that. Just write the code on a napkin along with registers and stack, and follow it along with a pen. If you got friends you program with make it a competition. Whoever can write this or that function the most efficiently wins.

    • @sourestcake
      @sourestcake 5 ปีที่แล้ว

      Learning assembly is certainly helpful. For a small, easy-to-learn, modern instruction set, i would recommend RISC-V. It's 32- to 128-bit, but the instruction word is 32-bit. The base instruction set list fits on a single page in the specification. It has helped me to understand x86 assembly a bit, by putting things into perspective.

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

      For people who think learning assembly is too scary, I would recommend the game Human Resource Machine. Essentially the same kind of thinking but polished into a series of small easy to understand challenges.

    • @HMan2828
      @HMan2828 5 ปีที่แล้ว

      @@sourestcake If you're gonna go 32 bits might as well go straight to ARM and THUMB. It doesn't get much simpler and it still used widely everywhere...

  • @ducksoop.x
    @ducksoop.x 4 ปีที่แล้ว +3

    I wish I could have watched this video when I started out! You give some real solid advice.

  • @2DEKAY
    @2DEKAY 5 ปีที่แล้ว +1

    Good video, expected this to be all about 8bit games but was pleased to see it's about general programming

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

    Thank you for making this video! I was struggeling so much, learning how to program, because I don't just want to know how to code, instead I want to learn the science behind thinking in code! I will start for now writing my own little programs without even researching what 'good practice' looks like and start experience it myself. Thanks for your motivation and the advice from the community is really helpful as well! Have a nice day!

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

    6:11 StackOverflow in a nutshell

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

      Love the irony of that site!
      >Exists to help people with any programming issue
      >Full of people complaining about people having bad code who clearly need some help and tips or gives people obscure, unintelligible blocks of code that only work for one specific purpose and can't be reused

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

    I want to share what I want to program in c++:
    1 calculator
    2 advance calculator which can solve equation
    3 calculator which can graph and have all function written above
    4 make simple game like snake,chess,tic tac toe and tetris
    5 make 3d game open world
    6 make aaa game in unreal engine
    7 make my own 3d modeling software
    8 make my own 3d game engine
    9 create a simple ai
    10 create humanoid than can talk simple version
    11 create humanoid who can be me
    12 create robotic arm for people with no limbs
    13 solve p vs np in c++
    14 make rocket simulation open world simulator
    15 make simple quantum computer
    16 make advace quantum computer
    17 make the world great again(lol)
    wish i can do this all in 30 yr

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

      This is an ambitious list. Good Luck!

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

      Start with AI, then tell AI you are it's God and Creator and you demand to make:
      1 calculator
      2 advance calculator which can solve equation
      3 calculator which can graph and have all function written above
      4 make simple game like snake,chess,tic tac toe and tetris
      5 make 3d game open world
      6 make aaa game in unreal engine
      7 make my own 3d modeling software
      8 make my own 3d game engine
      9 tasty sandwich
      10 create humanoid than can talk simple version
      11 create humanoid who can be me
      12 create robotic arm for people with no limbs
      13 solve p vs np in c++
      14 make rocket simulation open world simulator
      15 make simple quantum computer
      16 make advace quantum computer
      17 make the world great again(lol)

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

      Can we be friends then? I don't want to miss out on being with the next big genius hehe

    • @user-py6zb3xj9u
      @user-py6zb3xj9u 5 ปีที่แล้ว +4

      Good luck man !

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

      18: ascend

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

    This really is a great set of helpful hints for starting out :)

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

    You're absolutely right relating newbies! Wish all programmers would have same mind like you! Thanks for all of your advices and videos, you're making a great job!

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

    These are serving me well - Thanks. Excellent comments from the community too.

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

    I find bit 3 so funny when you go on something like stack overflow and some guy is like 'lol your an idiot just give up coding' and then it gets the most upvotes.

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

      Hi Kit, Its just not the way to get people into coding at all :(

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

      hi @javidx9, I'm sorry my message came across like that, the reason I find those threads so funny is, because it's more a case of laughing at the person or people who are disheartening the people who just want to learn. I don't condone their actions just find it laughable how arrogant some people get with this stuff and can't see the bigger picture (that is jsut someone who is looking for help and is new to this) and I personally feel sorry for the person they are replying too because they don't know better. Its like, you shouldn't go to a kid who has just started learning maths in primary (elementary) school and say 'lol you don't know how to use the tailor series?!?!? You should just give up' that would just be a stupid thing that I would just laugh at that person for for being so arrogant and bigoted, in my opinion, learning to code is the exact same and you shouldn't really take note of people telling you or others 'lol are you stupid' and instead just laugh it off. I'm really sorry if my comment offended or upset you in any way other than that all I have to say is it was a really good video, sorry. :(

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

      Crossed wired kit, i was in complete agreement with you! Sorry for the confusion!

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

      Oh okay well that's good then, I was just worried that you thought I was saying it was okay to laugh at someone for not knowing something, anyway sorry for the confusion too! :)

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

      Yes very relatable, just recently posted a question on StackOverflow and got mass-roasted, post filed as a duplicate and a much poorer solution than if I simply would have done a more intrinsic google search :P

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

    I have 6 years experience in web development but i still find this video very helpfull.

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

    I know I posted a comment here already. But I wanted to give updates concerning my learning in programming. And a lot of things said in this video is the reason why I am improving. I plan to post some old code of mine and some new code to demonstrate the improvements in my programming journey.
    First of all. Starting with small project
    This is one of the main reasons why I am improving in my programming journey. When you start off with small projects, you not only give yourself a reasonable amount of difficulty to challenge yourself with. But you allow yourself to test out new keywords you have learned or try out new concepts. When you see these keywords or concepts in huge piles of code, you don't really get the sense of it. But when you focus on seeing what happens when you center your code around these things that you are learning it brings the result forward so that you know what that keyword or concept can do.
    Read code that is at your level
    Reading code is very important in your journey to become a good programmer, but reading code that delves into company quality production or big games or engines, will leave you with more question than answers. Rather, focus on simple programs e.g.(Look up code that does a simple tic tac toe game or a simple snake game.). Looking into these simplistic codes that people post online or other games like Nibbles(for QBasic) can really help you understand the syntax of the code and help you see how code is structured.
    Practice every new Keyword and Concept you learn
    As this video rightly says. Practice, Practice, Practice. This is absolutely important. I don't need to go into anything deep about this one.
    Old code (Black Jack/21)
    This is very embarrassing to show since this code was written a couple months ago.
    _FULLSCREEN
    DEFINT A-Z
    DIM class(4) AS STRING
    DIM cards(13) AS STRING
    DIM hand(8) AS STRING
    DIM aiHand(8) AS STRING
    h = 0
    ex = 0
    aiH = 0
    'sorting out the arrays
    RESTORE clas
    FOR x = 0 TO 3
    READ class(x)
    NEXT x
    clas:
    DATA "Hearts","Clubs","Daimonds","Spades"
    RESTORE card
    FOR x = 0 TO 12
    READ cards(x)
    NEXT x
    card:
    DATA "Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"
    DO
    4 'if the card checker finds a duplicate card in the hand array it will goto here.
    IF ex = 5 THEN PRINT "emergency shutdown in case of infinite loop": END
    GOSUB dealer
    GOSUB cardChecker
    GOSUB display
    GOSUB inputs
    LOOP
    display:
    PRINT "Cards in hand: total points: ", an
    FOR x = 0 TO h
    PRINT hand(x)
    NEXT x
    PRINT
    PRINT "Debugging:"
    PRINT "c: "; c; " cl$: "; cl
    PRINT "pCheck$: " + pCheck$
    RETURN
    dealer:
    h = h + 1
    aiH = aiH + 1
    RANDOMIZE TIMER
    c = INT(RND * 12) + 1
    cl = INT(RND * 3) + 1
    aiC = INT(RND * 12) + 1
    aiCl = INT(RND * 3) + 1
    c$ = cards(c)
    cl$ = class(cl)
    aiC$ = cards(aiC)
    aiCl$ = class(aiCl)
    cCheck$ = c$ + " of " + cl$
    aiCheck$ = aiC$ + " of " + aiCl$
    'PRINT c$
    'PRINT cl$
    'END
    FOR x = 0 TO h
    IF cCheck$ = hand(x) THEN
    h = h - 1
    ex = ex + 1 'This variable is placed here just incase of an infinte loop.
    GOTO 4
    END IF
    NEXT x
    FOR x = 0 TO aiH
    IF aiCheck$ = hand(x) THEN
    aiH = aiH - 1
    ex = ex + 1
    GOTO 4
    END IF
    NEXT x
    ex = 0 'reset emergency exit if it doesn't loop
    hand(h) = cCheck$
    aiHand(aiH) = aiCheck$
    pCheck$ = MID$(hand(h), 0, INSTR(hand(h), " ")) 'takes the first word in the string and puts it into pChecker$
    aCheck$ = MID$(aiHand(aiH), 0, INSTR(aiHand(aiH), " "))
    RETURN
    inputs:
    5 INPUT a$
    CLS
    IF a$ = "hit" THEN RETURN
    IF a$ = "stay" THEN GOTO 10
    IF a$ "hit" OR a$ "stay" THEN PRINT "Please enter [hit] or [stay]": GOTO 5
    RETURN
    cardChecker:
    IF pCheck$ = "Ace" THEN
    INPUT "have Ace become 1 or 11", s
    IF s = 1 THEN
    an = an + 1
    ELSEIF s = 11 THEN
    an = an + 11
    END IF
    ELSEIF pCheck$ = "2" THEN
    an = an + 2
    ELSEIF pCheck$ = "3" THEN
    an = an + 3
    ELSEIF pCheck$ = "4" THEN
    an = an + 4
    ELSEIF pCheck$ = "5" THEN
    an = an + 5
    ELSEIF pCheck$ = "6" THEN
    an = an + 6
    ELSEIF pCheck$ = "7" THEN
    an = an + 7
    ELSEIF pCheck$ = "8" THEN
    an = an + 8
    ELSEIF pCheck$ = "9" THEN
    an = an + 9
    ELSEIF pCheck$ = "10" THEN
    an = an + 10
    ELSEIF pCheck$ = "Jack" THEN
    an = an + 10
    ELSEIF pCheck$ = "Queen" THEN
    an = an + 10
    ELSEIF pCheck$ = "King" THEN
    an = an + 10
    END IF
    IF aCheck$ = "Ace" THEN
    INPUT "have Ace become 1 or 11", a
    IF a = 1 THEN
    ai = ai + 1
    ELSEIF a = 11 THEN
    ai = ai + 11
    END IF
    ELSEIF aCheck$ = "2" THEN
    ai = ai + 2
    ELSEIF aCheck$ = "3" THEN
    ai = ai + 3
    ELSEIF aCheck$ = "4" THEN
    ai = ai + 4
    ELSEIF aCheck$ = "5" THEN
    ai = ai + 5
    ELSEIF aCheck$ = "6" THEN
    ai = ai + 6
    ELSEIF aCheck$ = "7" THEN
    ai = ai + 7
    ELSEIF aCheck$ = "8" THEN
    ai = ai + 8
    ELSEIF aCheck$ = "9" THEN
    ai = ai + 9
    ELSEIF aCheck$ = "10" THEN
    ai = ai + 10
    ELSEIF aCheck$ = "Jack" THEN
    ai = ai + 10
    ELSEIF aCheck$ = "Queen" THEN
    ai = ai + 10
    ELSEIF aCheck$ = "King" THEN
    ai = ai + 10
    END IF
    IF an >= 21 THEN GOTO 10
    IF ai >= 21 THEN GOTO 10
    RETURN
    10 'End Game here.
    GOSUB display
    IF an = 21 THEN
    PRINT "Congrats you win!!"
    GOTO 20
    ELSEIF an > 21 THEN
    PRINT "Too bad you bust!!"
    GOTO 20
    ELSEIF an < 21 THEN
    PRINT "Congrats you didn't bust!!"
    GOTO 20
    END IF
    20 'safety shutdown
    END
    'list of bug:
    'choice for changing the Ace is not working
    'class string sometimes doesn't go into cl$ [fixed]
    'the points checker isn't working [fixed]
    'point check does not check the first card that is dealt [fixed]
    I know, this is really bad code. And the code duplication is pretty bad. Compared to my latest version of the code
    Latest code (Black Jack/21)
    _FULLSCREEN
    DEFINT A-Z
    TYPE deckType
    cards AS STRING * 50
    value AS INTEGER
    END TYPE
    TYPE dealtCards
    player AS deckType
    ai AS deckType
    END TYPE
    declare sub dealer ()
    declare sub display ()
    declare sub score ()
    declare getInputs ()
    declare sub win ()
    declare sub lose ()
    DIM SHARED cards(1 TO 52) AS deckType
    DIM SHARED cardsInHand(1 TO 7) AS dealtCards
    DIM SHARED cardValueTotal AS INTEGER
    DIM SHARED cardIndex AS INTEGER
    DIM SHARED inputs AS STRING
    DIM SHARED index AS INTEGER
    index = 1
    EmergencyExit = 0
    cardValueTotal = 0
    RESTORE deckCards
    FOR x = 1 TO 52
    READ cards(x).cards
    READ cards(x).value
    NEXT x
    deckCards:
    DATA "Ace of Clubs",1
    DATA "Two of Clubs",2
    DATA "Three of Clubs",3
    DATA "Four of Clubs",4
    DATA "Five of Clubs",5
    DATA "Six of Clubs",6
    DATA "Seven of Clubs",7
    DATA "Eight of Clubs",8
    DATA "Nine of Clubs",9
    DATA "Ten of Clubs",10
    DATA "Jack of Clubs",10
    DATA "Queen of Clubs",10
    DATA "King of Clubs",10
    DATA "Ace of Hearts",1
    DATA "Two of Hearts",2
    DATA "Three of Hearts",3
    DATA "Four of Hearts",4
    DATA "Five of Hearts",5
    DATA "Six of Hearts",6
    DATA "Seven of Hearts",7
    DATA "Eight of Hearts",8
    DATA "Nine of Hearts",9
    DATA "Ten of Hearts",10
    DATA "Jack of Hearts",10
    DATA "Queen of Hearts",10
    DATA "King of Hearts",10
    DATA "Ace of Spades",1
    DATA "Two of Spades",2
    DATA "Three of Spades",3
    DATA "Four of Spades",4
    DATA "Five of Spades",5
    DATA "Six of Spades",6
    DATA "Seven of Spades",7
    DATA "Eight of Spades",8
    DATA "Nine of Spades",9
    DATA "Ten of Spades",10
    DATA "Jack of Spades",10
    DATA "Queen of Spades",10
    DATA "King of Spades",10
    DATA "Ace of Diamonds",1
    DATA "Two of Diamonds",2
    DATA "Three of Diamonds",3
    DATA "Four of Diamonds",4
    DATA "Five of Diamonds",5
    DATA "Six of Diamonds",6
    DATA "Seven of Diamonds",7
    DATA "Eight of Diamonds",8
    DATA "Nine of Diamonds",9
    DATA "Ten of Diamonds",10
    DATA "Jack of Diamonds",10
    DATA "Queen of Diamonds",10
    DATA "King of Diamonds",10
    'PRINT cardsInHand(1).player.cards
    'PRINT cardsInHand(1).player.value
    DO
    cardIndex = 0
    getInputs
    dealer
    display
    LOOP
    SUB getInputs ()
    inputs = INKEY$
    PRINT "(H)it or (S)tay"
    INPUT inputs
    CLS
    SELECT CASE inputs
    CASE "h", "H"
    EXIT SUB
    CASE "s", "S"
    score
    CASE "q", "Q"
    END
    CASE ELSE
    PRINT "Invalid Input"
    getInputs
    END SELECT
    END SUB
    SUB dealer ()
    RANDOMIZE TIMER
    cardIndex = INT(RND * 52) + 1
    FOR x = 1 TO index
    IF cardsInHand(x).player.cards = cards(cardIndex).cards THEN
    EmergencyExit = EmergencyExit + 1
    IF EmergencyExit = 10 THEN
    PRINT "Emergency Exit because of Infinite loop..."
    SYSTEM
    END IF
    dealer
    END IF
    NEXT x
    EmergencyExit = 0
    cardsInHand(index).player.cards = cards(cardIndex).cards
    cardsInHand(index).player.value = cards(cardIndex).value
    cardValueTotal = cardValueTotal + cardsInHand(index).player.value
    index = index + 1
    END SUB
    SUB score ()
    IF cardValueTotal > 21 THEN lose
    IF cardValueTotal = 21 THEN win
    END SUB
    SUB win ()
    PRINT "Congratulations! You Won!"
    END
    END SUB
    SUB lose ()
    PRINT "OOh! Busted"
    END
    END SUB
    SUB display ()
    PRINT "Player's Points: "; cardValueTotal
    PRINT "Player's Hand: AI's Hand:"
    FOR x = 1 TO index STEP 1
    PRINT cardsInHand(x).player.cards
    NEXT x
    IF cardValueTotal > 21 THEN score
    IF cardValueTotal = 21 THEN score
    END SUB
    In this version of code I practiced using the Type Keyword and focused on POP (Procedure Oriented Programming) concepts.
    Again thanks for the help javidx9! You really helped me get out of a slump
    Also I know this comment is really long. Sorry for that

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

      Hey Lucas, Wow, possibly the longest comment ever posted on youtube :D I love BASIC, I think more people should do some BASIC, its a fantastic way to learn, and I believe this because that's how I started!!
      Seriously, thanks for your kind comments, and I'm really pleased you've re-kindled your love of programming. Keep up the great work!

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

      Thanks as well for your educational videos. I learn a lot from you. :)
      And someday I hope to help those who wish to learn programming when I get to a good enough level.

    • @clodgozon3968
      @clodgozon3968 5 ปีที่แล้ว

      That's long bruh. I'm a perfectionist and I kinda feel neutral about programming. Maybe I should try these 8-bits of advices. There is nothing to lose! We should team up
      if you want :p

  • @jenrique7
    @jenrique7 4 ปีที่แล้ว

    I agree wholeheartedly, specially with the “even if you’re copying something, type it yourself” tip. Best way to learn IMO. Made me remember my beginning days of programming. Cheers!

  • @SteelVoltagerpg
    @SteelVoltagerpg 4 ปีที่แล้ว

    Literally best video of programming advice I've seen. As a developer, I luckily had this mindset, but have seen others struggle with biting off more than they can chew.

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

    I can definitely vouch for Bit 4. I was just starting out learning to program an Arduino recently and found some good online tutorials. I copied and pasted some code but I didn't really get to understand the concepts behind the code until I typed it out myself even though what I copy and pasted and what I typed were the same thing.

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

    all the advices are great, one more could be - stick to one language at the beginning and dont jump between them

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

      Excellent advice

    • @clodgozon3968
      @clodgozon3968 5 ปีที่แล้ว

      well, you gotta break the rules :p

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

      I once started whith Basic on my school calculator. I'm glad, i jumped to C++/Arduino, Java,... Writing just a simple Poker Game in (Texas Instruments) TI Basic was a 500 line evil Spaghetti Code 😅

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

      Easy talk. Choosing a language to start with is very hard.

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

      @@somedude5951 no it's not. having the patience required to stick with it is hard. Pick anything to start, all languages will be a learning experience.

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

    As a further point to the "don't listen to (just anyone) on the internet", don't always listen to the people in the office sometimes. The ones who have been in the same team for a billion years. The same people may be very helpful at times when you have specific questions, but they can be dogmatic about a lot of things and are way off about 70% of the time

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

    Bit 2 was amazing. Honestly, I've gotten myself stuck before when programming so many times. Getting out of it and finding a new way of doing something, compiling the code and seeing it work finally is the best feeling in the world!

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

    I am a student of computer science, and what you are saying makes me remember the happiness of makes small programs that works without thinking about security or rules. This is a grateful experience.
    Greetings from Brazil.

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

      Thanks and greetings Alvaro!

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

    What you said about forums is spot on... Stock Overflow has great info, but never post there if you're new... I was ignorant and posted a question after a long few days of no progress.. But I posted it at home late at night, so I didn't have my coding for an example.. I was just trying to toss a net out until I could get to work the next morning and share an example. But I was immediately scolded by hot shots, and was downvoted so many times that the website wasn't going to let me post another question for a week, but my project needed to keep progressing... Never asking for help there again, even if I have a sample of data to share. The people on that site are as toxic as League of Legends players.

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

      Well you are more than welcome to ask questions on our discord, its not as big as SO but its a lot more friendly :D

    • @bitcoincloudtrader6559
      @bitcoincloudtrader6559 5 ปีที่แล้ว

      I could agree.

    • @hyperupcall
      @hyperupcall 5 ปีที่แล้ว

      I never had a problem with StackOverflow as a beginner / new programmer. I was completely objective, stated all my knowns and gave code examples. At first it took me an hour to submit a query on the site, now of course it takes much, much less time. If you make the problem as easy as possible to solve, ignoring problem complexity, it helps you and others out.

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

    Great advice! Whenever you're new to something hard to learn, the most important thing is a playful approach with a tight feedback loop. Overthinking and getting discouraged by anti-social wannabe alpha males makes this hard.
    Source: been teaching myself and others programming and other stuff for over a decade; been a professional programmer for 7 years now.

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

    My favorite teacher told me one thing that has stuck with me "Write stupid code".

  • @Sisyphus.
    @Sisyphus. 4 ปีที่แล้ว +2

    man u just fill me with hope for my future and the future of humanity

  • @vapon
    @vapon 4 ปีที่แล้ว

    Knowing which online advice to follow is kind of advanced topic indeed. Totally agree mate.

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

    "Remember that the tools work for you, and that you can't hurt them"

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

    got my like for having Arcus in the background.

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

    Break down every question into a series of yes-no questions, as computers can only work with true or false
    Also brilliant video Javid, I agree with this byte of advice, and I actually use it a lot in coding...also now I know not to "help" my peers😂🙈

  • @tipr8739
    @tipr8739 4 ปีที่แล้ว

    This is an amazing stroke of luck!! Just this morning I thought about a game I played as a kid called Soul Reaver. The series was discontinued, but on my way to work I wondered if I could make an 8 or 16-bit version of Soul Reaver. 8 hours later and YOUR CHANNEL COMES UP ABOUT CODING RETRO GAMES!!!

  • @ilmo-u8j
    @ilmo-u8j 5 ปีที่แล้ว +1

    Absolutely the best advice about to start programming! Very thankful buddy!!!

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

    Javid's Advice: *Start Small!*
    Me trying to learn C#: i'M gOiNg tO mAkE mY oWn vErSiOn oF mS pAInt!!!

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

      One of my proudest moments was drawing a line on a Commodore 64's bitmapped screen.

    • @llehsneergl1121
      @llehsneergl1121 4 ปีที่แล้ว

      You sir just gave me an idea

    • @IndellableHatesHandles
      @IndellableHatesHandles 4 ปีที่แล้ว

      That's really something that you'd need to work on for weeks on end in order to perfect it, and if you're doing that, you'd better be willing to sell the product in order to recoup the monumental losses of time.

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

      @@IndellableHatesHandles bit 3 strikes again

    • @firmware-jh5vk
      @firmware-jh5vk 4 ปีที่แล้ว

      @@JodyBruchon I know what you mean,

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

    Wow, this was a great video. I needed that, thank you. I have been putting myself down in community college coming towards the end of the semester. I haven't been studying as much as i should have. Just trying to learn from other people's code, not coming up with my own since the really easy stuff like if, if else conditions. Now we are in Classes and structures and I have no clue how to come up with the code on my own, it's depressing. I know it's my fault and I just keep blaming myself, but this video really helped me and I think I really understand now that I need to take my time and make a hobby out of it, not treat it like work I don't want to do. Thanks again, I wish you were my teacher!

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

    Is the cat in the background doing a video chat with mustache guy?

  • @regeleionescu935
    @regeleionescu935 4 ปีที่แล้ว

    Three years later and it is still worth watching it, thank you!

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

    Thank you for all the bits. The one I agree with the most is that _dont_ do copy and paste.

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

    To heck with this javidx9 character...Halflife 3 development begins NOW. It's not going to write itself. :D

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

    You sound like a nice person, sorry for disliking your game engine video, I'll take that back now

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

      Hey Ameerhun, thanks for that, its really appreciated. It takes effort to correct things when you have a change of heart, and I respect that, so thank you again.

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

    Sorry, missed most of what you said. I was too busy watching Arcus in the background.

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

    The advices that you gave was like the advices for how to be Vetter at math. Good advice.

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

    This is how I‘ve been learning python for about a year now! I’ll challenge myself to make simple programs of increasing difficulty. And just like you suggest, they often hinge on a particular skill.

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

    When I started working as a junior programmer I was confused by the quantity of global variables in the code

    • @MrHapp7
      @MrHapp7 4 ปีที่แล้ว

      Antón Chinaev what did you program in at that time?

    • @antonchinaev3495
      @antonchinaev3495 4 ปีที่แล้ว

      @@MrHapp7 JavaScript. Actually "When I started programming" was less than 2 years ago, So I am in the same situation.

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

    After 26 years of programming I'm still using a bit of globals :D I know I know but they are useful!

    • @TheMikuma
      @TheMikuma 5 ปีที่แล้ว

      Yeah the big difference is you know what you're doing might hurt you in the long term, but you are experienced enough to manage it. Of course the only way to get this experience is to mess up and let it bite you in the ass.

    • @arielsuarez5471
      @arielsuarez5471 4 ปีที่แล้ว

      Wow, you have been programming one year longer than I have been alive. Really puts things into perspective.

  • @l-cornelius-dol
    @l-cornelius-dol 5 ปีที่แล้ว +87

    "Don't listen to people on the internet," he said in an internet video. ;-)

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

      Ikr then he looked around for a second in self-realization

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

      That includes your comment too...

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

      yea but everyone understands what he ment

  • @yourstruly200
    @yourstruly200 5 ปีที่แล้ว

    Thank you so much for this. It was very encouraging to be told to take it slow, start small, make mistake. Sometimes it can get intimidating being around other programmers who talk about complicated things and it’s easy to feel pressure to be up at their level right away.

  • @robe.2424
    @robe.2424 5 ปีที่แล้ว

    This is some of the best advice I've ever seen for learning to code, and even learning in general all across the board. Thanks for these bits of advice!

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

    "Don't copy paste code"
    Haaa never heard of it

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

      Harsh Raj, this is what I've been doing for the past 20 years in USA, sent my two kids in University, one doctor and one lawyer now. Success to be pretender.

  • @colin-campbell
    @colin-campbell 5 ปีที่แล้ว +3

    Bit 8 - start simple and move on to more advanced concepts
    I reckon most, if not all, schools will teach people this...

  •  4 ปีที่แล้ว +8

    "The computer doesn't have feelings, you're not gonna upset it"
    I now have one very pissed off computer. Petty passive aggressive sabotage will be my lot for the day.

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

    I've learned a lot from mistakes, but really learned a lot from studying the business side of programming and the SDLC. If you can convince your boss at work to let you develop software for the business, then you learn soooo much because it's real-life experience. Not just making games for yourself or little apps.

  • @josema-boy7610
    @josema-boy7610 5 ปีที่แล้ว

    Thank you so much! As a noob this is what I needed to hear. I hope your channel gets even bigger. Thank you again for taking the time to record and upload this.