Is it worth learning C to get a deeper understanding of OS'es and computers in general?

actionscript-3, c, php

Solution

It's a good step, but it's like asking whether learning Italian is enough to understand Dante's The Divine Comedy. There is a lot different in OS and low-level programming that doesn't exist in high level programs. C, at the end of the day, is just a language.

I'd say definitely learn C, but use it to study some books on things like compiler construction, basic OS concepts and so on. That's where you'll really learn the low level concepts.

Problem

I'm currently working as a Actionscript 3 and Php developer. I started out learning Php then moved on to Actionscript 3 and now I'm learning Python. These 3 languages are high level languages which in none of them you have to worry about low level memory management and things like knowing which data type to use for different numbers. It feels like I'm missing something even though I know 3 different programming languages. For example I don't even know what a stack overflow (Yes, I know I should be ashamed since I'm writing this question on stackoverflow) is in and why it occurs. I will never know these kinds of things since I'm never going to face these kinds of problems in my line of work. So my question to you is pretty simple. Would I benefit from learning C even though I'm not going to work with it in my line of work?

Original source