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

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

1 ... 262 263 264 265 266 267 268 269 270 ... 703
Перейти на страницу:
интересная задача, — подтвердил юноша, — мистер Уильямс был против, но я его убедил.

— И решать ее при помощи карандаша и бумаги — истинное безумие.

— Так делали разработчики, которых Кен нанял для переноса моей Зубодробилки. Да, он занял полгода, но получилось хорошо. Не представляю, как ты собираешься справиться за два месяца.

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

Идея моя оказалась проста, как двадцать пять центов — запилить анализатор синтаксиса, который подсчитает такты вместо меня. Пройдется по коду модуля, проставит накладные затраты на каждое действие и подобьет итог. Линтер — так подобные скрипты называют в светлом айтишном будущем. Но, кажется, в нынешние лохматые времена хотя бы сам термин уже придумали. Скармливаем ему ассемблерный код и видим прогноз, сколько процессорных действий он займет. Пожалуй, я преуменьшил, когда говорил про дробовик. У нас выйдет если и не БФГ, то, по крайней мере, ракетная установка.

Обстоятельно изложил Джону концепцию.

— Но у тебя ведь очень сжатые сроки, — напомнил коллега, — разумно ли тратить время на инструмент, который не факт, что поможет?

— Лучше день потерять, затем за пять минут долететь, — цитату из советского мультфильма собеседник понять шансов не имел даже теоретически, так как на экранах знаменитое «Главное — хвост!» появится только через несколько лет. — Распиши мне количество процессорных тактов в каждой ассемблерной команде, я их наизусть не помню.

Да вообще не помню, кроме того, что взятая как из лексикона Трейси команда NOP, то есть «ничего не делать», стоит два такта, а однотактовых совсем нет, что очень усложняет жизнь и заставляет ненавидеть саму математическую концепцию четности и нечетности!

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

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

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

Именно Паскаль я выбрал в качестве инструмента для реализации идеи. Во-первых, идеальный компромисс между быстродействием и легкостью кодинга. Во-вторых — удобный доступ к файлам. Читаем листинг построчно, выделяем ключевые слова, оцениваем их стоимость. Материмся на ветвлениях, которые стоят разное число действий, если условие выполнилось или нет.

У нас ушли две недели практически безостановочной разработки с редкими перерывами на сон и еду. Есть такая шутка, что если один программист напишет программу за неделю, то два — за две! Не наш случай. Помощь Джона на самом деле бесценной оказалась, главным образом за счет досконального знания ассемблера под процессоры семейства 6502. Я, со своей стороны, вкладывался знанием приемов командной разработки и общим пониманием принципов устройства линтеров. Мои навыки из будущего и его из прошлого, которое для меня настоящее, отлично друг друга дополнили.

Вообще, групповая разработка на технологиях 1982 — та еще боль, сопоставимая с фрустрацией от столкновения с недоконсолью. Джон с ухмылкой назвал её «Сникернет». То есть кроссовочная сеть. Ты записываешь код на дискету и несешь ее к соседнему столу ножками, после чего другой программер наполовину вручную объединяет ваши листинги.

Банальный копипаст «выделить-скопировать-вставить» в эпоху ретро-компьютеров выглядит, как тот еще цирк с конями. Нельзя просто так взять, открыть файл, скопировать кусок текста и вставить в другой файл. Не умеют так редакторы, в том числе самый продвинутый из имеющихся, включенный в среду UCSD Pascal.

Тут Скопировать/Вставить даже внутри файла нельзя! И это при том, что у меня есть древняя привычка копипаcтитть ключевые слова, включая банальный PRINT. Каменный век предлагает лишь Вырезать/Вставить. В чем здесь логика — я не выкупил. Так что и горячие клавиши для работы с текстом я тоже создам и в обиход введу. Причем сразу угодные богу-машине Ctrl-C и Ctrl-V, а не Ctrl-Ins и Shift-Ins, привычные всяким староверам. Если успею себе честь присвоить раньше Стива Джобса. Всегда есть какой-то Стив, который вводит инновации быстрее тебя!

Но система контроля версий и совместного написания кода станет одним из первых нововведений в офисе Каналья Геймс, когда я развернусь в Эль-Серрито. На полноценный версионник по типу Гит возможностей железа не хватит. А вот что-то похожее на SVN почему бы и не изобразить. И мне ведь не обязательно всё делать в одно лицо — найму разрабов.

В случае с Паскалем мы пришли к самому простому решению: разделению зон ответственности по файлам. Джон писал модуль JH.PAS, я — СС.PAS и периодически передавали друг дружке дискету со стола на стол.

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

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

Джона у меня Кен отобрал и еще около двух недель ушли уже у меня одного на доводку и тестирование созданного при помощи нового инструмента прототипа. Он выглядел откровенно неказистым, примитивным, монохромным, но работал

1 ... 262 263 264 265 266 267 268 269 270 ... 703
Перейти на страницу:
Похожие на "Ретро Бит 1-10 - Сева Сотх" книги читать бесплатно полные версии
Отзывы - 0

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


Новые отзывы

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