Как стать автором
Обновить

Опрос GitHub показал, что почти все разработчики используют инструменты ИИ для программирования

Время на прочтение1 мин
Количество просмотров5.9K
Всего голосов 12: ↑6 и ↓6+5
Комментарии34

Комментарии 34

Ну ведь неправда же в заголовке, аж дважды. Даже картинка-первоисточник приложена сразу. "Almost every respondent has used AI coding tools", т.е. "Почти все участники опроса пользовались AI инструментами для программирования" (хотя бы один раз). Это не "почти все программисты", и не "используют" (регулярно).

Вся статья - полтора абзаца перевода с картинки, и перевод с фактическими ошибками. Уж лучше вывод гугл-переводчика сразу публиковать.

спасибо

Так ИИ же писало ...

Программирую в основном под STM32, недавно писал под Risc-V... Пытался воспользоваться помощью AI, в итоге зря потратил время... Пока сам не прочитал референс мануал и datasheet ничего не заработало. Так что пользоваться то пользовался, но пользы не получил)

Не нашёл кстати сколько там джунов/мидлов/синьоров...

И правильно. Помогает очень сильно. Естественно, как и с любым инструментом, надо уметь пользоваться. А то смешно смотреть, как типа крутые программисты ведут себя как тот полковник, который важные документы в корзине хранил: "А я всю жизнь бумаги в таких корзинках храню - искать удобно! а в компьютере они пропали! Это вредительство!"

Чтобы получать хорошие подсказки от ИИ нужно всего лишь писать изначально красивый код. И все знают, как:

  • Используйте длинные осмысленные имена сущностей или общепринятые сокращения типа i или (k,v)

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

  • Аналогично, ИИ смотрит на юнит_тесты и ориентируется на них. Может, пора вам попробовать TDD? Но тут важное но: нужно смотреть, с именно тем инструментом ИИ которым вы пользуетесь, попадают ли тесты в поле зрения ИИ. Потому что пока в одних языках юнит_тесты обязательно пишутся в том же файле, что и тестируемый код, в других они живут чуть ли не в отдельном проекте IDE.
    Это легко проверить экспериментом: делаем тест на функцию, который сравнивает результат с конкретным значением, потом пишем саму функцию и смотрим, подставил ли ИИ это значение. Причём проверять лучше не сравнением с литералом, а например, что результат делится на 13 без остатка.

  • Не автодополнением единым. Освойте редактирование по командам, назначьте им хоткеи, и будет польза.

  • Главная ситуация, когда ИИ фейлится чаще всего - это вызов кода сторонних библиотек. Тут может помочь скопировать документацию на библиотеку в папку docs в вашем проекте, но опять же, если ваш инструмент её индексирует.

Если LLM может улучшить ваш код - у меня для вас плохие новости.

То есть вы предлагаете тот же банальный pretty printing тоже самому ручками делать? :)

Я предлагаю если и использовать кодогенерацию, то детерменистскую и верифицируемую.

Но ведь "улучшить код" это не только кодогенерация.

П.С. Кроме того какая разница кто и как "сгенерирует" вам код если вы его скажем после этого всё равно проверите сами и он потом ещё и через код речью пройдёт?

Да, хороший пример - если кусок консольного лога, к примеру, прогнать через нейросеть для форматирования и удаления мусора, отладка становится намного проще и быстрее. А вот другим способом сделать это затруднительно- скажем, кусок матрицы или там жисон типовые утилиты не способны обрабатывать, ибо не валидно… а если нейросети скормить еще и формулы, по которым вычисления ведутся, то можно получить красивый макрдаун с формулами и соответствующими значениями и матрицами, а не руками вот это все разбирать.

Откуда у вас новости, если вы не умеете читать?

Я читать прекрасно умею. Я даже писать комментарии без помощи LLM-ок умею, представляете?
Даже не бегу срать в карму от малейшей критики)

Что там нейросети, когда простая кофеварка порой способна помочь, хотя вовсе не имеет отношения к коду! А нейросети да, еще как код улучшить могут - к примеру, если нейросеть по коду выдает идеальную документацию, код отличный, иначе нужно править код (а не документацию). Это экономит уйму времени и гарантирует синхронность документации с кодом (и не надо руками расписывать параметры вызова, назначение и примеры использования функций, достаточно разумно называть переменные, добавлять комментарии и проч.).

Но нейросетка не даст use examples. Например прошло изменение в стронней SDK, часть функций убрали, чего-то добавили. Документация на SDK сгенерена по исходникам. Так софт который что-то делал одним набором функций из старой sdk уже не может это делать, так как эти функции пропали, а как то же самое сделать на новых функциях не понятно и надо исследовать заного все.

Если в вашем коде есть изменения, нейросеть может поправить документацию и примеры. Если изменения в стороннем коде, загрузите гитхаб диффы этого проекта в нейросеть и запросите нужные замены для вашего кода. Все можно и руками сделать, но займет больше времени все это прочитать и сопоставить.

Тут не измение числа парамеров у сторонней функции. Изменилась объектная модель в сторонней сдк. Объекты с которым работали раньше слили в один со своими функциями работы с ним. И никакая нейронка вам не скажет что делать, так как примеров использования нет.

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

Список претензий к ним этим не исчерпывается, но "при всем богатстве выбора - другой альтернативы нет"

Кодогенерация, в том числе с комментариями, документацией и соглашениями о наименованиях существует сто лет в обед. Та же Rational Rose, да и еще много что.

Все это появилось, существовало и работало задолго до LLM/нейронок. Местами работает до сих пор.

Да что RR, сейчас для OpenAPI куча генераторов кода, И новые появляются каждый год.

С той лишь разницей, что затраты на обычный кодо-генератор по сравнению с затратами на LLM это и не затраты даже, а так, погрешность измерения.

Зато на LLM хайпануть можно. Ну и поспособствовать NVIDIA в росте цены ее акций/облигаций. Более чем в два раза за последний год.

Я понимаю когда за LLM агитируют держатели пакетов этих акций (и немалых пакетов). Вложил ярд (неважно чего), хайпанул, через год получил еще ярд сверху. А вот в чем интерес хайпожоров, не владеющих акциями? Ну кроме как хайпануть ))

Опрос в интернете показал, что 100% людей пользуются интернетом. Выборка очень перекошенная.

НЛО прилетело и опубликовало эту надпись здесь

Пусть используют. Будут больше платить тем, кто не использует.

Работает это так: заходит человек в свою учетку на GitHub, всплывает окно с предложением принять участие в опросе о ИИ. Кто ИИ не использует и не собирается, жмет Esc и идет работать дальше. Кто использует и/или интересуется - отвечает на вопросы.

Результат - 97% использующих и/или интересующихся подтвердили, что используют и/или интересуются. Странно что не 100%.

"так рождаются нездоровые сенсации" (c)

Непонятно, кстати, что мешало таким методом опросить не две тысячи, а двадцать, или даже двести. Получилась бы куда более представительная выборка. Есть подозрение что на весь гитхаб в четырех странах (Штаты, Бразилия, Германия, Индия) удалось наскрести по 500 хайпожоров, а дальше все, нет больше ... )))

Сам факт того, что человек достаточно регулярно заходит на гитхаб, чтобы попасть в окошко для опроса, это уже перекос выборки. Значит он туда что-то пушит, при этом зная, что гитхаб это место, где Майкрософт превращает чужой код в свои датасеты.

Пушить-то можно и не заходя в него браузером.

Вы что, и коммиты будете в браузере делать (с)?

Код умнее, люди деградируют. Вероятность большая что будет хуже. Конечно в плане решения и зарабатывания денег хорошо. Но в плане развития мозгов хуже. Всеж как не крути хотят заработать, а не думать и от этого кайфовать.

Я использую расширение codeium, чисто для автозаполнения шаблонного кода. Он хорошо понимает контекст и удобно дописывает текстовые литералы. Например можно одну строчку написать [1, "january"] и он допишет остальные 11 по такому же принципу.

Кто верит подобным жёлтым новостям - попробуйте провести реальный опрос среди знакомых - кто из них хотя бы знает о БЯМ, уже не говоря про использование)

Результаты вас сильно удивят 😉

Если не брать поколение "за 60",то у меня в круге знакомых все знают и большинство хотя бы попробовало. И речь не только об айтишниках.

Куча знакомых пользуется ими чтобы формулировать различные тексты. Банально всякие официальные или полуофициальные письма. Многие генерируют картинки для детей.

Это просто означает, что у вас такой узкоспециализированный круг общения :) А также о гиперболизации: "все знают" - на деле, скорее всего, "все знают" - в круге, с которыми вы чаще всего общаетесь. Если опросите весь свой круг знакомых (даже тех, кому до 60), реальное число очень вряд-ли будет даже выше 70%. Если не верите - попробуйте ради интереса запилить опрос в паре соц.сетей, которыми пользуетесь.

Выборка не репрезентативная.

Если провести опрос, например, среди сотрудников OpenAI наверняка тоже будет в районе 100%.

Реальные числа примерно такие:

В целом, по миру, будет примерно 16-17% тех, кто знает, около 3-5% кто использует часто.

Даже если проводить опрос среди всех IT компаний мира, максимум выше 35-40% никак не вылезет.

Все эти большие числа в новостях и "отчётах" не более, чем очередной хайп технологии. Уже не говоря о том, что треть таких "отчётов" основана на банальном человеческом факте: "конкурирующие компании в списке заявили о том, что знают, а мы что хуже что ли?!"

Это просто означает, что у вас такой узкоспециализированный круг общения

Я не уверен что соседи или там хоккейная команда это что-то особо "узкоспециаоищированное".

Хотя возможно играет роль то, что я живу не в России. И здесь это тема, которую уже минимум год жуют во всех СМИ. Так что даже если тебя такое вообще не интересует, то сложно об этом ничего не знать.

Выборка не репрезентативная

Вы сами написали про опрос среди знакомых.

В целом, по миру, будет примерно 16-17% тех, кто знает, около 3-5% кто использует часто.

Вы же понимаете что эти цифры говорят скорее в мою пользу? Ну то есть в странах третьего мира подавляющее большинство как раз таки не знает и уж точно не пользуется. Пожилые люди скорее не знают и не пользуются.

То есть если брать не особо пожилых людей из стран золотого миллиарда, то какой тогда процент получится среди них?

здесь это тема, которую уже минимум год жуют во всех СМИ

В России также. Слышать, знать и пользоваться - разные понятия)

Вы же понимаете что эти цифры говорят скорее в мою пользу?

О какой пользе речь? Мы, вроде, не соревнуемся ни в чём 😁

Если выкинуть из выборки "тех, кому за 60", всё равно никаких 100% и близко не получится. Хайп так и работает - людям внушают, что "об этом знают все". Считать то мало кто хочет/будет/способен.

стран золотого миллиарда

Что такое "страны золотого миллиарда"?

то какой тогда процент получится среди них?

Не больше 20%

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории