Pull to refresh
-8
0
Иван Левашев @OCTAGRAM

Фрилансер

Send message
Применительно к таблице из [EFF], раз уж мы доказали отсутствие исключений, то можно исключать проверки из кода, и тогда скорость повыше. По такому пути шли в проекте CubeSat, попутно решая другую проблему. Родного транслятора Ады для National Instruments нет, взяли AdaMagic.

Но AdaMagic из коробки для Linux и Windows, а на других надо что-то думать с механизмом исключений, портировать рантайм. Нет исключений — нет рантайма — нет проблем.
Из коробки не может, как и чистая Ада, без SPARK. Но вот тут какие-то инструменты вижу:
alastairreid.github.io/rust-verification-tools
Язык Mesa по-своему интересен. После того, как Хоар изобрёл мониторы, начались реальные попытки встраивания мониторов в язык программирования. Например, в книге «Операционные системы» Танненбаума используется несуществующий Pidgin Pascal со встроенными в язык мониторами. А из реальных языков это Active Oberon и Ada. И в Pidgin Pascal, и в AO мониторы явные. Отличие от Ады можно увидеть в том, что, например, в AO можно, будучи в мьютексе в глубине защищённой монитором процедуры, атомарно выйти и ждать условную переменную. А в языке Ада все такие ожидания навешиваются только на вход в entry, но никак не в середину, а если надо из середины отпустить мьютекс и чего-то ждать, то для этого можно сделать requeue в другой entry.

Mesa — ещё один паскалеподобный язык программирования, в котором мониторы были встроенными. Или, наверное, лучше сказать, алголоподобный. Потому что я его смотрел, и после адско-обероновского чистописания Mesa довольно загрязнена спецсимволами. Когда Вирт делал Modula-2, он вдохновлялся Mesa, но, как можно убедиться, виртовские языки сильно почище. Я изучал материалы по Мезе из исторического интереса. Интересно поузнавать немного про отбракованные ветви. Например, сейчас почти нигде не осталось векторных обработчиков исключений. В Common Lisp Condition System тоже была возможность обрабатывать исключительную ситуацию с восстановлением. Казалось бы, почему бы и нет. Оказывается, эта особенность языка причудливо сталкивается с мониторами. Оказывается, векторный обработчик исключения запросто может вешать программу, не в силах войти в мьютекс или дождаться условной переменной. В Мезе этому пытались противостоять, на языковом уровне делая у защищённых процедур что-то типа предбанников, в которых мьютекс не взят, и доступа ко внутренним данным нет. Сейчас в языках программирования как бы надпись «Здесь живут драконы», и только через язык Меза можно на этих драконов посмотреть. Убедиться.

Другой интересной особенностью Мезы был упор на обильную многозадачность. То есть, Меза тогда — как Go сейчас.
А в Shadow Warrior было управление техникой, а не только в охранные камеры смотреть, как в Дюке.
Взгляд вверх-вниз там был сделан как прокрутка кадра. То есть, это как если бы монитор был не 4:3 формата, а 4:9, но все 3 монитора 4:3 не видно, а показывается одна треть на выбор игрока. Вертикальные линии остаются параллельными.
Маловато они наэкспериментировали. Поделюсь своими находками.

В зазеркалье можно войти по dnclip, но если его выключить, игрок застревает на месте. При попытке ходить игрок судорожно дёргается на одном месте.

В движке Билд всё состоит из секторов, границами у которых служат либо стены (белые), либо границы соседних секторов (фиолетовые). Зазеркалье всегда делают как одну комнату с белыми стенами, и только само зеркало — фиолетовая стенка. Я не видел, чтобы пробовали в зазеркалье делать соседние сектора, то есть, фиолетовые стенки, отличные от самого зеркала. Я сделал, и вот, что получилось. Эти соседние сектора уже не считаются зазеркальем. По этим секторам становится возможным ходить без читов. У этих секторов рисуется пол и потолок. Можно рядом с зеркалом или не очень рядом сделать дверь или просто проход. Идём по туннелю и приходим в зазеркалье без читов. Конечно, можно ещё телепорт сделать туда или обратно.

Движок рисует зазеркалье крайне примитивно. Скажем, я сильно растягивал комнату зазеркалья, чтоб было, где побродить. И вот стою я в зазеркалье снаружи кинотеатра, смотрю на отражённый кинотеатр и сквозь все стены вижу вдалеке зеркало, через которое я пришёл. Это если с читами ходить. Если себе тропинку сделать, то я вижу эту тропинку сквозь все стены реального мира. Например, в самом первом уровне если зазеркальная тропинка огибает здание с секретной комнатой на углу, то тропинку видно сквозь угол здания. Нашёл решение. В зазеркалье можно поставить внутренние стены (белые), и тогда при трассировке лучей эти объекты будут загораживать. На всех твёрдых (белых) стенах текстура отражения реального мира, что и хотелось добиться. Если сидеть с калькулятором, белые стены рисовать в точности в тех местах, где отражение стен реального мира, то ура, ура! Стены реального мира начинают загораживать тропинки в зазеркалье. Игрок становится жителем как бы тонкого плана, наложенного поверх обычного плотного. Трёхмерный оверлей. А если нам хочется в зазеркалье стену или столб, которые будет видно только в зазеркалье, огораживаем белую стену тончайшим слоем фиолетовой границы сектора. Всё, это уже не стена в зазеркалье, а стена в обычном секторе, она отрисуется как положено.

Я мечтал сделать карту, где бы это полностью эксплуатировалось. Из зазеркалья можно нажатиями кнопки включать ракетницу в реальном мире, стреляя по пробегающим противникам. Или самому отправлять ракетницу в телепорт. Ты их видишь, они тебя — нет. В зазеркалье можно поставить камеры и наблюдать из обычного мира. Конечно, и само зеркало можно не прятать, а сделать большое на всю улицу. По-разному можно распорядиться переходом между мирами. Можно разные команды рождать в разных мирах. Можно всех рождать в одном мире, а переход в другой мир сделать односторонним. Из реального мира в зазеркалье в один конец. Или наоборот. Можно, как в Pollen, переплести миры системой телепортов, чтоб постоянно между ними надо было прыгать. Можно сделать транспорт синхронно в зазеркалье и обычном мире. Скажем, заходим в метро, жмём кнопку, нас перевозит в зазеркалье. А в реальном мире синхронно в точку назначения приезжает пустой вагон и по прибытии открывается дверь. Из неё никто не выходит, но ясно же, что кто-то «приехал». Ещё, может быть, можно заскриптовать создание в реальном мире спрайтов отпечатков подошв, пока игроки ходят по зазеркалью.
Там нет никакой магии. Чтобы отрисовать картинку в зеркале, делается снимок камеры из зеркально отражённого ракурса изнутри зеркальной комнаты. Отражается и рисуется поверх текстуры зеркала. И это та причина, почему с маленькой зеркальной комнатой глюки. В зазеркалье неоткуда снимок сделать. В 2,5D движке Build выход за границы карты был фатален. В Build всё существует внутри секторов, а сектора соединяются. Вне секторов не просто вакуум, там ничто (астрофизики называют это текстурой).
Linux Standard Base определяет двоичный стандарт на пользовательское окружение (библиотеки). Gtk+ там есть. Коммерческий софт компилируется под LSB, а потом запускается в самых разных дистрибутивах, используя пакеты для поддержки LSB.
LSB туда поставить можно со стандартным GTK+?
А почему бы не взять Delphi для Linux? И CrossVcl или FmxLinux
А так-то да, Россия постоянно конфликтует с Западом зачем-то.


Как при Иване Грозном русские земли под крылом Москвы собрала вместо Польши, так и конфликтует, ух, она какая плохая, нарушила все планы, самозванка.

Авось на 101й раз предложение «а давайте нагнем этих американцев с их требованиями» будет встречать адекватную реакцию и встречный вопрос «а может со всех разумных точек зрения для России лучше с ними дружить вместо того чтобы страдать хренью?»


Во-первых, нам не нужен Запад, чтобы развивать совместную с Китаем и другими странами ШОС науку. Если где-то в важных моментах что-то до сих пор завязано на Запад, так надо перевязаться поскорее, чтоб они исчерпали возможности гадить нашим странам.

Упомянутая дружба больше попахивает шестерением. Единственно интересная дружба — дружба с сильной позиции. Шестерение ведёт в прямо противоположном направлении. Чтобы быть сильными, надо блюсти собственные интересы. Также надо адекватно вести отношения с партнёрами. Неправильно: с хорошими свинья, со свиньёй хорошие (Стокгольмский синдром). Правильно: зеркалим, время от времени делая учтивые жесты, чтоб разцикливалась ситуация, если это возможно. Что вовсе не факт.

Пока что с нами в достаточно хороших отношениях Китай, а США прут свиньёй.

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

Ну я понимаю, досадно, что на высоком уровне медленно процессы идут интеграционные. Но кто нам доктор, если мы внизу не можем наконец себе объяснить, кто нам близкий, а кто далёкий. И действовать соответственно. К каждому же не приставишь психолога, лечить от Стокгольмского синдрома. Самим надо разбираться. Ни дружбы, ни семьи со Стокгольмским синдромом не получится. Ни восстановления страны. И в большом, и в малом один и тот же принцип.
С пробуждением!


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

Всегда мы кому-то не нравились, всегда кто-то ближе был, кто-то дальше. В 70е Европа была ближе, Китай дальше. Сейчас поменялись ролями. А в общем ничего нового.

Политика России, приводящая к политике отмены России за рубежом


Если автор никакого другого смысла не вложил, то следует переформулировать, как

Слабость суверенитета России, выражающаяся в недостаточном участии в союзнических проектах, вроде Университета ШОС, в который я до сих пор без понятия, как поступить на программистскую специальность. Хотя бы поступить, не то что публиковаться
Англоязычные мигранты в Северной Америке не умеют пользоваться переводчиками?
Это всё да, но мы же теперь с Китаем как новая Франция и Германия. У нас свои ближние круги, с ШОС, БРИКС, ЕврАзЭС, и при чём тут США и ЕС.
Рука тянется открыть интервью Никлауса Вирта:

Его руководство по применению «Паскаля» было переведено на многие языки и до сих пор остается бестселлером, но денег за это Н. Вирт практически не получает. «У меня, собственно, никогда не было цели разбогатеть. Я просто получал удовольствие от исследовательской работы, кроме того, мне в Высшей технической школе и так платили довольно хорошо», — говорит Н. Вирт, и это звучит вполне искренне.


И перечитывать. И перечитывать.
Политика России, приводящая к политике отмены России за рубежом

Какая такая политика и в чём это выражается? И за каким рубежом
ненативных контролов Qt

Столбовая дорога современного Delphi, FireMonkey, в конечном итоге тоже такого типа получилась.

Свои компоненты невозможно интегрировать в панель редактора форм

Да, в этом плане Delphi IDE блистает.
Ничего этого не предлагают

Qt в сочетании с Адой или C++ — это как минимум нативный код и высокая скорость функционирования приложения.
Положить рядом поле с json данными, ну да, нерешаемая задача.


Для ЦБ РФ просто. А остальные банки гоняют на рейсах через ЦБ РФ в заданном им формате. Внутри банка между клиентами, да, документооборот можно устроить.
Нет, не просто. Платежи идут, по крайней мере, в другие банки, через ЦБ РФ, и вот приезжает там назначение платежа. Как и требуется ЦБ РФ, в назначении будет текстом номер и дата. Номер в каком-нибудь особом формате, чтоб с собственной нумерацией предприятия не пересечься. Дальше каким образом бухгалтерии отправителя и получателя должны находить друг друга, чтоб номерочек развернуть в метаданные? Это не решённый вопрос. Абы кто номерочек развернуть в метаданные не может, по шаблонному URL отдавать нельзя. Я знаю, что в СБиС++ можно документы гонять между предприятиями, и только такие замкнутые на себя системы мне и известны. В СБиС++ такие вопросы решены, так как все участники проверены. В общем случае частному банку затруднительно обогнать ЦБ РФ и других регуляторов. Надо самостоятельно скооперироваться с конкурентами, а это всё, считай, приехали.

Information

Rating
3,536-th
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity