Добавить в цитаты Настройки чтения

Страница 28 из 79

— Сэм, ты чего тут расшумелся? Вольнослушатели хотят места на осенний семестр и все занято?

Без спроса и стука к нам зашел доктор Оустерхаут. То, что ошибок не существует, я у него позаимствовал, из ненаписанной еще книги. А он у кого-то другого. Но это не плагиат, а развитие и компиляция вместе идей. Как и в случае с Джулайскрипт.

— Нет, сэр… тут вот мои знакомые язык программирования изобрели, я критикую.

Гарланд, получив мое молчаливое согласие, оформленное кивком, передал распечатку научному руководителя.

— Строгая типизация для скриптового языка? Это лишнее… — пробормотал он себе под нос.

— Экономим ресурсы, сэр. Но вывод типов решает проблему связанной с типизацией многословности.

— Сколько ресурсов вы потратите на вывод типов и с какой скоростью будет работать ваш компилятор? Вы пытаетесь усидеть на двух стульях, создать системный язык общего назначения, в то же время являющимся скриптовым.

А вот не соглашусь с высоты послезнания. Есть Котлин, Го, Дарт… Джулия, в конце-то концов, она, правда, компилируемая, но издалека похожа на Питон и потому воспринимается, как интерпретируемая.

— Мы делаем удобный инструмент… сэр, — вступил в полемику Джон, — какая разница, сколько стульев он займет?

— Позвольте демонстрацию, — попросил я и на маркерной доске, имеющейся в кабинете аспиранта, набросал по памяти дюкесорт на джулайскрипте. Ничего так, симпатично получилось.

— Как видите, код…

— Сколько вот в этой строке пробелов? — спросил профессор, ткнув пальцем в рандомное место.

— Два… их всегда два, четыре, шесть, кратно двум.

— А если пользователь поставит не шесть, а пять, перепечатывая код с бумаги? Вы решили избавить программистов от ошибок по поиску пропущенных скобок, заменив их на пробелы, которые не видно.

— Текстовый редактор за этим проследит.

— И у вас он есть, я знаю, читал колонку мистера Нортона. А вот у нас, в Юникс, Vi разницы между отступом в два или три пробела не увидит. Я далек от позиции жестких критиков идей мистера Лэндина, в них есть своя правда, но считаю, что время их еще не пришло.

Может быть, он и прав, если стрельнул Питон только в девяностых. Но не только за счет отступов, но и других удобных штук, удобной реализации модульности, например, полностью мной слизанной.

— Но отступы не главное, — продолжал Оустерхаут. — Вы пишете о владении памятью, вот здесь. Кристобаль, это тема для огромной диссертации. Если проверять все эти правила до исполнения, вам потребуется очень сложный анализатор. Если в рантайме — придется тащить за собой всю бухгалтерию владения и ссылок. И где тогда останется ваша компактность? Вы излагаете приятные идеи, но всего моего академического опыта и фундаментальных знаний не хватает, чтобы взяться за реализацию подобного компилятора. Однако потребность в минималистичном и простом командном языке я тоже ощущаю. Вы, очевидно, талантливые программисты, но примите мой совет — не спешите со взрослым компилируемым языком, начните с маленького интерпретатора под менее амбициозный язык и с ним мы с Сэмом вам поможем.

Умыл. И ведь не поспоришь не потому, что я его безмерно уважаю, а потому, что одного каналью понесло выкатить сразу все свои хотелки, зачастую противоречащие друг другу, в наивной надежде, что «датчанин из Борланда» разберется, как правильно зарелизить, ведь в будущем у других оно работает. Вот я торадо бабосо! Амбиции, вероятно, придется урезать, может быть, даже очень сильно. Но от идеи захватить веб-разработку своим интерпретатором я не откажусь.