Тем временем компания Texas Instruments возобновила контракт с СТС и тоже начала выпускать микропроцессоры (TI осваивала рынок так же настойчиво, как и Intel: ее разработчик Гэри Бун перед этим получил патент на одночиповый компьютер). Теперь существовало три различных вида процессоров. Отдел маркетинга Intel был прав относительно необходимости создания широкой сети поддержки потребителей. Например, клиенты нуждались в документации о выполняемых чипом операциях, о понятном ему языке, необходимом для него напряжении и множестве других вещей. Кто-то должен был написать руководство для пользователя, и Intel поручила эту важную задачу инженеру Адаму Осборну, который впоследствии вплотную занимался процессом превращения компьютеров в персональные.
Программное обеспечение микропроцессора привело к образованию еще одной сферы поддержки потребителя. Чипам, как и универсальным процессорам, необходимы были программы, инструкции, которые указывали бы им, что нужно делать. Для создания подобных программ в Intel сначала собрали компьютеры на базе каждого из двух микропроцессорных чипов. Эти компьютеры были некоммерческим продуктом, они использовались для разработки системных программ, помогающих в написании программ для процессора. По сути они были микрокомпьютерами, хотя в то время никто не использовал этот термин.
Одним из первых разработчиков этих программ был Гэри Килдалл, работавший в одном из учебных заведений ВМС, расположенном на тихоокеанском побережье Силиконовой Долины в Калифорнии. Как и Осборн, позднее Килдалл стал очень важной фигурой в истории разработки персонального компьютера. В конце 1972 года Килдалл написал простейший язык для 4004 модели. Это была программа, переводившая кодированные буквенные команды в еще более кодированные единицы и нули, из которых и состоял набор внутренних инструкций для микропроцессора. Хотя программа была написана для 4004 модели, в действительности она предназначалась для большого компьютера IBM 360. Пользуясь ею, каждый мог набрать команды на клавиатуре IBM 360 и составить файл с набором инструкций для 4004 чипа, а затем и ввести его в 4004 микропроцессор, если тот был подключен к компьютеру IBM. Труднее было совместить 4004 модель с чем-либо еще. Микропроцессор требовалось подключать к особой схеме электрической сети, созданной для соединения других чипов с устройствами типа телетайпа. Системы разработки Intel как раз и были созданы для решения проблем такого типа. Естественно, Килдалла привлекли к работе в микрокомпьютерной лаборатории компании.
В конце концов, Гэри Килдалл заключил контракт с Intel на разработку языка для производителей чипов. PL/М (Programming Language for Microcomputer — язык программирования для микрокомпьютеров) должен был стать языком высокого уровня, в отличие от машинного языка низкого уровня, на котором был написан набор инструкций для микропроцессора. Пользуясь PL/М, каждый мог написать программу один раз и использовать ее на 4004 процессоре, на модели 8008 или на будущих процессорах Intel. Это существенно ускоряло процесс программирования.
Но написание языка было непростой задачей. Чтобы понять почему, мы должны представить, как компьютер обрабатывает язык. Компьютерный язык — это набор команд, которые машина должна распознать. Компьютер реагировал только на те команды, которые заложены в микросхему его чипа. Выполнение языковых команд требовало создания программы, транслирующей слова, понимаемые пользователем, в команды, которые могла использовать машина.
Микропроцессоры были не только очень малы, они использовали в своей работе ограниченную логику, они имели минимальное количество функций и ужасно трудно программировались. Разработка любого языка для них была сложной задачей, не говоря уже о языке высокого уровня. Друг и соратник Килдалла позднее рассказывал, что Гэри написал свой PL/М прежде всего потому, что задача казалась неосуществимой. Это было для него интеллектуальным вызовом, как и для большинства программистов и разработчиков до и после него.