Pull to refresh

Comments 36

Речевое программирование может стать следующей вехой в разработке ПО

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

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

А в оригинале статьи написано "Next Frontier", а не "следующая веха". Это то, что предстоит завоевать.

Более благозвучного и не растянутого на несколько строчек варианта перевода, к сожалению, не придумалось. Но если вдруг у кого-нибудь возникнут варианты — напишите, обновлю заголовок.

Я бы предложил «следующий рубеж», мне кажется это передаёт изначальный смысл лучше.

У меня был такой вариант, но тогда заголовок звучит не очень гладко, спотыкаешься об него. Надо подумать :)

Речевое программирование может стать следующей вехой в разработке ПО

Нет не может, вы устанете говорить куда раньше чем напишите серьезный объем кода.
Это помимо прочих неудобств и падения скорости

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

Точно не станет, если не ошибаюсь в IBM проводили эксперимент по использованию речевого интерфейса, результаты неутешительные — люди просто устают разговаривать за рабочий день.
Действительно, потом всё надиктованное всё равно руками придётся править.

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

а ещё волшебный ctrl+c ctrl+v проще ведь выделять и нажимать чем произносить
Говорить сложнее, чем печатать. По крайней мере при наличии полноценной клавиатуры и умении печатать.

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


Это пока до нейроинтерфейсов ещё далеко.

А если функция будет называться не hello, а нечто типа incomeBRXoutnorm, oops, backspace, backspace, backspace, backspace, unnorm, ooops, left left left left, shift cntrl left left left backspace да как же там оно было?

Будет больше мотивации давать понятные, человекочитаемые имена функциям и переменным. Как завещал дядюшка Боб.

Человекочитаемые, и человекопроизносимые — это не всегда одно и тоже. А у нас тут имеет место быть запись названия функции с голоса. А что б ее правильно назвать — надо сначала очень четко понимать что она будет делать. А достаточно мало людей, могут держать в голове мегабайты кода + свое местонахождение в них. Остальным приходится адаптировать имена на лету, и сокращать имена до вменяемой длинны. Что б не было именований типа: данные_из_фида_от_федерального_агенства_по_архангельской_области_по_борьбе_с_длинными_названиями_где_глючит_система_и_надо_проверять_последнюю_строчку_чтоббыть_уверенным_что_файл_корректен_иначе_ее_транкейтить.
Хотя читать логи с таким будет увлекательно, факт. И монитор широкоформатный пригодится )
UFO landed and left these words here
Скорее речевое-паттерное програмирование.
Сказал что к чему и как. AI его «запилит». Проверил, подправил и дальше.

Не менее старое, но также актуальное.


Заголовок спойлера
Страшно представить как надиктовать строку с интерполяцией.
Ну ладно, с простеньким языком типа JS это прокатит. А как быть со всякими «инопланетными» языками, типа Rust или Haskell?
Вот пример кода из вики:
import Data.Array
import Data.List (tails, inits)

ps = 2 : [n | (r:q:_, px) <- (zip . tails . (2:) . map (^2)) ps (inits ps),
              (n,True)    <- assocs (
                                accumArray (\_ _ -> False) True (r+1,q-1)
                     [(m,()) | p <- px, 
                               let s = div (r+p) p * p,  m <- [s,s+p..q-1]] )]
Очень бы хотелось посмотреть, как кто-то будет надиктовывать подобный код по 5-6 часов в день.
Serenade сейчас не поддерживает эти языка. Она умеет работать с ограниченным количеством языков (Python, Java, JavaScript, TypeScript, C / C++, Dart, Kotlin, HTML, CSS, Sass).

Развитие в данном направление интересно. Интересно и с точки зрения что из этого выйдет?
Может полученные решения пригодятся для чего-то другого.
Честно говоря проблема написания текста программы это не проблема скорости и объема изначально. Не исключено, что на простое обдумывание логики может уйти больше времени, чем потом на отображение этой логики в коде. Исключаем случаи, когда оплата труда идет за количество строк кода без оценки результата.)

Поток мысли намного быстрее потока речи, а значит скорость будет в разы медленнее. Да и как дебажить таким способом?
Другая проблема — звуки. Если разработчик живёт один и работает на удалёнке — как вариант, но в других случаях это будет невыносимо для окружающих
Сниппеты, автодополнение и прочие улучшения по набору кода, уже сейчас оставляют эту идею на пыльной полке. Также встает вопрос с исправлением уже написанного голосом, а если этого не будет, тогда придется потратить время на переключением между голосовым аппаратом человека и моторикой его пальцев, чтобы внести изменения.

Не взлетит т.к. копипаста со stackoverflow быстрее !

Ничего непонятно. Во-первых за день программист пишет не так много кода. Хорошо если 100 строк в среднем. Во-вторых код невозможно писать подряд из головы, как роман. Код обдумывается, задача осмысливается. Каждые очередные несколько строк создаются итерационно в несколько проходов, корректировок, дополнений, улучшений.
Годится разве что для программиста у которого нет вообще ничего похожего на руки. Или чтобы на минуту почувствовать себя железным человеком с Джарвисом.
Не думаю, что это получит большое распространение, но может быть полезно, например, людям с туннельным синдромом запястья:
youtu.be/8SkdfdXWYaI

Может ещё как "набросать идею кода на бегу", вместо "записать в диктофон, а потом набрать добравшись до клавиатуры".


Но, конечно, как мне видится именно как подспорье для случаев "набивать руками сложно/невозможно" в первую очередь — да, это стоит развивать.

На что будет похож такой код хотя бы с двумя программистами в одном кабинете? А в опенспейсе?
«Описать словами, что вы хотите сделать намного проще, чем через клавиатуру: достаточно сказать „перенеси эти три строки вниз“
Ctrl + X; Ctrl + End; Ctrl + V
Only those users with full accounts are able to leave comments. Log in, please.