Не знаю, зачем мне пробовать смотреть на свои руки 8 часов. Но я уже 4 года работаю за ноутбуком, сидя но одном и том же стуле. Стул простой, на колёсиках, с газ-патроном, даже спинка не регулируется. Просто сделал его чуть ниже и работаю - удобно. Вот если пересесть на кухню на обычный стул, то там уже да, болит шея через два часа.
Кстати, перед покупкой ноута работал целый год за тем же столом на том же стуле на мак мини с 23-дюймовым моником. Купил ноут, сперва думал последовать рекомендациям и подключить к нему клаву и моник, но сначала просто поставил ноут на стол и включил и сразу понял, что нафиг не нужно мне к нему ничего. Имея в наличии моник и клаву, ни разу даже не возникло желания их подключить.
При чём тут проекты? Речь не о проекте, а об экосистемах, заточенных под конкретные ЯП, фреймворки, CMS и т.д. Например, если речь идёт о любом приложении на React, то экосистема такого приложения обязательно включает стандарты ECMA, Jsdoc (включая разрешение типов), опционально могут включаться правила ESLint, Typescript, правила для package.json и т.д. Неважно, какая архитектура у проекта, неважно кого там звали это разгребать. Экосистема существует в любом случае. А IDE, в том числе джетбрейновские, включают программную реализацию правил и других возможностей экосистемы.
Например, если написать код:
/**
* @param {number} x.
*/
function kek(x) {
return x + 1;
}
console.log(kek('lol'));
то, любая IDE ругнётся на последнюю строчку, т.к. тип передаваемого параметра не соответствует. Всё благодаря jsdoc, который даже не является частью спецификации языка, но является частью экосистемы. И чтобы это сделать, нашей IDE не нужно сканировать миллион проектов на гитхабе.
Это самый примитивный пример, но это иллюстрация того, что такое экосистема. Любая подобная экосистема содержит ряд правил и инструментов, помогающих писать более надёжный код.
Что самое интересное, тот, кто сел изучать язык только что, знать не знает о каких-либо экосистемах. Он сидит в блокноте и ему норм. Он скажет, вот чушь какая - целых три строчки комментария набирать ради непонятно чего. И лишь со временем к нему придёт понимание, что эти три строчки с помощью автодополнения IDE пишутся за пару сек и потом очень помогают избежать ряда ошибок.
Так вот, использование LLM общего назначения для написания программного кода - это то же самое, что писать код в блокноте, игнорируя всю экосистему языка. Да условный ChatGPT практически гарантированно найдёт ошибку в коде выше и объяснит её, но какой ценой? По сути дела мы имеем кучу дата-центров по всему миру, которые занимаются реверс-инжинирингом того, что и так работает не первый десяток лет на любом офисном компьютере.
Можно сравнить ресурсы и время, которые затратит PhpStorm, чтобы подсветить ошибку в коде выше, с ресурсами и временем, которые потратит на это любая LLM. По этим бенчмаркам LLM будет выглядеть просто как какое-то днище.
И теперь вишенка на торте: майкрософт говорит, что 30% их кода сейчас генерируется с помощью ИИ. А теперь давайте посчитаем сколько процентов кода было сгенерировано обычным автодополнением IDE в доИИшную эпоху? Когда набираешь две буквы, и выбираешь переменную с именем из 10 букв. Или всякие import statements, которые вообще полностью автоматически вставляются. Там запросто выйдет, что ещё до бума ИИ программисты набирали сами не более 50% кода. И это всё благодаря грамотно выстроенной экосистеме. То есть какие-то чуваки придумали говорилку, научили её писать код, но за счёт того, что они практически проигнорировали достижения экосистем языков, польза от потраченных ресурсов выглядит на данный момент достаточно сомнительно.
Смотря что вы подразумеваете под наоборот. Давайте попробуем разобрать варианты:
Если специалист хороший, то ему бывает трудно понять достижения предшественников. - не бывает, это противоречит понятию "хороший специалист". Хороший специалист обязан ориентироваться в экосистеме своего стека и обязан уметь читать и понимать чужой код.
Если специалист плохой, то ему бывает легко понять достижения предшественников. - бывает. Достижения предшественников, как правило, довольно очевидны, и даже начинающий может легко их оценить.
Если специалист плохой, то ему бывает трудно понять провалы предшественников. - конечно бывает. Это же плохой специалист, вероятно он потому и плохой, что у него трудности с пониманием.
Если специалист плохой, то ему бывает трудно понять достижения потомков. Тут могу разве что сказать, что сегодня в завтрашний день смотреть могут не все.
Я думаю, это надо закладывать ещё до этапа обучения, а именно на этапе проектирования архитектуры модели. Как в маленьких моделях есть раздельные модели для текста, для картинок и т.д. Программный код не должен восприниматься, как простое текстовое подмножество, он должен изначально приниматься, как отдельное явление.
Ну и что? Я в первые три года своей карьеры тоже не знал. И вообще думал, нафиг все эти IDE, если Sublime text достаточно. Сейчас у зумеров три года опыта - это уже C-level system architect как минимум. Но мы то знаем, что на самом деле стоит за этими регалиями.
Справляется, но отнюдь не прекрасно. Всё-таки для работы с данными я бы предпочёл язык с полноценной реализацией ООП. Ну и опять же, если так нравится js, то я писал выше: делаешь бэк на express, фронт на реакте с CSR.
Если специалист плохой, то ему бывает трудно понять достижения предшественников. Куда проще объявить всё легаси и начать делать всё с нуля. Такое происходит сплошь и рядом, и результат всегда один и тот же.
Прежде чем возражать, что ситуации бывают разные, просто поясняю, вы записываете в легаси программные валидаторы схем, спецификации, статические анализаторы, код-снифферы и т.д. Тут не надо быть провидцем, чтобы понимать, что на выходе получится аналог пепси колы
Вы так и не поняли, к чему я. Какому-нибудь PhpStorm не нужно сканировать миллионы страниц гитхаба, чтобы понять, что метод getPrice существует у объекта класса Product и не существует у объекта класса Article. Он определяет это с 100% точностью на средненьком компьютере за какие-то миллисекунды. И ему даже не нужен для этого доступ в интернет. Если все эти правила интегрировать в само ядро ИИ-модели, чтобы ещё на этапе формирования ответа заведомо неверные варианты были отсечены, то даже обучившись на плохом коде модель уже сама сможет делать код более качественный, чем был в выборке.
То, что этим выпустили именно Jetbrains, а не какой-то новый стартап, на самом деле очень много значит. Даже если само по себе Kineto окажется сырым/плохим/неюзабельным инструментом, это очень важный шаг. И вот почему: Jetbrains делает много разных IDE под разные языки с поддержкой разных фреймворков, библиотек, у них есть куча плагинов, валидаторов, анализаторов и т.д. То есть у них накоплена огромная экспертиза в области best practice разных технологий. И эта экспертиза у них уже материализована в коде их IDE. Напомню, что IDE, к примеру, умеет находить ошибки в коде, не запуская его, и используя при этом ресурсы, несоизмеримо меньшие, чем требуются для работы ИИ. Так вот, если всё это глубоко интегрировать с ИИ, на выходе можно будет получать значительно более качественный код, используя при этом значительно меньше ресурсов.
Революционные изменения в программировании должны прийти именно от таких компаний, которые смогут интегрировать ИИ в уже имеющуюся развитую экосистему определённого стека. А те, кто пытаются всё делать с нуля, да ещё и используя модели общего назначения, скорее всего останутся не у дел.
Подставка под ноут не нужна, если просто сделать кресло чуть ниже. Освободить место на столе — это маст хэв, но все эти подставки, органайзеры и беспроводные зарядки наоборот захламляют всё.
Я всегда думал, менторы - это чуваки, которые помогают прокачать знания в какой-то технологии. Типа позанимался, тебя натаскали за месяц по redux и ты саги фигачишь с закрытыми глазами. Или купил 5 занятий и можешь потом любую фигню автоматизировать через Github Actions А оказывается, что менторство — это
услуги по типу тестовых (мок) собеседований или помощи по составлению резюме
В принципе неудивительно, что в результате на вакансию сеньора задают тысячу вопросов из разряда "что лучше точка с запятой или двоеточие?" Все вокруг стали такие бигдатые, а яндекс музыка полгода не могла в новом интерфейсе отобразить в title страницы какой трек играет. Может и до сих пор не смогли, не удивлюсь.
Это чтобы самому юзать в запрещённой локации. Но ведь можно же взять большой спуфер, засунуть его в микроавтобус, подогнать к какому-нибудь датацентру и "переместить" этот датацентр в Китай, например. И всё, service temporary unavailable. Ну ок, в штатах ещё как-то можно использовать альтернативные способы геолокации, чтобы понять, что тебя водят за нос. А где-нибудь в Корее, Тайване, Японии, где до запретной локации может быть всего пару десятков км, это будет серьёзная уязвимость.
Вы путаете причину со следствием. Чайку не продавали простолюдинам лишь по той причине, что промышленность не могла удовлетворить запросы одновременно и номенклатуры, и людей с деньгами. Закрепощение крестьян (как явное, так и неявное в виде ограничений, например на доступ к образованию) было необходимо ввиду низкой эффективности сельского хозяйства. Права женщин - это немного другое. Женщины из высоких сословий не могли где-то там преподавать, зато имели доступ к ряду излишеств в виде дорогих платьев и украшений, чем охотно пользовались
Опять же, говоря о потребительстве: пирамиды, дворец Медичи, Петергоф — всё это крайние формы потребительства. На бытовом уровне потребительство существовало всегда в виде обжорства. Потребительство может отсутствовать только в тотальной бедности и то лишь будучи обусловленным внешними факторами. Оказавшись в более благоприятной среде вчерашний голодающий с удовольствием пополнит ряды потребителей.
Да ничем это не отличается. В сословном обществе верхушка купается в излишествах. Низы не купались в излишествах лишь по причине отсталости технологического прогресса. Наши бабушки штопали носки не потому что были разумными потребителями, а потому что лёгкая промышленность их времени не позволяла сделать цену носков такой, чтобы дырявые носки проще было выбросить.
Даже первобытно-общинный строй возник ради потребления: большой гурьбой сподручнее охотиться и разделять обязанности. В одиночку добыть еды, выделать шкуру, чтобы не замёрзнуть, поддерживать очаг - невозможно. Шкуры и очаг - это то, что позволило людям выйти из Африки. Шкуры - это то, что мы сейчас называем лёгкой промышленностью, очаг - энергетика. В общем, потребительство - это то, что отличает цивилизацию от дикарей.
Ссылка на GitHub, где последний коммит был два года назад или где лежат только форки чужих репозиториев.
Если у человека на гитхабе много форков чужих репозиториев, чаще всего это значит, что он активно контрибьютит в опенсорсные проекты. Таких, как вы, надо гнать из профессии ссаными тряпками.
Не знаю, зачем мне пробовать смотреть на свои руки 8 часов. Но я уже 4 года работаю за ноутбуком, сидя но одном и том же стуле. Стул простой, на колёсиках, с газ-патроном, даже спинка не регулируется. Просто сделал его чуть ниже и работаю - удобно. Вот если пересесть на кухню на обычный стул, то там уже да, болит шея через два часа.
Кстати, перед покупкой ноута работал целый год за тем же столом на том же стуле на мак мини с 23-дюймовым моником. Купил ноут, сперва думал последовать рекомендациям и подключить к нему клаву и моник, но сначала просто поставил ноут на стол и включил и сразу понял, что нафиг не нужно мне к нему ничего. Имея в наличии моник и клаву, ни разу даже не возникло желания их подключить.
При чём тут проекты? Речь не о проекте, а об экосистемах, заточенных под конкретные ЯП, фреймворки, CMS и т.д. Например, если речь идёт о любом приложении на React, то экосистема такого приложения обязательно включает стандарты ECMA, Jsdoc (включая разрешение типов), опционально могут включаться правила ESLint, Typescript, правила для package.json и т.д. Неважно, какая архитектура у проекта, неважно кого там звали это разгребать. Экосистема существует в любом случае. А IDE, в том числе джетбрейновские, включают программную реализацию правил и других возможностей экосистемы.
Например, если написать код:
то, любая IDE ругнётся на последнюю строчку, т.к. тип передаваемого параметра не соответствует. Всё благодаря jsdoc, который даже не является частью спецификации языка, но является частью экосистемы. И чтобы это сделать, нашей IDE не нужно сканировать миллион проектов на гитхабе.
Это самый примитивный пример, но это иллюстрация того, что такое экосистема. Любая подобная экосистема содержит ряд правил и инструментов, помогающих писать более надёжный код.
Что самое интересное, тот, кто сел изучать язык только что, знать не знает о каких-либо экосистемах. Он сидит в блокноте и ему норм. Он скажет, вот чушь какая - целых три строчки комментария набирать ради непонятно чего. И лишь со временем к нему придёт понимание, что эти три строчки с помощью автодополнения IDE пишутся за пару сек и потом очень помогают избежать ряда ошибок.
Так вот, использование LLM общего назначения для написания программного кода - это то же самое, что писать код в блокноте, игнорируя всю экосистему языка. Да условный ChatGPT практически гарантированно найдёт ошибку в коде выше и объяснит её, но какой ценой? По сути дела мы имеем кучу дата-центров по всему миру, которые занимаются реверс-инжинирингом того, что и так работает не первый десяток лет на любом офисном компьютере.
Можно сравнить ресурсы и время, которые затратит PhpStorm, чтобы подсветить ошибку в коде выше, с ресурсами и временем, которые потратит на это любая LLM. По этим бенчмаркам LLM будет выглядеть просто как какое-то днище.
И теперь вишенка на торте: майкрософт говорит, что 30% их кода сейчас генерируется с помощью ИИ. А теперь давайте посчитаем сколько процентов кода было сгенерировано обычным автодополнением IDE в доИИшную эпоху? Когда набираешь две буквы, и выбираешь переменную с именем из 10 букв. Или всякие import statements, которые вообще полностью автоматически вставляются. Там запросто выйдет, что ещё до бума ИИ программисты набирали сами не более 50% кода. И это всё благодаря грамотно выстроенной экосистеме. То есть какие-то чуваки придумали говорилку, научили её писать код, но за счёт того, что они практически проигнорировали достижения экосистем языков, польза от потраченных ресурсов выглядит на данный момент достаточно сомнительно.
А существует ли хоть одна LLM, которая не обошла конкурентов по бенчмаркам?
Смотря что вы подразумеваете под наоборот. Давайте попробуем разобрать варианты:
Если специалист
хороший
, то ему бывает трудно понять достижения предшественников.
- не бывает, это противоречит понятию "хороший специалист". Хороший специалист обязан ориентироваться в экосистеме своего стека и обязан уметь читать и понимать чужой код.Если специалист плохой, то ему бывает
легко
понять достижения предшественников.
- бывает. Достижения предшественников, как правило, довольно очевидны, и даже начинающий может легко их оценить.Если специалист плохой, то ему бывает трудно понять
провалы
предшественников.
- конечно бывает. Это же плохой специалист, вероятно он потому и плохой, что у него трудности с пониманием.Если специалист плохой, то ему бывает трудно понять достижения
потомков
.
Тут могу разве что сказать, что сегодня в завтрашний день смотреть могут не все.Надеюсь, я ответил на ваш вопрос.
Я думаю, это надо закладывать ещё до этапа обучения, а именно на этапе проектирования архитектуры модели. Как в маленьких моделях есть раздельные модели для текста, для картинок и т.д. Программный код не должен восприниматься, как простое текстовое подмножество, он должен изначально приниматься, как отдельное явление.
Ну и что? Я в первые три года своей карьеры тоже не знал. И вообще думал, нафиг все эти IDE, если Sublime text достаточно. Сейчас у зумеров три года опыта - это уже C-level system architect как минимум. Но мы то знаем, что на самом деле стоит за этими регалиями.
Справляется, но отнюдь не прекрасно. Всё-таки для работы с данными я бы предпочёл язык с полноценной реализацией ООП. Ну и опять же, если так нравится js, то я писал выше: делаешь бэк на express, фронт на реакте с CSR.
Если специалист плохой, то ему бывает трудно понять достижения предшественников. Куда проще объявить всё легаси и начать делать всё с нуля. Такое происходит сплошь и рядом, и результат всегда один и тот же.
Прежде чем возражать, что ситуации бывают разные, просто поясняю, вы записываете в легаси программные валидаторы схем, спецификации, статические анализаторы, код-снифферы и т.д. Тут не надо быть провидцем, чтобы понимать, что на выходе получится аналог пепси колы
Вы так и не поняли, к чему я. Какому-нибудь PhpStorm не нужно сканировать миллионы страниц гитхаба, чтобы понять, что метод getPrice существует у объекта класса Product и не существует у объекта класса Article. Он определяет это с 100% точностью на средненьком компьютере за какие-то миллисекунды. И ему даже не нужен для этого доступ в интернет. Если все эти правила интегрировать в само ядро ИИ-модели, чтобы ещё на этапе формирования ответа заведомо неверные варианты были отсечены, то даже обучившись на плохом коде модель уже сама сможет делать код более качественный, чем был в выборке.
То, что этим выпустили именно Jetbrains, а не какой-то новый стартап, на самом деле очень много значит. Даже если само по себе Kineto окажется сырым/плохим/неюзабельным инструментом, это очень важный шаг. И вот почему: Jetbrains делает много разных IDE под разные языки с поддержкой разных фреймворков, библиотек, у них есть куча плагинов, валидаторов, анализаторов и т.д. То есть у них накоплена огромная экспертиза в области best practice разных технологий. И эта экспертиза у них уже материализована в коде их IDE. Напомню, что IDE, к примеру, умеет находить ошибки в коде, не запуская его, и используя при этом ресурсы, несоизмеримо меньшие, чем требуются для работы ИИ. Так вот, если всё это глубоко интегрировать с ИИ, на выходе можно будет получать значительно более качественный код, используя при этом значительно меньше ресурсов.
Революционные изменения в программировании должны прийти именно от таких компаний, которые смогут интегрировать ИИ в уже имеющуюся развитую экосистему определённого стека. А те, кто пытаются всё делать с нуля, да ещё и используя модели общего назначения, скорее всего останутся не у дел.
Ну так Яндекс же бигтех
Подставка под ноут не нужна, если просто сделать кресло чуть ниже. Освободить место на столе — это маст хэв, но все эти подставки, органайзеры и беспроводные зарядки наоборот захламляют всё.
Я всегда думал, менторы - это чуваки, которые помогают прокачать знания в какой-то технологии. Типа позанимался, тебя натаскали за месяц по redux и ты саги фигачишь с закрытыми глазами. Или купил 5 занятий и можешь потом любую фигню автоматизировать через Github Actions А оказывается, что менторство — это
В принципе неудивительно, что в результате на вакансию сеньора задают тысячу вопросов из разряда "что лучше точка с запятой или двоеточие?" Все вокруг стали такие бигдатые, а яндекс музыка полгода не могла в новом интерфейсе отобразить в title страницы какой трек играет. Может и до сих пор не смогли, не удивлюсь.
Это чтобы самому юзать в запрещённой локации. Но ведь можно же взять большой спуфер, засунуть его в микроавтобус, подогнать к какому-нибудь датацентру и "переместить" этот датацентр в Китай, например. И всё, service temporary unavailable. Ну ок, в штатах ещё как-то можно использовать альтернативные способы геолокации, чтобы понять, что тебя водят за нос. А где-нибудь в Корее, Тайване, Японии, где до запретной локации может быть всего пару десятков км, это будет серьёзная уязвимость.
Получается, такой чип можно будет вырубить при помощи GPS-спуфера?
Вы путаете причину со следствием. Чайку не продавали простолюдинам лишь по той причине, что промышленность не могла удовлетворить запросы одновременно и номенклатуры, и людей с деньгами. Закрепощение крестьян (как явное, так и неявное в виде ограничений, например на доступ к образованию) было необходимо ввиду низкой эффективности сельского хозяйства. Права женщин - это немного другое. Женщины из высоких сословий не могли где-то там преподавать, зато имели доступ к ряду излишеств в виде дорогих платьев и украшений, чем охотно пользовались
Опять же, говоря о потребительстве: пирамиды, дворец Медичи, Петергоф — всё это крайние формы потребительства. На бытовом уровне потребительство существовало всегда в виде обжорства. Потребительство может отсутствовать только в тотальной бедности и то лишь будучи обусловленным внешними факторами. Оказавшись в более благоприятной среде вчерашний голодающий с удовольствием пополнит ряды потребителей.
Да ничем это не отличается. В сословном обществе верхушка купается в излишествах. Низы не купались в излишествах лишь по причине отсталости технологического прогресса. Наши бабушки штопали носки не потому что были разумными потребителями, а потому что лёгкая промышленность их времени не позволяла сделать цену носков такой, чтобы дырявые носки проще было выбросить.
Даже первобытно-общинный строй возник ради потребления: большой гурьбой сподручнее охотиться и разделять обязанности. В одиночку добыть еды, выделать шкуру, чтобы не замёрзнуть, поддерживать очаг - невозможно. Шкуры и очаг - это то, что позволило людям выйти из Африки. Шкуры - это то, что мы сейчас называем лёгкой промышленностью, очаг - энергетика. В общем, потребительство - это то, что отличает цивилизацию от дикарей.
Типографские кавычки — это признак достатка. Айфон их по умолчанию ставит.
Если у человека на гитхабе много форков чужих репозиториев, чаще всего это значит, что он активно контрибьютит в опенсорсные проекты. Таких, как вы, надо гнать из профессии ссаными тряпками.
Палево LLM — это когда в тексте есть длинное тире.