если отказаться от std::vector* и реализовать свой итератор с вектором интересно было бы быстрее? наверно не совсем, но если писать свой вектор, своё выделение памяти и свои итераторы в рамках контейнера, как бы тут была скорость, понятно что можно еще шлифануть это всё SIMD наверно.
я не експерт просто посмотрел на код в шапке. я щас как раз тесчу свои контейнеры на своих задачках...
*ну тоесть просто написать свой array с той модной защитой интрузивной + своё выделение.
std::ptrdiff_t поидее можно будет превратить в такой тип указателя и повесить на итератор специфический, если я правильно понимаю. там еще тип тривиал можно будет ускорить поидее, но возможно оно и в стандартном векторе тоже ускоряет... ну вообщем интересно.
наверно, поэтому пока так просто и написано, чтобы не запутаться типо.
https://youtu.be/vXaWOJTCYNg сказ о том, как mojang unit-тесты для себя открыли. Если нужна дата, сами найдете, когда внутри бинарников API появилось.
Это примерно отражает культуру разработки компании. Если считать по таксономии автора, Minecraft до, примерно, 1.13 (2018) пребывал в первой фазе. 1.13 - первая версия, от которой можно смело считать переход на (частичный) data-driven подход. Data packs того же толка нововведения. А отсутствие хоть сколько стабильного modding API чем назвать? Если ядро настолько нестабильно, что даже Forge и т.п. за всё время стабильную прослойку не написали? Кульминацией этого цирка стал Fabric, где захукать чей-то код на свой страх и риск сделали нормой.
но своего примера - своего взгляда не показали!
По-моему автор уже столько всего нагляделся, что остается только покуривать в сторонке и грести вперед к релизу в меру сил. Иными словами - единственно верного подхода не выходит.
так в срезе примеров типо:
вода. тезисы, маркеры слов(игры/технологии/движки) какие-то связующие нюансы не выходящие от, воды.
class A : public B {};
вода. тезисы, маркеры слов(игры/технологии/движки) какие-то связующие нюансы не выходящие от, воды.
---
мы не отвечаем же на вопросы, а только плодим сущности, был бы пример конкретики взгляда, было бы понятнее о чем речь.
---
был бы пет проект как пример, вы бы могли тоже написать ничего не понятно, а так мы просто читаем перечисление сорофанного радио, что "было бы лучше" - остаётся теорией, оно не подкреплено какими-то примерами конкретными, в этом направлении вектора. а так пока воды больше, напиши вам, что это димагогия, вы напишите, что это не понятно, выдай вам готовый пет-проект с ошибками, вы скорее всего так же продублируете, возможно, тезис, что ничего не понятно.
---
и именно поэтому есть такие движки, как мороввинд, даггерфол, это квинтессенция тех кто говорит как бы было лучше, и тех кто делает продукт поидее.
тоесть те кто создают, они делают иначе и они могут не хотеть говорить почему они так делают, а есть те кто только говорит определения и общие принципы, не выкатывая своих подкреплений взглядом кодом типо, тоесть банальная проверка, вы же не отрицаете, что всё перепроверять приходится, даже когда читаешь пейпер, но там уровень обсуждения направлен только на бриф, тоесть цель обсуждения.
так правильно это помойму называется димагогия, мы накидываем тезисов, но сути в этом нету, а там где есть конкретика есть какие-то критерии же поидее.
я хочу подмножество Forth from scratch вытащить в С синтаксис сохраняя подгрузку слов в форт и ответные функции
тоесть база Forth <-> даёт С и добавляем слова в форт, добавляем функцию в С, получается следующий язык С как выходец из Форта, но возможно так нельзя сделать )
Автор спасибо, вы сделали правильно, что поняли, что шишки приходят через собственное включение в ситуацию, сразу определили, что вам интересно и по цепочке появляющихся вопросов как я понял вы сразу смотрите фундаментальные пробелы(то что вы это поняли это условно мотивация для получения знаний). то, что сейчас так у вас на локальном компе нормальная ситуация, при определенном подходе, и желании освоитесь и перепишете потом, городите ошибки, за вас никто их не сделает, главное потом откалиброваться и устаканиться на правильных практиках после заполнения пробелов. можете так же начать игры делать, сначала 2д(локально), потом 3д(локально). там будет(локально) вот прям вообще наглядно. не забывайте про флаги сборки и санитайзерах, инструментарий - валгринд, дебагер, иногда годболт удобно с включенным PVS, иногда яву можно подключать для прототипа, потом и на С++ можно перейти или Раст, если вам действительно интересен С, потом вы столкнотёсь с некоторыми особенностями просто.
отдельно можно добавить, надо где-то на старте помимо желаний, делать практику, надо где-то отыскать тонны задач(задачи на последовательности, на хитрый счет какой-нибудь, на контейнеры(это отдельный челенж например делаем задачи(100 задач на каждом контейнере) и всё на ифах как пример, фиксируем ошибки логику, упор на привыкание к контейнерам), отдельно на деревья и так далее ), и в расслабленном состоянии там решать их так как вам хочется(чисто логически не подглядывая), потом нормально(типо попытаться понять), ну и так далее.
исходя из вашей глубины обзоров обсуждать вертикальную V без горизонтальной V не имеет смысла, да и плюс надо видеть структуру минимального запускаемого примера! поэтому получается, мы можем трактовать, как уб словесное обсуждение (просто словами), то что упрощенно можно показать, в подверждении того что вы хотели сказать прикрепляя свои примеры - свой взгляд, чтобы за вашими тезисами были не как говорят слухи про "вот говорят, что у майнкрафта был плохой код в 2010 году", ну говорят и? ну и пусть говорят, сдесь и сейчас в статье вы перечисляете движки или игры, но своего примера - своего взгляда не показали!
нету вашей линии, вашего ответа на всё это, лично вашего взгляда, потомучто мы не на экзамене, где повторить сарафанку это самоцель, нет это не цель, должны быть критерии какие-то, что конкретно в тех движках, что конкретно в коде майнкрафта не так, и я думаю вы не расскажете об этом, вы среди прочего прилинковали ссылки на конференции, но те конференции придерживаются правила чистоты своих рассуждений, по крайней мере тех, что я смотрел, там нет воды, нет мне показалось, там есть какая-то конструктивщина. А в примере как создать обьект какая конструктивщина, если условных нюансов дофига! А вы показываете на голубом глазу какой-то там из наивных. Попробуй догодайся, что вы имели ввиду.
Студия, которая десять лет прожила на г...коде это Mojang и оригинальная Java-кодовая база Minecraft, которую сообщество и сами разработчики в шутку называли "нельзя удалять строки", но это не помешало игре стать самой продаваемой в истории.
понял значит вы не осилили впринципе подход вокселей
в целом как я понял вы программист прикладного уровня, у вас страдает описание => всего, буквально вам всего не хватает в каждой статье, нет ни одного адекватного примера из раздела геймдев снизу вверх, вы наверху, как будто тот самоуверенный геймдизайнер где, чтобы он ввёл хотелку надо сделать много чего.
почему так? я сужу по вашему контенту, вам важнее форма подачи, но не конкретность, хотелки обзора фишек могут обгонять теоретическую базу, и мы скатываемся в контент коих миллионы всега была, а должно было быть по другому, обзор снизу вверх, где видно, что вы вообще хотели, и о чем вы пишите.
ну так если порассуждать, это и про черных лебедей и про бабочек - эффекты, тоесть как алгоритм считает мир и его граничащие состояния и как эта новая реальность существует там где существуют люди(солнце, погода, ветер, какие-то факторы, магнитность, кароче дофига факторов, я прихожу к тому что факторов дофига просто), суть то в чем, припарковаться из пробки без дтп, или там где нет пробки без дтп - это два каких-то случая, нам кажется в нашей ограниченности что на нашем "спектре" всё считаемо числами прям как Пифагору в его время, в действительности всё может быть гораздо сложнее... ...так как мы ограничены, мы порождаем в своём "спектре" новые взаимодействия, тоесть непредсказуемости...
как мы докатились до того что нда цель ответа, на ключевые моменты самого докладчика статьи, зачем тогда вообще статью писать, о чем не можем рассказать/доказать/показать суть искажается при кусковом обзоре же...)
(action). Что я для этого сделал? Подтянул теорию.
а есть исследования, как теория помогает в практике? тоесть условно человек будет изучать граф, и потом он успешно решил задачу с граффом или всёже джуну придётся сделать своё исследование с граффами-кстати ошибочное, но уверенности будет больше чем с теорией или нет?
Тоесть получается образно, повторить ту книжечку зеленую Седжвика, но повторить мало придётся провести исследование, тоесть проверить. Как джун узнает что быстрее дейкстра или А-стар интересно, да и я не знаю, тоесть это же надо сначала сделать потом зная уже оперировать, а так получается мы обгоняем результат, вроде да А-стар быстрее дейкстра, но следующий пункт покажи, он в вопросе, например, отсутствует, получается. Тоесть теория она такая или нет?)
нет вообще это гениально,
мне ии на ревью пишет например, и я кажется начал выкупать сложность.
смотри тут ты сделал инициализацию 10 элементами, увеличив каунт до 10, а тут ты сразу вызвал clear это не правильно, исправляй )
вы всё верно говорити, но приколы следующие и они фундаментальные.
взаимодействие кода с ОС
менеджмент памяти
подсчет ссылок, время жизни и владение, базовые примитивы/структуры/абстракции-контейнеры, покрыть это минимумом возможностей
математика не только настройка мат аппарата, а еще всё то, что даст удобство в разделе математики
всё это тестами еще покрыть, и то что ниже тоже после ввода в ядро.
апи какое-то
самое интересное это, когда сталкиваются 2 мира, стиль без абстракций и связок, но на самом деле тут идёт таже связь, просто её делает не компилятор, а человек
момент второй использование абстракций, как вы и написали пофиг на сотнютысячную наносекунду, например, в каком-то пазле.
когда происходит момент, а вот тут интересно, когда добавляется ко всем концепциям владение и менеджмент иерархией, вы же не хотите руками выбирать узлы, нет обычно хотят архитектурного удобства зарегестрировал иерархию, алгоритм её видит и учитывает позицию.
соотвтветственно получается всё зависит от задачи и желания, написать можно и DOD вы правы, а можно тоже самое написать с минимальным набором механик языка(тоесть да у языка есть механики!) и архитектурных подходов, где придётся знать какие-то тонкости!.
например, какой смысл писать готу сразу тут и щас на чистую, не имея версии без готу с подробным описанием в документации, что происходит. лично я так считаю.
так вот когда мы всё это связываем нить-концепция-смысл, укладываем в некую архитектуру, где механики языка либо изучены или подбраны. мы же не будем вводить как я выше пример привел. тоесть где-то придётся понять как согласовать стыки этих миров, например уи и клики в пазл, и прочее и прочее и чтоб удобно было, а в пазле, чтобы абстракции были удобные так скажем читаемые с докой наверно.
НО, всё это можно скипнуть и просто накатить весь пазл в одном цикле это безусловно и 3д так же можно написать, суть как раз в том, чтобы сохраняя накладные расходы, имея какие-то макеты(назовём их так) мы переиспользуем свою архитектуру и используем её лучшие качества, о которых мы позаботились в ядре так сказать, но 3д да можно тоже в дод написать, просто начать писать всё написать, и потом наверно рефакторить, потомучто дод - это очень много кода, где на словах мы делаем код для проца, а на деле окажется нужны vtable[], потомучто будут случаи с его преимуществом типо.
Итоги - всё в меру, нет смысла уходить в полный DOD, нет смысла уходить в оверООП, истина где-то посередине на стыках этих двух миров и на кончиках пальцев от механики языка типо.
там проблема как с созданием своего УИ, походу да есть тонкости именно по удобству, но минимально допустимой ценой, текстовый редактор еще ничего.
текстовый редактор условно рисует квадратики, УИ тоже, но там есть метод кода лапши, который не хочется писать/читать, а если более оптимальный на обьектах, но с ООП, да чутка теряем в производительности, но удобство перекрывает всё в этот момент...
самое интересное, что у вас всего 2 маленьких примера, и буквально всё.
нет ни замеров, ни конкретных примеров почему тот или иной подход не совсем приятный.
у Кейси Муратори свой клин код, у Дяди Боба свой клин клод. у них у обоих клин код.
они оба говорят об одном и том же, Кейси говорит за минимализм без оверинжинирга, но на С писать не удобно, значит чуть по-выше это классы/деструкторы.
ну кстати, ThinkMatrix(есть серии про 3д) явно показывает как раз не успех, он показывает просто шаги, к которым если применить некоторые концепты(обучения на себя), то становится всё равно не понятно, так мы приходим к пониманию, что без фундаментальных знаний никак и экзаменатор уже ты сам, далее мы просто пытаемся качнуть в сторону дисциплины, тут есть несколько стратегий.
самая простая просто пытаться понять и ничего не фиксировать.
второй уровень начать перерабатывать материал, и усваивать концепции, начать больше делать набросков(да тут как с рисунками, проверка гипотезы и постановка требований в большей части конкретизирует саму суть желания), ну на этом этапе можно начать делать не правильно и начать пытаться понять почему не правильно, или делать правильно очень долго натыкаяясь на ошибки! а потом еще ошибки и еще и на этом этапе всё ошибки. так пока ошибки можно начать и математику изучать, и сразу всю фундаменталку по коллизии зависимости знаний темы-главы.(на этом этапе хорошо задачки еще решать сначала неосознанно просто решать можно, потом через время, когда что-то поняли вернуться еще порешать, интересные инсайты тоже)
третий уровень тут мы прошли все тернии матеши, кто-то умеет писать музыку, ктото еще что, тут должно придти понимание, что и почему мы делаем, а если не понимаем уже понимаем как это наработать.
Важно понять, что это не прод опыт, а поиск своих личных хотелок, и как бы я даже не знаю, конечно когда видишь сразу 3д за час, пускай и воксель бесконечный с многопоточкой и всей базой или не воксель. Надо понять, что за час с нуля это не подьемно физически и вообще, тоесть придётся капнуть ошибок ого-го
я и без ии понимаю, что лучше на коленке сделать карточную игру, делая как получилось(как не покажут нигде, потомучто антипатерн и так нельзя), но с ИИ, сделать такой проект невозможно без знаний, поэтому лучше сделать как попало, во первых в простом подходе видно косяки логики, во вторых, ну признаться честно, на тайлах и если пазл простой там буквально только логику написать и прорисовку. а с архитектурой и паттернами, это в долгую, предположим пазл-любимец будет, тогда играя в плохую реализацию, можно по-тихоньку допиливать архитектуру мечты пазла, типо УИ, удобные классы..... ) с ИИ я бы не стал такое делать не знаю почему, там чисто какие-то реально вопросы, "а что это/а это", что-то большее это чересчур )
только небольшая поправочка, в С и Раст это определенный подход в котором нету нормального наследования, поэтому С++ не вытиснить, он органично вписывается куда надо, там где на С и Расте будет портянка нечитаемого кода с багованным наследованием(Раст от одного этого тейка или недоделки уже отлетает просто осознанно).
что тут обсуждать. весь цикл от кристала до ПО - свой уникальный и тут всё ясно, даже язык свой. всякие чипы, уникальные технологии и прочее, альтернативы просто нету такой продукции, даже у мака нету альтернативы - полностью уникальная продукция, которая вся вендорлок получается(потомучто ПО в синергии с железом). это как заявлять, что Нвидиа будет работать в ОпенБСД, например.
если отказаться от
std::vector*и реализовать свой итератор с вектором интересно было бы быстрее? наверно не совсем, но если писать свой вектор, своё выделение памяти и свои итераторы в рамках контейнера, как бы тут была скорость, понятно что можно еще шлифануть это всё SIMD наверно.я не експерт просто посмотрел на код в шапке. я щас как раз тесчу свои контейнеры на своих задачках...
*ну тоесть просто написать свой array с той модной защитой интрузивной + своё выделение.
std::ptrdiff_tпоидее можно будет превратить в такой тип указателя и повесить на итератор специфический, если я правильно понимаю. там еще тип тривиал можно будет ускорить поидее, но возможно оно и в стандартном векторе тоже ускоряет... ну вообщем интересно.наверно, поэтому пока так просто и написано, чтобы не запутаться типо.
так в срезе примеров типо:
вода. тезисы, маркеры слов(игры/технологии/движки) какие-то связующие нюансы не выходящие от, воды.
вода. тезисы, маркеры слов(игры/технологии/движки) какие-то связующие нюансы не выходящие от, воды.
---
мы не отвечаем же на вопросы, а только плодим сущности, был бы пример конкретики взгляда, было бы понятнее о чем речь.
---
был бы пет проект как пример, вы бы могли тоже написать ничего не понятно, а так мы просто читаем перечисление сорофанного радио, что "было бы лучше" - остаётся теорией, оно не подкреплено какими-то примерами конкретными, в этом направлении вектора. а так пока воды больше, напиши вам, что это димагогия, вы напишите, что это не понятно, выдай вам готовый пет-проект с ошибками, вы скорее всего так же продублируете, возможно, тезис, что ничего не понятно.
---
и именно поэтому есть такие движки, как мороввинд, даггерфол, это квинтессенция тех кто говорит как бы было лучше, и тех кто делает продукт поидее.
тоесть те кто создают, они делают иначе и они могут не хотеть говорить почему они так делают, а есть те кто только говорит определения и общие принципы, не выкатывая своих подкреплений взглядом кодом типо, тоесть банальная проверка, вы же не отрицаете, что всё перепроверять приходится, даже когда читаешь пейпер, но там уровень обсуждения направлен только на бриф, тоесть цель обсуждения.
так правильно это помойму называется димагогия, мы накидываем тезисов, но сути в этом нету, а там где есть конкретика есть какие-то критерии же поидее.
классная у вас идея.
я хочу подмножество Forth from scratch вытащить в С синтаксис сохраняя подгрузку слов в форт и ответные функции
тоесть база Forth <-> даёт С и добавляем слова в форт, добавляем функцию в С, получается следующий язык С как выходец из Форта, но возможно так нельзя сделать )
Автор спасибо, вы сделали правильно, что поняли, что шишки приходят через собственное включение в ситуацию, сразу определили, что вам интересно и по цепочке появляющихся вопросов как я понял вы сразу смотрите фундаментальные пробелы(то что вы это поняли это условно мотивация для получения знаний). то, что сейчас так у вас на локальном компе нормальная ситуация, при определенном подходе, и желании освоитесь и перепишете потом, городите ошибки, за вас никто их не сделает, главное потом откалиброваться и устаканиться на правильных практиках после заполнения пробелов. можете так же начать игры делать, сначала 2д(локально), потом 3д(локально). там будет(локально) вот прям вообще наглядно. не забывайте про флаги сборки и санитайзерах, инструментарий - валгринд, дебагер, иногда годболт удобно с включенным PVS, иногда яву можно подключать для прототипа, потом и на С++ можно перейти или Раст, если вам действительно интересен С, потом вы столкнотёсь с некоторыми особенностями просто.
отдельно можно добавить, надо где-то на старте помимо желаний, делать практику, надо где-то отыскать тонны задач(задачи на последовательности, на хитрый счет какой-нибудь, на контейнеры(это отдельный челенж например делаем задачи(100 задач на каждом контейнере) и всё на ифах как пример, фиксируем ошибки логику, упор на привыкание к контейнерам), отдельно на деревья и так далее ), и в расслабленном состоянии там решать их так как вам хочется(чисто логически не подглядывая), потом нормально(типо попытаться понять), ну и так далее.
путь долгий, желаю вам успехов.
Скрытый текст
исходя из вашей глубины обзоров обсуждать вертикальную V без горизонтальной V не имеет смысла, да и плюс надо видеть структуру минимального запускаемого примера! поэтому получается, мы можем трактовать, как уб словесное обсуждение (просто словами), то что упрощенно можно показать, в подверждении того что вы хотели сказать прикрепляя свои примеры - свой взгляд, чтобы за вашими тезисами были не как говорят слухи про "вот говорят, что у майнкрафта был плохой код в 2010 году", ну говорят и? ну и пусть говорят, сдесь и сейчас в статье вы перечисляете движки или игры, но своего примера - своего взгляда не показали!
нету вашей линии, вашего ответа на всё это, лично вашего взгляда, потомучто мы не на экзамене, где повторить сарафанку это самоцель, нет это не цель, должны быть критерии какие-то, что конкретно в тех движках, что конкретно в коде майнкрафта не так, и я думаю вы не расскажете об этом, вы среди прочего прилинковали ссылки на конференции, но те конференции придерживаются правила чистоты своих рассуждений, по крайней мере тех, что я смотрел, там нет воды, нет мне показалось, там есть какая-то конструктивщина. А в примере как создать обьект какая конструктивщина, если условных нюансов дофига! А вы показываете на голубом глазу какой-то там из наивных. Попробуй догодайся, что вы имели ввиду.
понял значит вы не осилили впринципе подход вокселей
в целом как я понял вы программист прикладного уровня, у вас страдает описание => всего, буквально вам всего не хватает в каждой статье, нет ни одного адекватного примера из раздела геймдев снизу вверх, вы наверху, как будто тот самоуверенный геймдизайнер где, чтобы он ввёл хотелку надо сделать много чего.
почему так? я сужу по вашему контенту, вам важнее форма подачи, но не конкретность, хотелки обзора фишек могут обгонять теоретическую базу, и мы скатываемся в контент коих миллионы всега была, а должно было быть по другому, обзор снизу вверх, где видно, что вы вообще хотели, и о чем вы пишите.
ну так если порассуждать, это и про черных лебедей и про бабочек - эффекты, тоесть как алгоритм считает мир и его граничащие состояния и как эта новая реальность существует там где существуют люди(солнце, погода, ветер, какие-то факторы, магнитность, кароче дофига факторов, я прихожу к тому что факторов дофига просто), суть то в чем, припарковаться из пробки без дтп, или там где нет пробки без дтп - это два каких-то случая, нам кажется в нашей ограниченности что на нашем "спектре" всё считаемо числами прям как Пифагору в его время, в действительности всё может быть гораздо сложнее... ...так как мы ограничены, мы порождаем в своём "спектре" новые взаимодействия, тоесть непредсказуемости...
как мы докатились до того что нда цель ответа, на ключевые моменты самого докладчика статьи, зачем тогда вообще статью писать, о чем не можем рассказать/доказать/показать суть искажается при кусковом обзоре же...)
а есть исследования, как теория помогает в практике? тоесть условно человек будет изучать граф, и потом он успешно решил задачу с граффом или всёже джуну придётся сделать своё исследование с граффами-кстати ошибочное, но уверенности будет больше чем с теорией или нет?
Тоесть получается образно, повторить ту книжечку зеленую Седжвика, но повторить мало придётся провести исследование, тоесть проверить. Как джун узнает что быстрее дейкстра или А-стар интересно, да и я не знаю, тоесть это же надо сначала сделать потом зная уже оперировать, а так получается мы обгоняем результат, вроде да А-стар быстрее дейкстра, но следующий пункт покажи, он в вопросе, например, отсутствует, получается. Тоесть теория она такая или нет?)
нет вообще это гениально,
мне ии на ревью пишет например, и я кажется начал выкупать сложность.
вы всё верно говорити, но приколы следующие и они фундаментальные.
взаимодействие кода с ОС
менеджмент памяти
подсчет ссылок, время жизни и владение, базовые примитивы/структуры/абстракции-контейнеры, покрыть это минимумом возможностей
математика не только настройка мат аппарата, а еще всё то, что даст удобство в разделе математики
всё это тестами еще покрыть, и то что ниже тоже после ввода в ядро.
апи какое-то
самое интересное это, когда сталкиваются 2 мира, стиль без абстракций и связок, но на самом деле тут идёт таже связь, просто её делает не компилятор, а человек
момент второй использование абстракций, как вы и написали пофиг на сотнютысячную наносекунду, например, в каком-то пазле.
когда происходит момент, а вот тут интересно, когда добавляется ко всем концепциям владение и менеджмент иерархией, вы же не хотите руками выбирать узлы, нет обычно хотят архитектурного удобства зарегестрировал иерархию, алгоритм её видит и учитывает позицию.
соотвтветственно получается всё зависит от задачи и желания, написать можно и DOD вы правы, а можно тоже самое написать с минимальным набором механик языка(тоесть да у языка есть механики!) и архитектурных подходов, где придётся знать какие-то тонкости!.
например, какой смысл писать готу сразу тут и щас на чистую, не имея версии без готу с подробным описанием в документации, что происходит. лично я так считаю.
так вот когда мы всё это связываем нить-концепция-смысл, укладываем в некую архитектуру, где механики языка либо изучены или подбраны. мы же не будем вводить как я выше пример привел. тоесть где-то придётся понять как согласовать стыки этих миров, например уи и клики в пазл, и прочее и прочее и чтоб удобно было, а в пазле, чтобы абстракции были удобные так скажем читаемые с докой наверно.
НО, всё это можно скипнуть и просто накатить весь пазл в одном цикле это безусловно и 3д так же можно написать, суть как раз в том, чтобы сохраняя накладные расходы, имея какие-то макеты(назовём их так) мы переиспользуем свою архитектуру и используем её лучшие качества, о которых мы позаботились в ядре так сказать, но 3д да можно тоже в дод написать, просто начать писать всё написать, и потом наверно рефакторить, потомучто дод - это очень много кода, где на словах мы делаем код для проца, а на деле окажется нужны vtable[], потомучто будут случаи с его преимуществом типо.
Итоги - всё в меру, нет смысла уходить в полный DOD, нет смысла уходить в оверООП, истина где-то посередине на стыках этих двух миров и на кончиках пальцев от механики языка типо.
там проблема как с созданием своего УИ, походу да есть тонкости именно по удобству, но минимально допустимой ценой, текстовый редактор еще ничего.
текстовый редактор условно рисует квадратики, УИ тоже, но там есть метод кода лапши, который не хочется писать/читать, а если более оптимальный на обьектах, но с ООП, да чутка теряем в производительности, но удобство перекрывает всё в этот момент...
самое интересное, что у вас всего 2 маленьких примера, и буквально всё.
нет ни замеров, ни конкретных примеров почему тот или иной подход не совсем приятный.
у Кейси Муратори свой клин код, у Дяди Боба свой клин клод. у них у обоих клин код.
они оба говорят об одном и том же, Кейси говорит за минимализм без оверинжинирга, но на С писать не удобно, значит чуть по-выше это классы/деструкторы.
ну кстати, ThinkMatrix(есть серии про 3д) явно показывает как раз не успех, он показывает просто шаги, к которым если применить некоторые концепты(обучения на себя), то становится всё равно не понятно, так мы приходим к пониманию, что без фундаментальных знаний никак и экзаменатор уже ты сам, далее мы просто пытаемся качнуть в сторону дисциплины, тут есть несколько стратегий.
самая простая просто пытаться понять и ничего не фиксировать.
второй уровень начать перерабатывать материал, и усваивать концепции, начать больше делать набросков(да тут как с рисунками, проверка гипотезы и постановка требований в большей части конкретизирует саму суть желания), ну на этом этапе можно начать делать не правильно и начать пытаться понять почему не правильно, или делать правильно очень долго натыкаяясь на ошибки! а потом еще ошибки и еще и на этом этапе всё ошибки. так пока ошибки можно начать и математику изучать, и сразу всю фундаменталку по коллизии зависимости знаний темы-главы.(на этом этапе хорошо задачки еще решать сначала неосознанно просто решать можно, потом через время, когда что-то поняли вернуться еще порешать, интересные инсайты тоже)
третий уровень тут мы прошли все тернии матеши, кто-то умеет писать музыку, ктото еще что, тут должно придти понимание, что и почему мы делаем, а если не понимаем уже понимаем как это наработать.
Важно понять, что это не прод опыт, а поиск своих личных хотелок, и как бы я даже не знаю, конечно когда видишь сразу 3д за час, пускай и воксель бесконечный с многопоточкой и всей базой или не воксель. Надо понять, что за час с нуля это не подьемно физически и вообще, тоесть придётся капнуть ошибок ого-го
я и без ии понимаю, что лучше на коленке сделать карточную игру, делая как получилось(как не покажут нигде, потомучто антипатерн и так нельзя), но с ИИ, сделать такой проект невозможно без знаний, поэтому лучше сделать как попало, во первых в простом подходе видно косяки логики, во вторых, ну признаться честно, на тайлах и если пазл простой там буквально только логику написать и прорисовку. а с архитектурой и паттернами, это в долгую, предположим пазл-любимец будет, тогда играя в плохую реализацию, можно по-тихоньку допиливать архитектуру мечты пазла, типо УИ, удобные классы..... ) с ИИ я бы не стал такое делать не знаю почему, там чисто какие-то реально вопросы, "а что это/а это", что-то большее это чересчур )
кажется вроде недавно 4 было, уже 6 версия, как его запускать интересно ), может что-то отключить можно, не пробовал
только небольшая поправочка, в С и Раст это определенный подход в котором нету нормального наследования, поэтому С++ не вытиснить, он органично вписывается куда надо, там где на С и Расте будет портянка нечитаемого кода с багованным наследованием(Раст от одного этого тейка или недоделки уже отлетает просто осознанно).
поидее библиотеку надо собрать
что тут обсуждать. весь цикл от кристала до ПО - свой уникальный и тут всё ясно, даже язык свой. всякие чипы, уникальные технологии и прочее, альтернативы просто нету такой продукции, даже у мака нету альтернативы - полностью уникальная продукция, которая вся вендорлок получается(потомучто ПО в синергии с железом). это как заявлять, что Нвидиа будет работать в ОпенБСД, например.
поидее надо отконфигурировать настроки сами