А если серьёзно я тоже был настроен скептически (втирается в доверие, опять маркетинговая уловка!), пока сам не начал использовать ИИ. Например одна известная IDE может искать по проекту просто по текстовому описанию или даже по скриншоту. Раньше, когда куа приносили багу, я вручную искал соотетствующее место в проекте, расставляя отладочные выводы и прочее. Сейчас я далею запрос на обычному русском языке, и, о чудо, он находит нужно место в сотни раз быстрее меня.
Название IDE специально не пишу, чтобы вы меня не обвинили в инфоцыганстве ещё раз.
Человек хочет «хорошее» решение своей задачи, а нейросеть устроит любое, первое попавшееся ей на «глаза».
Вы говорите так, словно не видели как происходит разработка в команде. Непосредственно разработчика устраивает любое решение, лишь бы оно компилировалось и соответствовало его внутрениим представлениям о "качестве". Которые совсем не обязательно они соотвествуют представлениям о "качестве" продукта в целом. Вот именно качественным код делают требования и концепции (да, да, та самая абстрактная болтология внезапно играет огромную роль, если мы поднимемся чуть выше уровня кода), в рамках которых код пишется. Требования о быстродействии, об использовании библиотек, функциональные требования, сотни их, даже предсталвения о "красоте кода" (которые вырабатываются только с опытом, с большим опытом).
Я могу привести пример из своей практики, когда разраб ругал Retroift https://square.github.io/retrofit/ за то, что из коробки нет возможности отследить количество загруженных байт. Его представления о "качестве" требовали полного контроля над процессом загрузки. Ему, конечно же, удалось написать костыль, который этот прогресс отслеживал. Но это совсм не вязалось с понятием "качества" продукта в целом. Во-первых его костыль размывал границу между слоями архитектуры, делая код ну максимально жёстким. Во-вторых это было просто-напросто не нужно. В 99,99% запросов нам не важно, сколько байт было принято и отправлено.
Если мы дадим нейронке общую задачу, то получим такое же общее решение. А чтобы ответ был "качественным", надо описывать критерии "качества". Об этом, в числе прочего, принцип "Рефлексия над результатом". Задача пользователя нейронки (как и задача руководителя!) поставить нейронку (подчинённого) в условия, когда она будет делать то, что требуется.
Цель использования ИИ это, в том числе, снижение доли ручного труда. Вы же не будете отрицать, что писать на языке высокого уровня удобнее, чем на ассемблере? ИИ позволит (в будущем) подняться нам на ещё один уровень выше. Статья - это предложение варинта того, как в этому подготовиться.
Я вот не понимаю, зачем весь смартфон на спутнике? Там же много чего, что не нужно в космосе: экран, звук, радиомодуль и тп В ОС тоже много лишнего, всё что касается UI например. Разве что разбирать смартфон дороже, чем вывести на орбиту несколько лишних грамм. Или это такая рекламная компания.
Да. Таким образом, например, фиксится баг Убунту №1. Я себя лично к линуксоидам не отношу, просто однажды по производственной необходимости мне пришлось перейти на Убунту. Несколько первых дней было непривычно, да и до сих пор некоторого софта не хватает. Но за два года мне ещё ни разу не пришлось перестанавливать систему, не приходилось искать драйвера устройств, компьютер даже ни разу не завис, насколько я помню. И уж точно ни разу не было ситуации, когда внезапно всё переставало работать.
Мне вот сейчас подумалось, что у организации-то цели нет. Есть цели у отдельных людей. И чем выше этот человек в иерархии, тем активнее он навязывает свои цели нижестоящим. Но в чистом виде навязать их вряд ли получится, поэтому эти цели маскируются во что-то. В конце-концов, что себя обманывать, всевозможные стартапы утверждают, что делают мир лучше, а сами производят «дейтинги с геолокейшеном и донейтом».
Я вот что сделал. Написал простой скрипт, который 1) в начале каждого метода smali добавляет вызов статичного метода нашего класса, в духе MyClass.doN(), где N от 0 до количества методов ко всех классах 2) генерит названный класс со всем статичными методами, каждый метод пишет в лог число N. Замет я это снова собрал, подписал и залил на девайс. Итого — лог посыпалась куча чисел, означающих последовательность вызова. Найти нужный кусок в коде уже не представлялось проблемой.
А я был в роли Васи, когда занимался реверс-инжинирингом обфусцированного кода на smali. Целую стопку бумаги изрисовал диаграммами последовательностей вызовов. В конце-концов нашёл весьма элегантное решение, только оценить его некому.
А я с вам не согласен. В ЮТ я помню в каждом номере было по фантастическому рассказу. А Хабр — это по сути тот же ЮТ с комментами и кармой. Жаль только нет специального хаба для рассказов.
А если серьёзно я тоже был настроен скептически (втирается в доверие, опять маркетинговая уловка!), пока сам не начал использовать ИИ. Например одна известная IDE может искать по проекту просто по текстовому описанию или даже по скриншоту. Раньше, когда куа приносили багу, я вручную искал соотетствующее место в проекте, расставляя отладочные выводы и прочее. Сейчас я далею запрос на обычному русском языке, и, о чудо, он находит нужно место в сотни раз быстрее меня.
Название IDE специально не пишу, чтобы вы меня не обвинили в инфоцыганстве ещё раз.
Вы абсолютно правы, я просто забыл приложить ссылку на свой оналйн-курс.
Вы говорите так, словно не видели как происходит разработка в команде. Непосредственно разработчика устраивает любое решение, лишь бы оно компилировалось и соответствовало его внутрениим представлениям о "качестве". Которые совсем не обязательно они соотвествуют представлениям о "качестве" продукта в целом. Вот именно качественным код делают требования и концепции (да, да, та самая абстрактная болтология внезапно играет огромную роль, если мы поднимемся чуть выше уровня кода), в рамках которых код пишется. Требования о быстродействии, об использовании библиотек, функциональные требования, сотни их, даже предсталвения о "красоте кода" (которые вырабатываются только с опытом, с большим опытом).
Я могу привести пример из своей практики, когда разраб ругал Retroift https://square.github.io/retrofit/ за то, что из коробки нет возможности отследить количество загруженных байт. Его представления о "качестве" требовали полного контроля над процессом загрузки. Ему, конечно же, удалось написать костыль, который этот прогресс отслеживал. Но это совсм не вязалось с понятием "качества" продукта в целом. Во-первых его костыль размывал границу между слоями архитектуры, делая код ну максимально жёстким. Во-вторых это было просто-напросто не нужно. В 99,99% запросов нам не важно, сколько байт было принято и отправлено.
Если мы дадим нейронке общую задачу, то получим такое же общее решение. А чтобы ответ был "качественным", надо описывать критерии "качества". Об этом, в числе прочего, принцип "Рефлексия над результатом". Задача пользователя нейронки (как и задача руководителя!) поставить нейронку (подчинённого) в условия, когда она будет делать то, что требуется.
Цель использования ИИ это, в том числе, снижение доли ручного труда. Вы же не будете отрицать, что писать на языке высокого уровня удобнее, чем на ассемблере? ИИ позволит (в будущем) подняться нам на ещё один уровень выше. Статья - это предложение варинта того, как в этому подготовиться.
Да. Таким образом, например, фиксится баг Убунту №1. Я себя лично к линуксоидам не отношу, просто однажды по производственной необходимости мне пришлось перейти на Убунту. Несколько первых дней было непривычно, да и до сих пор некоторого софта не хватает. Но за два года мне ещё ни разу не пришлось перестанавливать систему, не приходилось искать драйвера устройств, компьютер даже ни разу не завис, насколько я помню. И уж точно ни разу не было ситуации, когда внезапно всё переставало работать.