Books-Lib.com » Читать книги » Научная фантастика » Ретро Бит 1-10 - Сева Сотх

Читать книгу - "Ретро Бит 1-10 - Сева Сотх"

1 ... 576 577 578 579 580 581 582 583 584 ... 703
Перейти на страницу:
вам представить мой новый язык — Джулай Скрипт! Сокращенно JS. Эти же буквы мы используем для расширений исполняемых файлов. У меня есть полностью расписанная спецификация того, каким я хочу видеть язык на старте. А в голове — дорожная карта его развития на десять лет вперед.

— А почему Джулайскрипт? — спросила миссис Уильямс и у меня на этот вопрос хороший, причем даже правдивый ответ имелся.

— Жюйе Скрипт! Жюйе — это июль, мон ами! Летний язык, теплый, как Ницца в июле! — воскликнул месье Канн.

— Официально потому, что я писал эту спецификацию в июле. А на самом деле в честь плаката с мисс Июль 81-го, который висел у нас в трейлере в Лос-Анджелесе. Затянувшаяся шутка.

Как основу нового языка я взял нежно любимый мной Питон, приправил тайпскриптом, добавил щепотку Го и капельку Раст. Копировать один из них целиком не стал, попытался соединить сильные стороны всех доноров и убрать слабые.

За идею отказа от операторных скобок и использования вместо них отступов следовало бы поставить памятник. Увы, не помню, кому именно. Кто-то предложил так делать еще в 60-х и лишь в 90-х Гвидо Ван Россум, отец Питона, ее популяризировал.

В качестве единственного валидного отступа я выбрал два пробела. В зародыше решил задушить спор между любителями пробела и табуляции. Но! Текстовый редактор научим по нажатию на Таб эти пробелы ставить и по бекспейсу их стирать, как единый символ. Четыре тоже окажутся валидны, но в моду войдут в будущем, когда экраны станут пошире. Решение, которым я, можно сказать, предотвратил раскол цивилизации на два лагеря. Но это не точно.

Синтаксис я утащил у змеиного языка почти целиком. И написать на Джулайскрипт нечитаемую кашу, втиснутую в одну строчку, физически невозможно.

Точки с запятой — на мороз! Полностью и без исключений, дозволенных оригинальным питоном. Кто-то станет вообще о них жалеть? Вот не думаю. Уверен, каждый программист их ненавидит, а особенно русскоязычные, так как в кириллической раскладке точка с запятой находится не там же, где и в английской. Не знаю, та ли эта несправедливость, которую стоит браться исправлять. Букву “Ж” с клавиатуры так запросто не выкинуть.

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

Вот лет через десять кто-нибудь наверняка возьмет мою открытую спецификацию и создаст свой JS с блэкджеком и необязательными типами переменных.

С ключевыми словаи не перебарщиваем, не больше тридцати. Глобальные переменные запрещены. Всего один оператор проверки на равенство — “двойное равно”. А присваивание — через одинарное. И никакого моржового оператора “двоеточие и равно” — самой раздражающей меня части в целом приятного Паскаля.

От Джаваскрипта берем его самую крутую часть: концепцию того, что каждая функция — это объект и ее можно положить в переменную, передать в качестве аргумента. Плюс объявление списков и словарей прямо в синтаксисе, без лишних кавычек. Это единственное место, где я оставил фигурные скобки, чтобы валидный в прежнем времени JSON оставался таковым и в наши доисторические времена. Расшифровка аббревиатуры у нас теперь, естественно, иная — Джулай Скрипт Обджект Нотейшн. Еще от современного JS — деление на переменные и константы, по умолчанию неизменяемые, как сделано и в “Раст”, но наоборот.

От Раста — синтаксический сахар с проверками на null через вопросик и два вопросика. Подумывал и вовсе его отменить, но слишком большой разрыв шаблона всем программистам. Зато никаких отдельных null и undefined.

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

И зачатки асинхронности через асинх/эвейт, без которых мы получим настоящий ад обратных вызовов и меня все проклянут.

И сахар! Много-много синтаксического сахара, ради которого программисты к нами и придут: f-строки, то есть подстановка в шаблон именованных значений, срезы и отрицательные индексы в массивах, множественные присваивания и распаковка, именованные аргументы в функциях, цепочки сравнений, ветвления через матч-кейз, перебор коллекций и диапазонов через цикл “for in”, двойные и одинарные кавычки для обычных строк и тройные для многострочных, числа с неплавающей запятой, стрелочные функции. Куча-куча всяких хотелок, в общем. Всё, что смог припомнить выглядящего технически реализуемым с моей колокольни. Всё, что люди придумывали через красные от слез и кофе глаза неспящих долгими ночами разрабов.

Вот как-то так неидеально, но постарался закрыть самые больные места. Язык общего назначения, который может в зависимости от ситуации и компилироваться, и использоваться как скриптовый, внутри интерпретатора. И это всё я подарю человечеству во имя Омниссии. И даже не по лицензии Каналья, а просто так, без обязанности открывать свои исходники, иначе взрыв популярности не произойдет. Рантайм скриптов максимально компактный, чтобы и в табличный процессор включить не зазорно, и в бухгалтерскую программу, похожую на 1С, и в игру для описания логики НПС.

А далее главное — красиво ворваться. И разберемся, к чему это приведет. Если кто-то по-настоящему умный, вроде Томпсона или ван Россума, на моем фундаменте создаст язык будущего, удобный всем, я только скупую слезу пущу и профинансирую его крупным грантом. Ревновать не стану.

Главная цель создания скриптового языка, конечно — сделать его дефолтным в будущих браузерах. Я сам эту дорожку всем покажу, собственным примером в будущем “Каналья Эксплорере”… нет, неудачный нейминг. “Каналья Навигаторе”? Но всё потом, не сейчас.

И Кен, и месье Филипп читали предложенный мной документ

1 ... 576 577 578 579 580 581 582 583 584 ... 703
Перейти на страницу:
Похожие на "Ретро Бит 1-10 - Сева Сотх" книги читать бесплатно полные версии
Отзывы - 0

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


Новые отзывы

  1. Гость Ирина28 октябрь 10:35Мачеха для четверых и ни одной инструкции - Александра КаплуноваБольшое спасибо за книгу, очень понравилась, автору вдохновения
  2. Тата15 октябрь 06:48Любовь через развод - Женя ГромоваНе понравилось. Для 28 лет, да ещё и завуча школы, героиня слишком тупая..
  3. Вероника08 октябрь 13:31Моя истинная попаданка - Наталья БулановаЗдравствуйте.Прочитала с интересом о том что можно разделить себя чтобы не терять две цели и к чему это может привести. Единственное что не понравилось это то что
  4. Гость Елена22 сентябрь 22:55Академия Сердцеедов. Обман - Полина ВерховцеваВсе три книги Полины Верховцевой понравились, спасибо большое автору и за возможность прочитать полностью.