3 ms·
Programming is a very broad term and there are many levels at which you can do programming - from as low level as writing a firmware for some device to as high
by ankurdhama 4y ago
Programming is a very broad term and there are many levels at which you can do programming - from as low level as writing a firmware for some device to as high as wirting a VB macro in Excel. All of these are programming and depending on the kind of programming you are doing, different kind of knowledge is useful in those context.
The CS fundamentals you are talking about are things that matter when you are doing specific kind of programming. For ex: OS theory matters when you are writing an OS.
- bruce511 4y agoYes and no. I'd say OS theory is also helpful when writing programs that run on an OS. In the same way network theory is helpful when writing programs that communicate on a network. I find I've retained a lot of my CS theory, but in a "quiet" way. [1] It only really surfaces when I'm talking about things with colleagues, and I take some information for granted, but ultimately work out they don't have the same understanding. I do a fair bit of database work, and all that normalisation, foreign keys, relationships knowledge is "just there". On the other hand I only very occasionally have cause to do graphics work, so I remember the very basics, but not much else. I also remember we did things, which I haven't used for 30 years, but which "holds no fear". I recently had cause to consider writing some code in assembly, and it may or may not happen, but either way I have no "fear" of what it entails, its "just assembly code." So to the OP I say, your CS degree isn't about facts. It's about an understanding of how things fit together, and in your career you'll use that knowledge in ways you won't even notice. So relax, it's not like you have to write a refresher exam to keep up :) [1] today I'd get basically nothing in an exam, I don't remember all the memory-rote stuff, like naming the 7 OSI networking levels, or some specific algorithm, or the theory of P vs NP complete etc. But I actually tangentially use that knowledge every day.
- ankurdhama 4y ago> I'd say OS theory is also helpful when writing programs that run on an OS. That's a very generalized statement. A C program run on OS and so does a JavaScript on a webpage (at least indirectly). I am not sure how OS theory is useful in the JavaScript on a webpage case.
- solarengineer 4y agoJavascript on a web page targets the browser-based Javascript runtime, though, and would be constrained by the capabilities and security model of that runtime plus of the browser.
- archi42 4y ago(edited after 2m, added the first paragraph) You gave an example the OS theory would only be good when writing an OS. But the (valid) counter point was that it also becomes relevant when interfacing with an OS. JavaScript first and foremost runs on your browser, not on the OS itself. So understanding how browsers work (DOM, APIs, XHR...) becomes akin to understanding how the OS works. (I also have the following rant, which I don't like too much [too polemic] after posting, but I'm keeping it for transparency sake) No-one claimed you need to know quantum physics to understand what happens to the electrons in your CPU; but generally it's a good idea to know how the next few layers you're interfacing with work (in either direction). And that's often the OS, or the network, or the cache behaviour of your CPU or the superscalar nature of the GPGPU you use to accelerate something important. Or another something attached by some bus to your MCU in the embedded device you're building, or maybe the user navigating that website.
- ZephyrBlu 4y agoIf you wish to write a program from scratch, you must first invent the universe.