Originally, most operating systems were written in assembly language for a particular processor or family of processors. Non-assembler operating systems were comparatively slow, but were easier for revision and repair. One of the reasons for the C programming language's low-level features, which resemble assembly language in some ways, is an early intent to use it for writing operating systems. Similar goals led to IBM's development of PL/S. The high-level nature of COBOL, which created some problems for operating system development, was partially addressed in BLIS, since it was deliberately optimised for COBOL.