Pull to refresh
4
0
Юрий Наконечный @Inobelar

C++ Developer

Send message

Не смог удержаться )) Статья выглядит как наглядная иллюстрация: "что только не сделаешь, чтоб не писать на c++":


… почти полностью обойтись без стандартной библиотеки (прощайте Linq, StringFormatter, List, Dictionary), запретить операции выделения (=никаких классов, только структуры), рефлексию, отключить сборщик мусора и виртуальные вызовы, а также добавить несколько новых контейнеров, которые разрешено использовать (NativeArray и компания).



проверки на границы масивов в рантайме, и нарекания на скорость компиляции — улыбнули )) опять забывают — компиляция продукта производится единожды, но продук запускается "миллионы раз".


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

резюмируя:


Мне самому весьма нравится писать код на C#. Однако традиционный C# — не самый лучший язык с точки зрения производительности.

Прошу простить за характер комментария — писал "с пылу с жару". Проводя ретроспективу вижу проф. дефформацию — приходится писать код под пару плаформ — linux x86 + arm, windows, и эксперименты wasm для души, и под-тюнивать сборку под компилятор(ы), читать verbose вывод смотреть на во что разворачиваются плюсы и чего потом стоят, и забыл об удобстве инструментов и систем сборок.

Подскажите, не даст ли больший выиграш переход на WASM, вместо таких оптимизаций?

Лихо Вы замахнулись! Чтобы билдить C++ (с шаблонами, например boost) — систему сборки на java (gradle) приплели. А ведь так можно забыть, как напрямую использовать gcc для компиляции, что есть компиляция и линковка, неговоря о makefile'ах и всё что выше их. Почитайте-ка suckless

Есть ещё один (тьюринг-полный) способ визуального программирования :D


Не смог удержаться, чтобы не дополнить этим


Куча камней

Как автор ЯП, который посвятил этой теме много времени, можете прокомментировать, почему выбрали концепцию-со-сборщиком-мусора?


Меня (как системного программиста на С++ и С, внимательно наблюдающего за Rust), удивляет это направление )) Почему (особенно, учитывая эту великолепную статю), всё меньше людей задаются вопросами, как создать лучшуюю-RAII, или ещё-лучшую модель типов, или ещё-лучшие-zero-cost-abstractions, или ещё-лучший-хаскелл? ))

Почему в списке не вибраторов с ИИ, управляемых с apple watch? :)

Завершение статьи, конечно, фееричное:


Я ненавижу range-based цикл for, потому что он мотивирует людей писать его везде где нужно и где не нужно, из-за чего зачастую ухудшается лаконичность кода

Стандарт словно движется в сторону Java Streams или LINQ. А ценой лаконичности будет понижение производительности, когда неофиты набегут и будут совать это везде

Самый простой способ создания игр (не только реализации) выглядит так (YouTube):
Конференция разработчиков видеоигр 1979

Есть ещё 2 интересных проекта: VoxelQuest и Monadia

Если исключить из ЯП (Язык Программирования) возможность наследования, статические методы и атрибуты, абстрактные классы, то в проекте код станет минимум на 10-20 процентов меньше.

Не могу согласится (как закоренелый c++-вик). В качестве простого примера, посоветую посмотреть на Go — там отсутствуют шаблоны/генерики, и это порождает огромное дублирование кода (boilerplate и "церемонию").

Мы начали процесс отделения проектной модели CMake от CLion

Можно ждать поддержку QMake / Qbs?

> Чего боятся программисты?

Как насчёт потери зрения, рук или альцгеймер / рак?

Если сейчас NN определяет теги по видео, то возможно ли как в DeepDream — запустить NN в обратную сторону, указав теги по вкусу, каждый раз получая уникальное сгенерированное видео? ))

Зачем размещать двигатели в форме "крыла", если оно таковым не является, подъёмной силы не создаёт и элеронов не имеет?

Нет дженериков (универсальных шаблонов. — прим.перев.).

Всё, что вам придётся сделать, это написать лишь на 2-3 строчки больше. Но зато, с другой стороны, это сделает ваш код более чистым и понятным.


Не представляю реализацию мат.библиотеки: vec2, vec3, vec4, mat3, mat4, quat, для разных типов, хотя-бы float и double, с оверхедом всего-лишь «в пару строчек» ))
Чем плодить многочисленные, несовместимые между собой запчасти к человеческому телу, проще сразу изготовить систему жизнеобеспечения мозга с нейроинтерфейсом.

Как оболочка в Ghost in the Shell :)

I never asked for this

КДПВ таки привлекла. Киберпанк который мы заслуживаем

Information

Rating
Does not participate
Location
Украина
Registered
Activity