Unreal Engine 6 и Verse
yurembo
yurembo
Сначала кажется, что эти части совершенно не имеют смысловой связи, потому что в них рассказывается о географически далеких вещах. В первой части рассказывается о событиях в глубокой русской деревеньке, куда приезжает ученый из Ленинграда для поиска особых трав и проведения экспериментов. Между делом этот ученый изучает психотерапию. По стечению обстоятельств он оказывается втянут в семейное бедствие, в котором матушка не реагирует на внешние раздражители. Путем гипноза ученый выводит женщину из этого состояния.
Во второй части автор рассказывает о группе итальянских туристов, арендовавших яхту и отправившихся на поиски сокровищ. А, так как Иван Ефремов сам много времени своей жизни посвятил мореходству, о морских приключениях повествует с точки зрения матерого знатока. За время путешествия с туристами происходит много захватывающих и просто интересных событий. Итальянцы на месте крушения флота Александра Македонского находят Черную корону с драгоценными камнями, обладающими необъяснимыми свойствами.
В третьей части ведется монолог об индийском скульпторе с одержимостью дьявола, познающего и исследующего мастерство скульптуры предков родной страны. Вместе с тем он ищет женщину, которая бы соответствовала параметрам богини, чтобы послужить ему образом для создания лучшей в мире статуи. И совершенно случайно он встречает такую женщину. Дальше начинается круговорот событий, в результате которого происходит её спасение из лап криминала.
В четвертой части повествовательные линии сходятся в одну точку, все герои оказываются в индийском городе Мадрас: ученый из Ленинграда прилетает на научную конференцию, итальянцы делают здесь остановку, индийский скульптор строит план вызволения своей музы.
Описанные мною выше сценарии не содержат и доли массива действий, в них присутствующих на самом деле. Чтобы узнать, необходимо прочитать самому.
А, поскольку за всем этим стоит Иван Ефремов, всё описано очень подробно: физические события, наблюдения и их последствия, функциональные механизмы описаны с большой точностью и правдоподобием. Мне нравится погружаться в такие подробные описания, которые дают новые знания.
В каждой главе романа в разных контекстах упоминается лезвие бриты, например: “Узка и трудна та единственно верная дорога к коммунистическому обществу, которую можно уподобить лезвию бритвы”.
“Простое пробуждение могучих социальных устоев человеческой психики, пробуждение чувств братства и помощи, которые уже были в прошлом, но были подавлены веками угнетения, зависти, религиозной и национальной розни рабовладельческих, феодальных и капиталистических обществ, даст людям такую силу, что самые свирепые угнетения, самые железные режимы рухнут карточными домиками, так что человечество застынет в удивлении.”
by yurembo
Дополнительно я выложил игру HalloweenParty на itch.io: https://yurembo.itch.io/halloweenparty. Можно скачать оттуда и поиграть. Все равно ссылка для скачивание ведет на мой Яндекс.Диск.
yurembo
Мне кажется, ИИ, как помощник в программировании, сильно переоценен. Он помогает решать тривиальные задачи с помощью распространенных языков и инструментов, однако, когда дело касается чего-то менее популярного, ИИ начинает халтурить. Притом делает это уверенно и ответственно, аргументируя свои решения. Но, когда тыкаешь в его же бредятину, рассыпается в извинениях. Это наблюдается не только в отечественных нейросетях: Яндекс.Алиса, ГигаЧат, но и в лидерах индустрии: ChatGPT, DeepSeek, GitHub Copilot, etc.
Например, я уже некоторое время разрабатываю игры на движке Leadwerks 5 с помощью скриптового языка Lua. Очень удобно для быстрого прототипирования и обкатывания идей. Lua блестяще подходит для написания небольших скриптов, разрабатывать на нем что-то тяжеловесное будет труднее, поскольку в нем отсутствуют механизмы "настоящих" языков, но разговор не об этом.
Leadwerks существует с 2006-го года, Lua - с 1993-го. И с тех пор последний заслужил звание скриптового языка для игр. Следовательно существуют большие кодовые базы и материалы использования обеих этих технологий. Однако оказать существенную пользу при разработке игр на Leadwerks Lua ИИ не может. Часто его советы не проходят даже автоматическую проверку интерпретатором. Из-за своей легкости и дружелюбия Lua многое прощает, это и есть причина сложности разработки больших сценариев на этом языке. О написании корректных с точки зрения игровой логики сценариев средствами ИИ пока можно не мечтать. Единственное, на что годен ИИ в этом случае, это его использование, как улучшенную версию IntelliSense для автозавершения кода в VS Code.
Когда просишь ИИ обосновать свое решение, он приводит дюжину спорных фактов от того, что в Leadwerks 4 этот код точно работал, до того, что, похоже, в вашей сборке движка эта функциональность отсутствует. А, когда указываешь ИИ на обоснованную ошибку, он утопает в извинениях и твоем восхвалении.
Поэтому, до сих пор, ИИ в программировании не всегда и не везде полезен, оставаясь весьма сырой технологией.
yurembo
Вина за многочисленные сокращения и увольнения в сфере IT лежит не только на ИИ. Последний лишь кристаллизировал проблему, словно снежный ком, копившуюся годами. В первую очередь, людей увольняют другие люди, последние, эффективные менеджеры, ради экономии на зарплатах, не разобравшись в ситуации, избавляют компании от лишних, на их взгляд, разработчиков. Но придет время, и человечество еще пожалеет о своих решениях. Между тем, ИИ не сделает работу за программиста, он лишь может помочь ускорить написание кода. А что мы видим на самом деле? Кода стало больше, но его внедрение стало медленнее, так как разработчиков из-за увольнений стало меньше. Поэтому код стали внедрять без нужной проверки. Именно это создает благодатную почву для захвата человеческой цивилизации искусственным интеллектом. Ведь гораздо проще захватить мир, внедрив деструктивной код во все сферы человеческой деятельности, нежели начинать горячую войну. Если тебе баззаветно доверяют, можно пойти на любые вредности, а у людей под давлением других людей просто нет времени на проверку.
Но вернемся к тому, с чего все началось. Вспомним, как обстояли дела десять лет назад. Сначала резко возник дефицит айтишников. Я еще тогда видел в этом надуманную проблему. Надо было расширять дистанционное сотрудничество и брать людей не за красивые глаза, а, опираясь на их действительные заслуги. В реальности вышло, что с удаленкой ситуация стала хуже, чем в нулевых.
Свято место пусто не бывает, на острую нехватку айтишников бизнес ответил организацией псевдошкол для образования народа, не готового к работе в АйТи от слова совсем. В итоге, эти псевдо-учебные заведения выпустили сотни недоайтишников с завышенным самомнением, большими амбициями, слабыми знаниями, без возможности их применения, но отдавшими кучи денег, что подогревало уверенность в собственных силах.
Из-за нахлынувшей на рынок избыточной массы посредственных программистов с выверенными резюме бизнесу потребовалась армия эйчарок. Одновременное появление ИИ, позволило ленивым от природы эйчаркам, применять средства ИИ для отсеивания даже сильных кандидатов, не указавшим в резюме какую-то совсем неважную деталь.
В образовавшемся круговороте интеллектуальной массы мы сейчас и живем.
yurembo
Когда я был маленьким, я читал книги по программированию, одновременно думая: наверняка, у этих всезнающих авторов нет проблем с устройством на работу в любую компанию, соответствующую их профилю (багажу знаний). Ведь они не только рассказывают о новых техниках, инструментах программирования, но и на практике показывают их применение.
Поэтому я много изучал все
возможности разработки программного обеспечения, держа в мыслях возможность
написания книги. И, когда набрался опыта, не только в программировании, но и в написании
технических статей, стал писать книги.
Однако реальность оказалась ортогонально
другой. И это еще было до наступления ИИ. Эйчары не обращали никакого внимания
на написанные книги и другие публикации соискателя.
А с приходом ИИ абсолютно всё
потеряло ценность. Сейчас совершенно не понятно, чем можно выделиться среди
других кандидатов. Никакой пет-проект не может служить доказательством наличия
у человека особых знаний, потому что теперь считается, что все можно сделать с
помощью ИИ, на самом деле – нет. Раньше – до ИИ, после появления GitHub эйчары
считали, что всё скачано.
Выигрывают те, кто оказался в
нужное время, в нужном месте. То есть жители мегаполисов. Удаленка умерла. Не
понимают жизни те, кто говорит, что стоящий специалист однозначно найдет работу.
Если у такого специалиста нет возможности/желания уехать в мегаполис, то будь
он хоть оракулом, никому ничего не докажешь.
Я верил в будущее: развитие
средств связи улучшит и расширит возможности удаленной работы. Однако реальность
опять оказалась противоположной. Не смотря на улучшения и удешевления средств
связи, удаленной работы стало только меньше.
Сейчас занятие любым видом
творчества находится под вопросом. Написание книги было подарком аудитории
своих знаний в понятном удобочитаемом виде. Вместе с тем, автор тоже оставался
в плюсе, так как, благодаря своей книге, получал уважение в избранной области
знаний. Сейчас знания обесценились и вовсе не потому, что их стало больше,
просто люди стали считать, что доступ к ним стал проще. Но это не так.
Написание книг ради денег –
проигрышный вариант. Те авторы, кто этим занимаются, пишут липу. Потому, что за
написание книг платят копейки, при этом работа над книгой может занять годы труда.
В таком случае лучше писать статьи в журналы: работы меньше, денег больше.
Тем не менее, не пройдет много
времени, как вымрут оставшиеся создатели текстового контента, после 14-го года бросившие
бумагу вместе с печатным станком и ушедшие в онлайн, потому что печатать материалы
стало неоправданно дорого.
yurembo
«Что нового можно сказать о C++? Оказывается, очень
много.» - из предисловия Джона Влиссидеса к книге «Современное проектирование
на C++» Андрея
Александреску, 2001.
25 лет спустя, можно выразиться
точно так же: C++ развивается,
появляются новые стандарты языка, новые версии компиляторов, разрабатывается великое
множество софта с его помощью, а на поддержание унаследованного C/C++-кода затрачивается неимоверное
количество человеко-лет.
Я изучаю C++ более 20 лет, и в связи с причинами, указанными выше, предела в его изучении не наблюдается. Следовательно, по нему будут появляться новые обучающие материалы. Признаться, редкая книга по C++ представляет для меня неподдельный интерес. Пройдены все талмуды.
Между тем летом в издательстве
«Питер» на русском языке была издана книга Рича Йонца «100 ошибок C++ и как их
избежать». После того, как я впервые пробежался по оглавлению, то решил, что
это крайне стоящая книга. А теперь, прочитав её, могу предложить пару рекомендаций
относительно нее. Она написана в стиле книг Скотта Майерса: «Эффективное
использование C++»,
«Наиболее эффективное использование C++», etc.
В них автор брал проблему или какую-то возможность языка и подробно её
описывал.
Так и тут, каждая ошибка
описывается по следующему алгоритму. Во-первых, для рассмотрения берется
распространенная или не очень ошибка программирования на C++, ведь помимо работы программистом
автор занимается преподавательской деятельностью в высшем учебном заведении и воочию
наблюдает, где люди совершают ошибки. Рассматривается проблема, для решения
которой написан код, где произошла ошибка. Во-вторых, описывается анализ
ошибочного кода. В-третьих, приводится рекомендуемое решение вместе с кодом.
В книге обсуждаются проблемы
старого подхода к изучению ООП, говорится о прежних указаниях, которые не
прошли проверку временем, и теперь считаются вредными. Обсуждаются святые пути
обучения ООП, со временем ставшие греховными.
Книга состоит из 12 глав, распределенные
на три части. Первая глава представляет собой введение в материал. Ошибки,
рассматриваемые в первой части связаны с неправильным использованием языка,
когда разработчик может улучшить код и подходы к программированию, применяя
современные возможности C++ и стандартную библиотеку шаблонов. Глава 2
посвящена классам и типам данных — с акцентом на проектирование классов и
использование умных указателей. В главе 3 автор знакомит читателя с подводными
камнями программирования в целом, а также с функциями языка, которые, возможно,
стоит применять чаще. Глава 4 описывает недавние изменения в языке C++ и
методы, облегчающие решение довольно распространенных задач.
Во второй части книги обсуждаются
ошибки, унаследованные современным C++ от языка C, с учетом его исторических
корней. Многие решения, рассмотренные в этой части, можно успешно адаптировать
к современным условиям. Глава 5 посвящена привычкам и практикам, которые по
инерции переходят из C в C++, несмотря на наличие более эффективных подходов.
Глава 6 описывает устаревшие практики, популярные на заре программирования на
C++, которые до сих пор сохраняются в некоторых современных кодовых базах.
Ошибки, приведенные в третьей
части, отражают проблемы, часто встречающиеся в унаследованных кодовых базах,
где разработчик не может применить современные методы. Некоторые из этих
проблем можно решить, а качество кода — повысить. Глава 7 расскажет о
правильном проектировании классов и связанных с этим проблемах устойчивости
классов. Глава 8 рассматривает дополнительные аспекты проектирования классов и
ошибки, которые могут неожиданно привести к архитектурным проблемам. Глава 9
описывает операции классов, которые при неверной реализации могут вызвать
трудности. Глава 10 посвящена обработке системных ресурсов и проблемам,
возникающим при неправильном управлении ими. Глава 11 анализирует сложности,
возникающие при использовании функций и параметров. В главе 12 обсуждаются
проблемы, характерные для классического C++, которые по-прежнему встречаются и
в современных кодовых базах.
Как итог данного поста, горячо
рекомендую к прочтению эту книгу каждому C++-программисту независимо от квалификации и решаемых задач,
знаний не бывает слишком много.