Я тут размышлял об истории языков программирования, и вдруг подумал про динозавров.
Динозавры развивались сотнями миллионов лет, и выросли очень большими и навороченными, и — как бы это сказать по-русски? — sophisticated. Теперь известно, что у них были разноцветные перья, и вообще они выглядели очень эффектно.
Млекопитающие тогда тоже имелись, но были маленькими и выглядели невзрачно, типа крыс. Как, например, это чудо — мегазостродон, 10 см в длину.
Глядя на него, невозможно себе и представить, что он может побороть динозавров, а вот подишь ты. Динозавры все сдохли, и млекопитающие заполонили землю.
Так вот, вспоминал я тут язык программирования PL/I, на котором я, будучи школьником, программировал на мейнфреймах — как говорили тогда, на «больших машинах».
IBM разработала его в 60-х годах, как такой универсальный язык на смену фортрану и коболу. И был он, в общем, весьма крут. Там были указатели, разные классы памяти (статическая, на стеке и динамическая), структурный ввод/вывод в дополнение к поточному, прерывания, поддержка многозадачности, операции над массивами (например, сложение-вычитание), нормальные строки, нормальный препроцессор с циклами и функциями... Читаешь сейчас и поражаешься. IBM разработала его для своих компьютеров серий S/360 и S/370, которые тоже были вполне продвинуты: в некоторых из них была виртуальная память и несколько процессоров.
Ну, и потом произошёл катаклизм: пришли мини-компьютеры (а впоследствии персоналки) со своими 64 килобайтами памяти и, говоря про языки, простой как доска Си (разработан в 1972-1973 году, классическая книжка Кернигана и Ричи вышла в 1978).
Си и всяческие паскали и бейсики быстро вытеснили динозавров (а потом Си пожрал и паскаль с бейсиком).
А потом произошло вот что. Млекопитающие стали размножаться, захватили всю землю и в процессе становились больше, сложнее и разнообразнее. Появились слоны, киты и обезьяны.
Так и с языками. Современные наследники Си — Си++ и джава — стали чудовищными и неповоротливыми монстрами, понять которые много сложнее, чем PL/I. Нет никаких оснований полагать, что тенденция изменится, и соответствующие комитеты решат упростить свои языки. Нет, мировое сообщество ждёт, когда сложившаяся система рухнет, и на смену монстрам придут какие-то новые десятисантиметровые крысы.
Только так история, очевидно, и может развиваться: от простого к сложному, потом крах, и снова от простого к сложному. Хочется верить, что по спирали, хотя это и не всегда очевидно.
И вот смотришь на прочие конструкции вокруг нас, донельзя усложнённые и всё больше усложняющиеся с годами: на политическую систему, финансы, налоги, — и задумываешься. Ждать, когда рухнет? Надеяться станцевать на развалинах Рима? Или уже начинать забрасывать гранатами?
Динозавры развивались сотнями миллионов лет, и выросли очень большими и навороченными, и — как бы это сказать по-русски? — sophisticated. Теперь известно, что у них были разноцветные перья, и вообще они выглядели очень эффектно.
Млекопитающие тогда тоже имелись, но были маленькими и выглядели невзрачно, типа крыс. Как, например, это чудо — мегазостродон, 10 см в длину.
Глядя на него, невозможно себе и представить, что он может побороть динозавров, а вот подишь ты. Динозавры все сдохли, и млекопитающие заполонили землю.
Так вот, вспоминал я тут язык программирования PL/I, на котором я, будучи школьником, программировал на мейнфреймах — как говорили тогда, на «больших машинах».
IBM разработала его в 60-х годах, как такой универсальный язык на смену фортрану и коболу. И был он, в общем, весьма крут. Там были указатели, разные классы памяти (статическая, на стеке и динамическая), структурный ввод/вывод в дополнение к поточному, прерывания, поддержка многозадачности, операции над массивами (например, сложение-вычитание), нормальные строки, нормальный препроцессор с циклами и функциями... Читаешь сейчас и поражаешься. IBM разработала его для своих компьютеров серий S/360 и S/370, которые тоже были вполне продвинуты: в некоторых из них была виртуальная память и несколько процессоров.
Ну, и потом произошёл катаклизм: пришли мини-компьютеры (а впоследствии персоналки) со своими 64 килобайтами памяти и, говоря про языки, простой как доска Си (разработан в 1972-1973 году, классическая книжка Кернигана и Ричи вышла в 1978).
Си и всяческие паскали и бейсики быстро вытеснили динозавров (а потом Си пожрал и паскаль с бейсиком).
А потом произошло вот что. Млекопитающие стали размножаться, захватили всю землю и в процессе становились больше, сложнее и разнообразнее. Появились слоны, киты и обезьяны.
Так и с языками. Современные наследники Си — Си++ и джава — стали чудовищными и неповоротливыми монстрами, понять которые много сложнее, чем PL/I. Нет никаких оснований полагать, что тенденция изменится, и соответствующие комитеты решат упростить свои языки. Нет, мировое сообщество ждёт, когда сложившаяся система рухнет, и на смену монстрам придут какие-то новые десятисантиметровые крысы.
Только так история, очевидно, и может развиваться: от простого к сложному, потом крах, и снова от простого к сложному. Хочется верить, что по спирали, хотя это и не всегда очевидно.
И вот смотришь на прочие конструкции вокруг нас, донельзя усложнённые и всё больше усложняющиеся с годами: на политическую систему, финансы, налоги, — и задумываешься. Ждать, когда рухнет? Надеяться станцевать на развалинах Рима? Или уже начинать забрасывать гранатами?
Tags:
