<sod>  
 Early implementations were for the [[Digital Equipment Corporation|DEC]] [[PDP-7]] and [[PDP-11]] minicomputers using early [[Unix]], and [[Honeywell]] 36 bit mainframes running the operating system, [[General Comprehensive Operating System|GCOS]]. The earliest PDP-7 implementations compiled to [[threaded code]], then Ritchie wrote a compiler which produced machine code. In 1970 a [[PDP-11]] was acquired and threaded code was used for the port. The first version of [[yacc]] was produced with this PDP-11 configuration. Ritchie took over maintenance during this period.
 
The typeless nature of B made sense on the Honeywell, PDP-7 and many older computers, but was a problem on the PDP-11 because it was difficult to elegantly access the character data type that the PDP-11 and most modern computers fully support. Starting in 1971 Ritchie made changes to the language while converting its compiler to produce machine code, most notably adding data typing for variables. During 1971 and 1972 B evolved into "New B" and then C, with the [[preprocessor]] being added in 1972 and early 1973 at the urging of Alan Snyder. The effort was sufficiently complete that during the summer of 1973 the Unix kernel for the PDP-11 was rewritten in C. During the 1972-73 period there was a need to port to Honeywell 635 and IBM 360/370 machines, so Lesk wrote the "portable I/O package" which would become the C "standard I/O" routines.
 
 B continued to see use as late as the 1990s on Honeywell mainframes, and on certain [[embedded systems]] for a variety of reasons, including limited hardware in the small systems; extensive libraries, tools, licensing cost issues; and simply being good enough for the job on others. The highly influential [[AberMUD]] was written in B.
 
 <eod> <sod> 
 Early implementations were for the [[Digital Equipment Corporation|DEC]] [[PDP-7]] and [[PDP-11]] minicomputers using early [[Unix]], and [[Honeywell]] 36 bit mainframes running the operating system, [[General Comprehensive Operating System|GCOS]]. The earliest PDP-7 implementations compiled to [[threaded code]], then Ritchie wrote a compiler which produced machine code. In 1970 a [[PDP-11]] was acquired and threaded code was used for the port. The first version of [[yacc]] was produced with this PDP-11 configuration. Ritchie took over maintenance during this period.
 
The typeless nature of B made sense on the Honeywell, PDP-7 and many older computers, but was a problem on the PDP-11 because it was difficult to elegantly access the character data type that the PDP-11 and most modern computers fully support. Starting in 1971 Ritchie made changes to the language while converting its compiler to produce machine code, most notably adding data typing for variables. During 1971 and 1972 B evolved into "New B" and then C, with the [[preprocessor]] being added in 1972 and early 1973 at the urging of Alan Snyder. The effort was sufficiently complete that during the summer of 1973 the Unix kernel for the PDP-11 was rewritten in C. During the 1972-73 period there was a need to port to Honeywell 635 and IBM 360/370 machines, so [[Mike Lesk]] wrote the "portable I/O package" which would become the C "standard I/O" routines.
 
 B continued to see use as late as the 1990s on Honeywell mainframes, and on certain [[embedded systems]] for a variety of reasons, including limited hardware in the small systems; extensive libraries, tools, licensing cost issues; and simply being good enough for the job on others. The highly influential [[AberMUD]] was written in B.
 
 <eod>