суббота, 1 июня 2024 г.

[life.cinema] Очередной кинообзор (2024/05)

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

Фильмы

Артур, ты король (Arthur the King, 2024). Хорошее, доброе, семейное кино. К некоторым местам я бы сильно доколупался бы. Но именно как кино для семейного просмотра, как по мне, так отлично.

Каскадёры (The Fall Guy, 2024). Смотрибельно, но... Во-первых, фильм, как мне показалось, рассчитан на малолетнюю и непритязательную аудиторию. Людям постарше тупо не интересно следить за происходящим. Во-вторых, главным героям, судя по поведению, должно быть лет по 25, а играют их сорокалетние актеры. Это вызывает неслабый диссонанс. В-третьих, гораздо интереснее оказалось смотреть сцены во время финальных титров о том, как проходили съемки трюков.

Выкуп (Bigongsikjakjeon, 2023). После просмотра трейлера ожидал много худшего. Но оказалось на удивление неплохо. Ничего выдающегося, но скоротать вечер вполне можно.

Атлас (Atlas, 2024). Очень предсказуемый и детский фильм. Но красочно снят. Так что на фоне того, что красиво сделанной фантастики в последнее время очень мало, то потраченного времени не жаль. Но далеко не шедевр.

Министерство неджентльменских дел (The Ministry of Ungentlemanly Warfare, 2024). Красочный фантастический комикс для детей младшего школьного возраста. Людям старше 12-13 лет можно не смотреть чтобы не разбить себе лицо фейспалмами.

Сорвать банк (Cash Out, 2024). Очень и очень слабо, как по актерской игре, так и по визуальной составляющей. А уж сценарий так просто днищенское дно.

Сериалы

Мастер (первый сезон, 2021). Красочно, динамично, бодро и я бы даже сказал жизнеутверждающе. Актеры стараются. Но все персонажи какие-то шаблонные и картонные, а сюжетные ходы вполне себе предсказуемые. Но, что удивительно, общее впечатление это не портит.

Оффлайн (первый и второй сезоны, 2022-2024). Первый сезон, как по мне, так просто отличный, очень легко смотрится. А вот второй -- это какой-то бред укуренного наркомана. Так что моя рекомендация -- посмотреть только первый сезон и не обращать внимания на продолжение.

Амстердам: Город грехов (Baantjer het Begin, первый сезон, 2019). Начало было многообещающим, но начиная с середины сериал скатился в откровенную посредственность. Не буду ругать, но и рекомендовать не могу.

Фильм вне категории

Большая гонка. Ауди против Лянчи (Race for Glory: Audi vs. Lancia, 2024). Странное кино. По нынешним меркам откровенно слабое. Но веет от него какой-то аналоговой теплой ламповостью 1980-х. Настолько, что вспомнилось старое-старое кино 6000 километров страха от 1978-го года, увиденное в далеком детстве. В результате нашел "6000 километров..." на YouTube, пересмотрел, понастольгировал. Мне кажется, что "6000 километров..." намного лучше. Но есть впечатление, что "Ауди против Лянчи" специально делали именно таким, аналоговым и ламповым, под старые фильмы 1980-х о раллийных гонках. Так что не возьмусь давать какую-то оценку.

четверг, 30 мая 2024 г.

[prog.c++] Грустные впечатления от p3086

Недавно в очередной раз наткнулся на библиотеку proxy от Microsoft. Которая разработана в качестве поддержки предложения p3086. Попробовал почитать этот пропозал (2-я ревизия на тот момент). Спектр эмоций оказался широким -- от нехилого пригорания по началу до тихой грусти в итоге. Попытаюсь рассказать почему.

Началось все буквально с первых страниц. Вот на этом фрагменте у меня полыхнуло:

For decades, object-based virtual table has been a de facto implementation of runtime polymorphism in many (compiled) programming languages including C++. There are many drawbacks in this mechanism, including life management (because each object may have different size and ownership), reflection (because it is hard to balance between usability and memory allocation) and intrusiveness. To workaround these drawbacks, some languages like Java or C# choose to sacrifice performance by introducing GC to facilitate lifetime management, and JIT-compile the source code at runtime to generate full metadata.

Т.е. десятилетиями полиморфизм реализовывался на базе привязанных к классам таблиц виртуальных функций и это было плохо, т.к. и временем жизни приходилось озадачиваться, и слишком уж все это было интрузивненько. Поэтому такия языки, как Java и C# решили принести в жертву производительность и пошли на использование GC для управление временем жизни и JIT-генерацию кода во время исполнения.

facepalm.jpg

Ну как бы это помягче сказать.