channel coding from Hamming codes to capacity-approaching codes. We focus on the
contributions that have led to the most significant improvements in performance versus
complexity for practical applications, particularly on the additive white Gaussian noise
channel. We discuss algebraic block codes, and why they did not prove to be the way to get
to the Shannon limit. We trace the antecedents of today's capacity-approaching codes …