Не смог удержаться )) Статья выглядит как наглядная иллюстрация: "что только не сделаешь, чтоб не писать на c++":
… почти полностью обойтись без стандартной библиотеки (прощайте Linq, StringFormatter, List, Dictionary), запретить операции выделения (=никаких классов, только структуры), рефлексию, отключить сборщик мусора и виртуальные вызовы, а также добавить несколько новых контейнеров, которые разрешено использовать (NativeArray и компания).
проверки на границы масивов в рантайме, и нарекания на скорость компиляции — улыбнули )) опять забывают — компиляция продукта производится единожды, но продук запускается "миллионы раз".
Мы можем получать ошибки, связанные с выходом за границу при попытке доступа, получим отличные сообщения об ошибках, у на будет поддерживаться отладчик, а скорость компиляции будет такая, о которой вы уж и позабыли, работая с C++.
резюмируя:
Мне самому весьма нравится писать код на C#. Однако традиционный C# — не самый лучший язык с точки зрения производительности.
Прошу простить за характер комментария — писал "с пылу с жару". Проводя ретроспективу вижу проф. дефформацию — приходится писать код под пару плаформ — linux x86 + arm, windows, и эксперименты wasm для души, и под-тюнивать сборку под компилятор(ы), читать verbose вывод смотреть на во что разворачиваются плюсы и чего потом стоят, и забыл об удобстве инструментов и систем сборок.
Лихо Вы замахнулись! Чтобы билдить C++ (с шаблонами, например boost) — систему сборки на java (gradle) приплели. А ведь так можно забыть, как напрямую использовать gcc для компиляции, что есть компиляция и линковка, неговоря о makefile'ах и всё что выше их. Почитайте-ка suckless
Как автор ЯП, который посвятил этой теме много времени, можете прокомментировать, почему выбрали концепцию-со-сборщиком-мусора?
Меня (как системного программиста на С++ и С, внимательно наблюдающего за Rust), удивляет это направление )) Почему (особенно, учитывая эту великолепную статю), всё меньше людей задаются вопросами, как создать лучшуюю-RAII, или ещё-лучшую модель типов, или ещё-лучшие-zero-cost-abstractions, или ещё-лучший-хаскелл? ))
Я ненавижу range-based цикл for, потому что он мотивирует людей писать его везде где нужно и где не нужно, из-за чего зачастую ухудшается лаконичность кода
Стандарт словно движется в сторону Java Streams или LINQ. А ценой лаконичности будет понижение производительности, когда неофиты набегут и будут совать это везде
Если исключить из ЯП (Язык Программирования) возможность наследования, статические методы и атрибуты, абстрактные классы, то в проекте код станет минимум на 10-20 процентов меньше.
Не могу согласится (как закоренелый c++-вик). В качестве простого примера, посоветую посмотреть на Go — там отсутствуют шаблоны/генерики, и это порождает огромное дублирование кода (boilerplate и "церемонию").
Если сейчас NN определяет теги по видео, то возможно ли как в DeepDream — запустить NN в обратную сторону, указав теги по вкусу, каждый раз получая уникальное сгенерированное видео? ))
Нет дженериков (универсальных шаблонов. — прим.перев.).
Всё, что вам придётся сделать, это написать лишь на 2-3 строчки больше. Но зато, с другой стороны, это сделает ваш код более чистым и понятным.
Не представляю реализацию мат.библиотеки: vec2, vec3, vec4, mat3, mat4, quat, для разных типов, хотя-бы float и double, с оверхедом всего-лишь «в пару строчек» ))
Чем плодить многочисленные, несовместимые между собой запчасти к человеческому телу, проще сразу изготовить систему жизнеобеспечения мозга с нейроинтерфейсом.
Не смог удержаться )) Статья выглядит как наглядная иллюстрация: "что только не сделаешь, чтоб не писать на c++":
проверки на границы масивов в рантайме, и нарекания на скорость компиляции — улыбнули )) опять забывают — компиляция продукта производится единожды, но продук запускается "миллионы раз".
резюмируя:
Прошу простить за характер комментария — писал "с пылу с жару". Проводя ретроспективу вижу проф. дефформацию — приходится писать код под пару плаформ — linux x86 + arm, windows, и эксперименты wasm для души, и под-тюнивать сборку под компилятор(ы), читать verbose вывод смотреть на во что разворачиваются плюсы и чего потом стоят, и забыл об удобстве инструментов и систем сборок.
Лихо Вы замахнулись! Чтобы билдить C++ (с шаблонами, например boost) — систему сборки на java (gradle) приплели. А ведь так можно забыть, как напрямую использовать
gcc
для компиляции, что есть компиляция и линковка, неговоря оmakefile
'ах и всё что выше их. Почитайте-ка sucklessЕсть ещё один (тьюринг-полный) способ визуального программирования :D
Не смог удержаться, чтобы не дополнить этим
Как автор ЯП, который посвятил этой теме много времени, можете прокомментировать, почему выбрали концепцию-со-сборщиком-мусора?
Меня (как системного программиста на С++ и С, внимательно наблюдающего за Rust), удивляет это направление )) Почему (особенно, учитывая эту великолепную статю), всё меньше людей задаются вопросами, как создать лучшуюю-RAII, или ещё-лучшую модель типов, или ещё-лучшие-zero-cost-abstractions, или ещё-лучший-хаскелл? ))
Почему в списке не вибраторов с ИИ, управляемых с apple watch? :)
Завершение статьи, конечно, фееричное:
Стандарт словно движется в сторону Java Streams или LINQ. А ценой лаконичности будет понижение производительности, когда неофиты набегут и будут совать это везде
Самый простой способ создания игр (не только реализации) выглядит так (YouTube):
Есть ещё 2 интересных проекта: VoxelQuest и Monadia
Не могу согласится (как закоренелый c++-вик). В качестве простого примера, посоветую посмотреть на Go — там отсутствуют шаблоны/генерики, и это порождает огромное дублирование кода (boilerplate и "церемонию").
Можно ждать поддержку QMake / Qbs?
Как насчёт потери зрения, рук или альцгеймер / рак?
Если сейчас NN определяет теги по видео, то возможно ли как в DeepDream — запустить NN в обратную сторону, указав теги по вкусу, каждый раз получая уникальное сгенерированное видео? ))
Зачем размещать двигатели в форме "крыла", если оно таковым не является, подъёмной силы не создаёт и элеронов не имеет?
Не представляю реализацию мат.библиотеки: vec2, vec3, vec4, mat3, mat4, quat, для разных типов, хотя-бы float и double, с оверхедом всего-лишь «в пару строчек» ))
Как оболочка в Ghost in the Shell :)
КДПВ таки привлекла. Киберпанк который мы заслуживаем