>>15
But still Compiler Design, Computer architecture are nonessential for programming.
You enjoying that compiler/interpreter you use to make your toy language work? Yeah that nonessential part of CS is the only reason why you can even do anything with your toy language.