Do Programmers Need to Understand Computer Hardware?

Поделиться
HTML-код
  • Опубликовано: 27 окт 2024
  • ХоббиХобби

Комментарии • 32

  • @TheLearnProgrammingChannel
    @TheLearnProgrammingChannel  5 лет назад +1

    Watch Tim's Free Learn to Code Course on RUclips!
    ruclips.net/p/PLXtTjtWmQhg0N08o_oSaAantmQAu-1Xad

  • @danzolion8758
    @danzolion8758 5 лет назад +12

    It’s good and important to know how a computer inter operates. You don’t need to know everything but a good understanding of how computers work is interesting from an engineering perspective. ICT is also an interesting angle, but wow oh wow Tim we have come along way from those early computers 🙌 you’re really a computer knowledge powerhouse. I really enjoyed learning about Hex and binary but programming in the programmatic languages we have today are much easier. God bless Tim for working through those old systems 👌

    • @TheLearnProgrammingChannel
      @TheLearnProgrammingChannel  5 лет назад +4

      Yeah I agree - a good base knowledge is worth it. Check out my links I left for another comment on this video about two channels I like for hardware. Linus (one of the channels) is huge and does all sort of stuff including building computers, etc and the other guy Carey does live computer builds on video - great places to learn hardware. Yeah have we ever come a long way from the older computers of the 70's and 80's.

    • @danzolion8758
      @danzolion8758 5 лет назад

      The Learn Programming Channel many thanks for this Tim I’ll have a look as I need more viewing time on RUclips other than my usual stuff. Do you ever use Juniper/Jypeter for any work? I’m busy with another course on udemy and it has a lot of beneficial features in notes, where you can practice Python and I guess a lot of other languages. As I’m sure you know it’s an addition to cli, IDE - being web based. ✍️

  • @activefun2992
    @activefun2992 2 года назад +1

    Knowing the basics (CPU, RAM) scaling seems useful the more senior you get or if you plan to go into management where you might need to coach on some of these topics or evaluate scaling strategies.

  • @Varksterable
    @Varksterable 3 года назад

    Another of your videos a while back provoked some discussion about the terminology of things like 'developer', 'software engineer', 'coder' and 'computer programmer'.
    And now we see a similar thing here too. To me (I worked on an IT support desk for a while, fixing broken PCs) 'hardware' is the physical components. Like motherboard, memory chips, hard drives, power supplies, cables. But here, you are talking about what I'd probably call 'computer architecture'. The way the internals of a chip works. These are realised by physical components, but are constructed based on abstract ideas, not physical ones.
    And in addition there's the physical design of the chip, at an even lower level. The actual 'quantum' stuff of electron tunnelling, n-type or p-type silicon etc. I'm not sure _what_ exactly I'd call that (apart from "you _really_ don't need to know"). But it's certainly not software. So it must be hardware, right?
    I'm not saying either is correct or not, as with the 'coder' discussion before. I just find it really curious that in the industry of the information age, where everything has to be as close to precise and logical as humanly possible (and even more than that when these things are themselves designed by computers) we don't have precise and universally agreed meaning and usage of some of the most fundamental terms.
    To add a little to your video itself, I'd agree that apart from the specific cases you mention (embedded, etc.) hardware in the sense you mean it is almost irrelevant. But...
    If you are seriously wanting to get into programming as a career, you need at least a little curiosity, interest, and even passion for the subject. And if that's the case you'd probably be wanting to (or should be encouraged to want to) glance over the very basics of stuff like low-level APIs, chipsets, the fetch-execute cycle, construction of logic circuits in silicon etc.
    Not because you need to, or because it will be useful. But because it is utterly fascinating! If nothing else it'll give you a much more humble perspective about what it is you are actually doing when you get a computer to print the result of 2+5 on a screen.
    Oh, and check out the paper/animations of "A Turing Machine In Conway's Game Life". A person's response to this is a very simple 'should I be a computer professional?' test, imo. If you don't find that construction in any way interesting or astonishing then my answer would be; 'probably not.'
    Keep up the great videos, Tim. (Why _do_ we still call them 'videos', btw? 🤨)

    • @TheLearnProgrammingChannel
      @TheLearnProgrammingChannel  3 года назад

      Thanks for this, Vark. Some great points you have raised. Some of the problem with terminology is, I believe, that we are still relatively early in the "computer" era, I think over time we will find more solid terminology will be used and agreed upon universally.
      And good point about the word "video" as well :)

  • @yuvrajpatel9103
    @yuvrajpatel9103 5 лет назад +5

    Sir ...make a video on ...do software developer/programmer needs to learn ethical hacking

  • @troyf8488
    @troyf8488 3 года назад +1

    Man, if you made computer/network programmability courses that teach hardware concepts described in the video. How to code device drivers for kernels, how to use operating systems on a deeper level. A lot of other people and I would buy it immediately. I wouldn't say I like academia and want better options to learn this exciting side of computer science. Please consider it. I know you have alternative channels already listed that cover that material. But, there is a reason I have bought many of your courses, sir. (It's the best)

    • @TheLearnProgrammingChannel
      @TheLearnProgrammingChannel  3 года назад +1

      Thanks for the support I really appreciate it! I'll certainly consider your suggestion for future courses.

  • @vincinoyb9734
    @vincinoyb9734 3 года назад

    I think too it's helpful but not required. Just like when driving a car and starting to drive in its fifth gear is not a good idea but actually understanding why it is will not even make you trying to do so in the first place.
    Likewise, loading a complete database in memory will get you quick access to it's content, but when the amount of records are like millions, you'd better come up with a more efficient way of getting the required data.
    Another example, say like writing data to a file, you can write to it as soon something changes. But knowing the block size of the file system, you can reduce the amounts of writes as soon as you have one block of data filled.
    Knowledge of hardware means you can write more efficient code in general.

  • @mohaadnan3244
    @mohaadnan3244 5 лет назад +3

    Do you have a course on computer hardware? And I love your java masterclass I am in a halfway of the course after I finish it I will continue with your android course 👌

    • @TheLearnProgrammingChannel
      @TheLearnProgrammingChannel  5 лет назад

      I don't yet but hope to one day - see comment about with some good hardware channels. I hope you enjoy the rest of the android course.

    • @mohaadnan3244
      @mohaadnan3244 5 лет назад

      @@TheLearnProgrammingChannel God bless you

    • @benitoclementediaznava8082
      @benitoclementediaznava8082 5 лет назад

      Man I'm on the same boat haha, but I have only 20% of Java and I already bought the Android course 👌🏼

    • @mohaadnan3244
      @mohaadnan3244 5 лет назад +1

      Benito Clemente Díaz Nava but first focus on finishing java and move on

  • @marduktr
    @marduktr 4 года назад +2

    0:48
    If you want to dive into hardware, first you should learn how to hold soldering iron:))))

    • @Varksterable
      @Varksterable 3 года назад

      What's a soldering iron?
      (Joke. Before anyone asks.)

  • @swapnil72
    @swapnil72 2 года назад

    Not quite literally but there's something called passion

  • @jameshagood2373
    @jameshagood2373 4 года назад +1

    Anybody that wants to answer would be greatly appreciated. I am a javascript developer and I use PHP and python on a daily basis as well but I want to be a more well rounded developer and learn C or C++ or assembly but I am not sure which one would be the most beneficial

    • @frederikja2210
      @frederikja2210 2 года назад

      This comes a bit late, but definitely C++, assembly is only helpful once you know/use c or c++, and c++ is essentially c but with classes. So c++ should also be more familiar to you.

  • @makesandmoocs8259
    @makesandmoocs8259 3 года назад

    What about someone who is just getting into robotics ? Does he / she need to know assembly as well to make robots efficient?

  • @eoghankenny5248
    @eoghankenny5248 5 лет назад +3

    Do you know of any resources that can teach computer hardware?

    • @TheLearnProgrammingChannel
      @TheLearnProgrammingChannel  5 лет назад +1

      I think there is some videos on youtube - but I have not investigated thoroughly. I learned a lot from early jobs but also by building my own PC hardware - if you have time and funds to do so, consider researching that. My two favorite check channels for hardware are Linus Tech Tips - ruclips.net/user/LinusTechTips and Carey Holzman - ruclips.net/channel/UCmWNCO9wSjzOz1UV8jCvIHA

  • @mohaadnan3244
    @mohaadnan3244 5 лет назад +2

    What about a deep understanding of operating system

    • @TheLearnProgrammingChannel
      @TheLearnProgrammingChannel  5 лет назад +2

      Not really necessary for most programmers - if you are talking about how it works under the hood and not how to use it.

    • @mohaadnan3244
      @mohaadnan3244 5 лет назад

      @@TheLearnProgrammingChannel thanks sir

  • @StefanSchade721229
    @StefanSchade721229 5 лет назад

    I had the Armstrad CPC 6128 😍

    • @TheLearnProgrammingChannel
      @TheLearnProgrammingChannel  5 лет назад

      Wow lucky you!! I bought the 464 as soon as it got released and remember the 6128 was pretty cool! I have such fond memories of the Amstrad machines in general.

  • @toyboatt
    @toyboatt 4 года назад

    I feel like Tim's programmer photos have proportional over-representation of pretty young girls. Am I just old?

    • @Varksterable
      @Varksterable 3 года назад

      Over-proportional over-representation in some cases too.
      Actually, I'm just probably old as well. Let's face it; this last 12 months has aged most of us by at least 5 years. I wonder where we can apply for refund vouchers? 🤨