David Lorge Parnas
Canadian early pioneer of software engineering. Developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today. Author of the seminal paper On the criteria to be used in decomposing systems into modules and A rational design process: How and why to fake it. Also noted for his advocacy of precise documentation.