Sorry, is this a joke? You asked most of the interview (have no idea why) Roberto in what language he would have re-implement Lua WM (although everyone knows that it is good for embedded systems, or as lightweight glue), and then suddenly cut off the conversation after questions about his book.
Не смог удержаться )) Статья выглядит как наглядная иллюстрация: "что только не сделаешь, чтоб не писать на 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 в обратную сторону, указав теги по вкусу, каждый раз получая уникальное сгенерированное видео? ))
После такого выпада, конструктивный диалог закончился. Да и до этого момента выглядел как просто троллирование плюсов.
Не смог удержаться )) Статья выглядит как наглядная иллюстрация: "что только не сделаешь, чтоб не писать на 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 в обратную сторону, указав теги по вкусу, каждый раз получая уникальное сгенерированное видео? ))