Пионеры вычислительной техники искали решения скорее в программном обеспечении, нежели в аппаратных средствах. Устав кодировать каждую инструкцию на двоичном языке внутренней логики компьютера – «да» или «нет», 1 или 0, - они занялись поисками более удобного способа общения с машиной. Первым результатом их усилий в этом направлении были новые коды, составленные из букв и коротких слов, взятых из английского языка. Морис Уилкс, работавший в Кембриджском университете, считается создателем одного из так называемых языков ассемблера. В 1949 г. он разработал такой язык для машины Эдсак EDSAC, первого действующего компьютера, программы которого хранились в его внутренней памяти. Приблизительно в то же время исследователи в MIT занимались разработкой более совершенного языка программирования для своего еще незаконченного компьютера Вихрь .
Обычно язык ассемблера состоит из команд с легко запоминающимися символами. Например, буквы SU означают команду вычитания Subtract, TS - запись в память Transfer Storage следующего за командой элемента данных и т. д. Каждое такое мнемоническое обозначение заменяло в программе длинную цепочку нулей и единиц. Эти символы автоматически преобразовывались в двоичные коды машинного языка, понятного компьютеру, при помощи специальной программы, называемой ассемблером.
Общение с системой на таком, пусть даже рудиментарном, человеческом языке, заменившем язык нулей и единиц, было первым шагом на пути к созданию языка программирования высокого уровня - и очень важным этапом на пути к применению компьютера для обработки текстов. Дальнейший прогресс был достигнут в 1955 г. в Линкольновской лаборатории MIT, когда вступил в строй компьютер TX-0 , с которым несколько лет спустя начали экспериментировать студенты. TX-0 был поистине мечтой программиста того времени. Помимо большой по тогдашним меркам памяти - 65536 байт, - он имел самые современные устройства ввода-вывода: дисплей на ЭЛТ и фоточувствительное устройство, называемое световым пером, которое позволяло изменять изображение на экране. Кроме того, усовершенствованный флексорайтер этого компьютера работал в режиме on-line, т. е. был непосредственно подключен к компьютеру, и все данные, набранные на его клавиатуре, немедленно вводились в машину, минуя этап набивки и последующего считывания перфоленты.
Когда в MIT вернулся молодой авиационный инженер исследователь Джек Гилмор Jack Gilmore, служивший в морской авиации во время корейской войны, его уже ждал новый компьютер TX-0 . Будучи еще аспирантом, Гилмор написал в 1951 г. первую программу-ассемблер для компьютера «Вихрь». Теперь коллеги предложили ему поработать с компьютером TX-0 , сказав: «Интересно, что ты сможешь сделать с этой штукой».
Гилмор ответил на этот вызов, написав прежде всего ряд служебных программ - утилит. Их назначение, по словам Гилмора, заключалось в том, «чтобы помочь нам делать грязную работу»; они позволили программисту модифицировать и отлаживать (т. е. исправлять обнаруженные ошибки) свои программы, когда они находились уже в памяти компьютера. Как метод общения между программистом и машиной программы Гилмора явились «прародителями» современных операционных систем, т. е. наборов программ, выполняющих, помимо всего прочего, такие функции, как отслеживание местоположения данных в памяти, на диске или магнитной ленте. Одна программа под названием FIND (находить) давала пользователю возможность отыскивать в другой программе определенные слова или инструкции. Оператор мог также быстро распечатать программу или данные, набрав на клавиатуре ключевое слово PRINT.
Система служебных программ Гилмора могла даже задавать вопросы, став таким образом предвестником того типа взаимодействия между человеком и машиной, которое ныне называют интерактивным режимом работы. Например, при выполнении подпрограммы выдачи данных на перфоленту - эту подпрограмму Гилмор назвал PUNCHY (от punch - перфорировать) - компьютер спрашивал: «Будет ли заголовок?» Если программист отвечал «да», то программа спрашивала: «Каким будет заголовок?», и тогда пользователь набирал на клавиатуре какое ни будь имя.
В процессе работы над своим следующим проектом Гилмор вплотную приблизился к компьютерной обработке текстов в современном смысле этого понятия. Намереваясь сконструировать более совершенное устройство ввода для машины TX-2, модернизированного варианта TX-0 (машина TX-1 не была построена), Гилмор написал в 1957 г. экспериментальную про грамму, которая позволила воспроизводить при помощи светового пера буквенные и цифровые символы на экране ЭЛТ. Экран размерами 20 х 20 см содержал 512 х 512 элементов изображения (точек). «Мы заполняли экран точками», - вспоминал позже Гилмор, - а затем, пользуясь световым пером, выборочно убирали часть точек, рисуя тем самым символ».