Comment Re:macro assembler (Score 1) 641
Where are you drawing the line for good?
I can see that somebody could program without knowing anything at all about assembly language, but I find it difficult to believe that they would be any good at it. For many years CS curricula around the world contained the same sequence of courses: a "high" level language (be it C, C++ or Java depending on time and location), assembly language for a real architecture (SPARC, MIPS or x86) then a compiler course later in the degree that explicitly teachs the mapping from (parts of) the high level language into the low level language.
It has been understood for a long time that know both of these languages and having some explicit knowledge about what a compiler does to convert between them makes a programmer better. The vast majority of programmers my age (mid 30s) went through this sequence of courses as a mandatory part of their undergraduate education. I'm really curious what your definition of a "good programmer" is that doesn't know assembly language. How do they differ from just a programmer?