Hi
Oh dear. Please, not that old discussion again. My programming language is bigger than yours.Well, what constitutes "fundamental principles" has been a bone of contention here for years, it's probably the most discussed issue if you recall... the high/low level languages "megathread" in particular has a lot of stuff about this.
I would suggest the OP already knows at least one other language and wants to understand how that language is an abstraction from the instruction set used to control the PC ?
I would suggest that is a different exercise than learning fundamental programming concepts or fundamental principles using assembler.
I would not recommend teaching assembly as a first language but rather as an augmentation of other languages to highlight (for one example) constraints placed on a language by its grammar and syntax. (i.e What actually is a cast in C and C++).
But also, IMHO, knowing a bit of assembler really does broaden the understanding of any developer, highlighting the interaction of hardware and software, although most developers do not need or want to know it.
And that is where i think from where the discussion of the high/low level languages originates. Do you need to know low level languages for most things ? No. Do they give a broader understanding ? Yes.
Right. I will run for cover Understand, i have enjoyed programming in all the languages i have used both high and low level. They all have their place.
Kind regards
Bookmarks