Pull to refresh
8K+
16

Студент 1 курса

47,2
Rating
1
Subscribers
Habr Career
Send message

Проблема не в самом ИИ, а в том, что за статьёй по факту ничего не стоит. Вместо того, чтобы просить нейронку "напиши статью, вот код", можно было написать личный опыт при разработке, аля на какие грабли наступил. Я не проф писатель статей, но именно это я примерно и ожидал, когда увидел статью в ленте, как читатель.

И современные детекторы очень даже неплохо различают рукописные технические статьи от сгенерированных (сам Хабр пользуется GigaCheck). В самом тексте есть различные нестыковки, которые написал, скорее всего, ИИ, так как ему неизвестен полный контекст создания программы.

У тебя крутой возраст и проект для старта в C++, но не стоит это тратить на какой-то промпт-инжиниринг для Хабра

Скрытый текст

Я думал, что у меня шиза, но чекеры типа gptzero и gigacheck действительно показывают, что писал ИИ.

должна одинаково хорошо чувствовать себя в разных окружениях: от KDE и GNOME до Windows

В коде есть GnomeSetter и KdeSetter, упоминается несуществующий LinuxFallbackSetter. Поддержки Windows нет.

WallpaperFactory::create
/* soon

	#ifdef _WIN32
		return std::make_unique<WindowsSetter>();	
	#elif defined(__APPLE__)		
		return std::make_unique<MacosSetter>();
*/

	#ifdef RWAL_USE_KDE
        return std::make_unique<KdeSetter>();
    #elif defined(RWAL_USE_GNOME)
        return std::make_unique<GnomeSetter>();
    #elif defined(RWAL_USE_FALLBACK)
        return std::make_unique<LinuxFallbackSetter>();
    #else
        return nullptr; 
    #endif

Изначально я пробовал использовать Docker для изоляции окружения, но для системной утилиты, которой нужен доступ к D-Bus хоста, это создавало лишние накладные расходы. В итоге я перешел на «чистый» CMake.

Как связаны Docker и CMake?

И статья выглядит очень похожей на ИИ-генерацию, учитвая, что био профиля, README (и прочие .md файлы в репозитории) явно сгенерированы нейронкой

Dart вполне себе компилируется в машинный код

Я плохо понял вопрос, но постараюсь объяснить.

Компилятор видит код скрипта во время компиляции, затем через constexpr вычисления происходит лексический анализ (текст проверяется на корректность превращается в токены), затем парсинг с синтаксическим анализом (поток токенов превращается в дерево), затем это дерево обходится, генерируя байт-код.

Если в скрипте есть синтаксическая ошибка или несовпадение типов, основной C++ проект просто не скомпилируется.

На этапе выполнения мы просто инициализируем нашу виртуальную машину (происходит только аллокация памяти под переменные и стек), передаём ей полученный байт-код (это просто константный массив) и "подставляем" нужные значения из рантайма уже, ввод пользователя, например

Виртуальная машина выполняется уже только в runtime. Но думаю, что можно её реализовать и в compile time

Если честно, я не понимаю, почему modern C++ это минус. И почему следует писать на старых стандартах.

Вся идея статьи как раз в перекладывании компиляции на этап компиляции (бадум-тс!)

На старых стандартах вытащить сигнатуры, чтобы сделать биндинги и прочее без внешних утилит вряд ли получится. А compile-time вычислений там и вовсе почти нет, если не ошибаюсь

Выглядят интересно, правда, сложновато. Спасибо за совет, обязательно попробую

Думаю, что на других языках делать это было бы намного приятнее, но у меня был интерес "раздвинуть границы" плюсов =D

Спасибо.
Эта библиотека задачу мою, скорее всего, решает, но для меня уже поздно, потому что переписывать libcoro интереснее

Я о них позже узнал, но у библиотеки есть юзеры с BSD-систем, а у них такого нет :(

Ютуб тоже никто не замедляет, кстати

Кто помнит игру связанную с гонками, где машинки были с "разными" характеристиками, но были одинаковые?

Information

Rating
192-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity