Search code examples
cassemblycomputer-sciencetheorylow-level

Shall i learn Assembly Language or C, to Understand how "real programming" works?


I'm a web developer mostly working in Ruby and C#..

I wanna learn a low level language so i dont look like an ass infront of my (computer science expert) boss.

Ive heard a lot of purist buzz about how assembly language is the only way to learn how computers actually work, but on the other hand C would probably be more useful as a language rather than just for theory.

So my question is..

Would Learning C teach me enough computer science theory / low level programming to not look like a common dandy (complete tool)?

Thanks!

Daniel


Thanks guys!

Some really great answers,

I think i'll learn C just to get a grasp of memory management, but i think your right and i'll be better off studying more of the languages i use!


Solution

  • First learn the actual theory. Learning C's syntax means nothing if you can't do anything meaningful with it. After you have a solid grasp of how algorithms and data structures work, this knowledge will be appliable in most languages you'll probably use.

    If you're planning to work in C# and Ruby, I don't see the point in learning assembler just for the sake of doing so.

    You'll be fine learning just C since it's C.

    You can do "real programming" in any language, as long as you do it right.