Где-то в 1992 году я работал в Unix. Там была страшная неудобная файловая оболочка и ещё более страшный и неудобный текстовый редактор. До сих пор помню: чтобы выйти из него, нужно было четыре раза нажать Esc. И я взялся эти проблемы решить.
Текстовый редактор я просто один к одному передрал с популярного тогда MultiEdit, который меня полностью устраивал, а вот при написании файловой оболочки я, конечно, взял за основу логику Norton Commander, но кардинально её переработал. У меня количество окон с файлами не ограничивалось двумя, и эти окна можно можно было располагать как угодно и делать произвольной формы. Какой-нибудь человек из будущего опознал бы в этой оболочке Windows-стиль.
Ещё я придумал тогда файлы-ссылки, чтобы можно было создать список нужных тебе программ и файлов, не меняя их фактического расположения по каталогам, — полную аналогию ярлыков и рабочего стола.
Поскольку с оперативной памятью тогда было плохо, то при объёмных операциях я применял фоновый залив и подкачку из оперативной памяти в файл на диске и назад.
Графики в оболочке не было, но всё было реализовано псевдографикой. Переопределив символы, я получил закруглённые углы у окошек, несколько нужных мне картинок для кнопок, радиокнопок и чекбоксов. Получился красивый как бы графический интерфейс, но без нагрузки на комп.
Потом я изобрёл визуальное программирование. Тогда все элементы интерфейса прописывались прямо в коде с абсолютным позиционированием. Написал — скомпилировал — запустил и смотришь: «Ага, это поле на три символа влево сдвинуть, эту подпись на пять вправо». Неудобно, в общем. Написал программку, где можно было на экране расставить подписи, поля и кнопки, это всё сохранялось в бинарный файл, который при выполнении программы на лету подгружался и использовался для отображения формы. Если такой таблицы или таких полей не было, то они создавались при сохранении формы. Вышел аналог Access.
Тогда за написание «Windows» я получил в качестве поощрения от начальства пятьдесят баксов. Спустя много лет я подумал, что если бы я это делал не в украинской провинции, а где-нибудь в американском университете, то, может, заработал бы на нём не пятьдесят долларов, а пятьдесят миллиардов. Хотя, с другой стороны, будь я в Америке, то получил бы, наверное, больше пятидесяти долларов, но миллиарды заработал бы всё равно не я, а какой-нибудь ушлый маркетолог с мамой в совете директоров.
Хотя, если абстрагироваться, то раз социально неадаптированный прыщавый девственник смог не только предугадать многие тенденции в развитии программного обеспечения, но и реализовать их, значит, это и не так ценно. Миллионы смогли бы сделать это тогда. Может, действительно важно, кто это продвигает, а не кто делает? Похоже, это и есть закон жизни.
Нам, технарям, сложно принять эту мысль, так как мы привыкли гордиться своими знаниями и умениями, но я много раз в жизни наблюдал, что ярлык «хороший специалист» — это часто тупик для карьерного и социального роста. Ведь такого человека выдвигать не только на высокие должности, а даже на начальника отдела нерационально. Теряешь специалиста, приобретаешь офисного служащего. Офисного служащего найти намного проще, чем хорошего специалиста. Это ответ всем тем возмущённым IT-специалистам, у которых начальник отдела ничего не понимает в компьютерах. Это не противоречие, это закономерность.