Оптимизатор у хорошего C++ компайлера даст 100 очков вперед другим языкам. Перформанс, по крайней мере, в моей области (электронные CAD-ы), важен примерно всегда, и почти всегда - узкое место.
При правильном использовании constexpr оч даже полезен. Например, можно сделать enum из функции от строк, и потом switch по этой ф-ции от входной строки (т.е. как-бы switch по строкам), что сильно ускоряет чтение некоторых форматов по сравнению с поиском по хэш-таблицам. Если бездумно валить все в кучу, на любом языке получится багатый говнокод. Дело тут не в языке, а в ясности мысли, или отсутствии таковой. Кодогенерация - вешь отличная, сам вовсю использую, но часто это из пушки по воробьям.
Отличная идея, и применима, видимо, не только к личному архиву. У меня похожая проблема - документация, общая, историческая и рабочая, по достаточно большим софтверным проектам. Дефекты, история принятия решений, текущая архитектура, планы на будущее.. Похоже, это все хорошо ложится на вашу концепцию. Надо будет попробовать!
Вопрос - а можно будет вместо SQLite опционально использовать что-то текстовое, чтоб в Git-e держать?
Есть у меня легаси проектик, около-CAD на C++, порядка 10 тысяч файлов (немаленьких по большей части, многие в пару тысяч строк или больше, есть и по 20К строк), LOC считать лень. Сказал Копайлоту с ним разобраться, чтоб он мог баги править и фичи дописывать. Он подумал минут 10, и выдал описание (оно же база знаний и поисковый индекс), 15 .MD файлов на 50КБ в общей сложности. Мне показалось, это мало как-то, спрашиваю - что, теперь можешь баги править? Он говорит, давай описание. Скормил ему по очереди 3 тикета из Jira, не очень сложных. Он с ними разделался минут за 5-10 на тикет. Фиксы выглядят вполне разумно. С более сложными, конешно, дело сложнее обстоит - не всегда попадает в точку, да и с первой итерации не всегда получается (да и с 10-й тоже не всегда, честно говоря). Но процесс идет, баги правятся, новый код и тесты пишутся, база знаний растет, я сам ее читаю и нахожу для себя полезное. Типичный процесс работы с багой - он итеративно грепает нужное, читает некоторые файлы (часто кусками, как определяет, что именно читать - не знаю), потом правит код, перестраивает, гоняет тесты, если покраснели - читает логи, правит ошибки, и так пока все не сойдется. Проверять все надо досконально, иногда переписывать куски (самому, или его же заставить), но в целом, экономит кучу времени на рутину. К тому же, сгенерировал он мне пару оч полезных тулов, например, напитонил визуализатор геометрии из логов. Мои 2 цента...
Попугай, видимо, говорил по-английски - что-то типа "You'll be good. I love you. See you tomorrow." Обычные разговорные фразы, которых он нахватался. К сожалению, этот пример не тянет на большой интеллект. Но вообще они умнющие.
Все станет гораздо интереснее, если включить агентный режим в Copilot-е. Немного настройки инструкций, и LLM-ка сама компилит, ошибки исправляет, юнит тесты создает и запускает, сломаные правит, логи анализирует, если надо, новые лог стейтменты добавляет, и так пока все не позеленеет. Но следить нужно - ее может унести в дебри.
Я тут недавно наорал на Клода, что он не следует требованиям, отчего порет чушь и жжет токены впустую. Надо было видеть, как он каялся, перечислял свои грехи, обещал исправиться, ущерб возместить и больше никада-никада. Исправился где-то на полчаса. Сюр был полный.
Исключение, подтверждающее правило) Watcom - да, классный. Правда, я с ним не работал уже давно..
Оптимизатор у хорошего C++ компайлера даст 100 очков вперед другим языкам. Перформанс, по крайней мере, в моей области (электронные CAD-ы), важен примерно всегда, и почти всегда - узкое место.
Ну уж если с авто сравнивать, C++ - это, скорее, Феррари. Водить надо уметь, но гоняет - другим не чета.
Читаю и недоумеваю. Десятилетиями пишу на C++, с 98 по 23, никаких особых проблем не было никогда. У меня какой-то другой C++?
При правильном использовании constexpr оч даже полезен. Например, можно сделать enum из функции от строк, и потом switch по этой ф-ции от входной строки (т.е. как-бы switch по строкам), что сильно ускоряет чтение некоторых форматов по сравнению с поиском по хэш-таблицам. Если бездумно валить все в кучу, на любом языке получится багатый говнокод. Дело тут не в языке, а в ясности мысли, или отсутствии таковой. Кодогенерация - вешь отличная, сам вовсю использую, но часто это из пушки по воробьям.
В Штатах они бы из судов не вылезали за эйджизм.
Не, не путаются, норм все) Статья для новичков.
Отличная идея, и применима, видимо, не только к личному архиву. У меня похожая проблема - документация, общая, историческая и рабочая, по достаточно большим софтверным проектам. Дефекты, история принятия решений, текущая архитектура, планы на будущее.. Похоже, это все хорошо ложится на вашу концепцию. Надо будет попробовать!
Вопрос - а можно будет вместо SQLite опционально использовать что-то текстовое, чтоб в Git-e держать?
Есть у меня легаси проектик, около-CAD на C++, порядка 10 тысяч файлов (немаленьких по большей части, многие в пару тысяч строк или больше, есть и по 20К строк), LOC считать лень. Сказал Копайлоту с ним разобраться, чтоб он мог баги править и фичи дописывать. Он подумал минут 10, и выдал описание (оно же база знаний и поисковый индекс), 15 .MD файлов на 50КБ в общей сложности. Мне показалось, это мало как-то, спрашиваю - что, теперь можешь баги править? Он говорит, давай описание. Скормил ему по очереди 3 тикета из Jira, не очень сложных. Он с ними разделался минут за 5-10 на тикет. Фиксы выглядят вполне разумно. С более сложными, конешно, дело сложнее обстоит - не всегда попадает в точку, да и с первой итерации не всегда получается (да и с 10-й тоже не всегда, честно говоря). Но процесс идет, баги правятся, новый код и тесты пишутся, база знаний растет, я сам ее читаю и нахожу для себя полезное. Типичный процесс работы с багой - он итеративно грепает нужное, читает некоторые файлы (часто кусками, как определяет, что именно читать - не знаю), потом правит код, перестраивает, гоняет тесты, если покраснели - читает логи, правит ошибки, и так пока все не сойдется. Проверять все надо досконально, иногда переписывать куски (самому, или его же заставить), но в целом, экономит кучу времени на рутину. К тому же, сгенерировал он мне пару оч полезных тулов, например, напитонил визуализатор геометрии из логов. Мои 2 цента...
"цифрового отрицательного развития"
цифрового завития?
Попугай, видимо, говорил по-английски - что-то типа "You'll be good. I love you. See you tomorrow." Обычные разговорные фразы, которых он нахватался. К сожалению, этот пример не тянет на большой интеллект. Но вообще они умнющие.
Мне вот тоже не 63, а только 62 стукнуло. Учусь постоянно, а как иначе-то. Смешно читать кое-кого тут..
Да, пришлось ему в инструкции записать, что если он видит красный тест, то должен его фиксить, даже если не его последние правки были тому причиной.
Все станет гораздо интереснее, если включить агентный режим в Copilot-е. Немного настройки инструкций, и LLM-ка сама компилит, ошибки исправляет, юнит тесты создает и запускает, сломаные правит, логи анализирует, если надо, новые лог стейтменты добавляет, и так пока все не позеленеет. Но следить нужно - ее может унести в дебри.
Я тут недавно наорал на Клода, что он не следует требованиям, отчего порет чушь и жжет токены впустую. Надо было видеть, как он каялся, перечислял свои грехи, обещал исправиться, ущерб возместить и больше никада-никада. Исправился где-то на полчаса. Сюр был полный.
Так ведь в Полдне все это описано еще в начале 60-х...
Роскошная опечатка :-)
Вообще-то docx - это зип с xml-ками внутри.
Может быть, ранние версии. Сейчас он на .Net.
У меня нет никакой эпилепсии, но когда я вижу подобное моргание, я сайт закрываю немедленно и навсегда. Я один такой?