Kilka lat temu użyłem Dragon Naturally Speaking bardzo krótko i zastanawiałem się, czy będzie to realne rozwiązanie dla programowania?
Myślałem bardziej, jeśli złamiesz rękę lub coś, co stanowiłoby poważną przeszkodę w programowaniu.
To samo pytanie dotyczące SO, ale nigdy nie było na nie odpowiedzi.
productivity
Jim
źródło
źródło
Odpowiedzi:
Mogę odpowiedzieć na to z własnego doświadczenia. Kilka lat temu złamałem obie ręce w wypadku. Ponieważ moją pracą było programowanie na pełny etat, był to problem. Z pewną pomocą zainstalowałem Dragon na moim laptopie.
To była strata czasu.
Kod nie przypomina języka naturalnego; jest przede wszystkim napisane, a nie mówione. Wiem dokładnie, co to
y_z = (x < 0 ? -x : x) + 2;
znaczy, ale nie mam pojęcia, jak to wymówię, ani mnie to nie obchodzi.Będąc językiem tylko do pisania, kod jest bardzo precyzyjny na poziomie znaków. Istnieje duża różnica między
(x+2)*3
i(x+2*3)
. Programy zamiany mowy na tekst dobrze zwracają uwagę na słowa, a nie na znaki. Dodanie określonych znaków wymaga wielu powiedzeń, takich jak „lewy nawias, x, znak plus, dwa, prawy nawias”.Kiedy koduję, dużo się zmieniam i przepisuję. Przetwarzanie mowy na tekst jest dobre dla pojedynczego strumienia języka. Nie nadaje się do poruszania się po całym mieście.
Wiele drobiazgowych zadań związanych z kodowaniem nie jest równoznacznych z pisaniem, co oznacza, że cała mowa z tekstem jest odpowiednia. Zastanów się, jak często zmieniasz tabulatory, aby patrzeć na inny moduł kodu lub jak często spasujesz i rozwijasz funkcję w swoim edytorze.
Więc jeśli masz program zamiany tekstu na tekst, wypróbuj go i przekonaj się sam. Nie sądzę, że będziesz pod wrażeniem.
Nawiasem mówiąc, nie łam jednocześnie obu rąk. Złamaj pojedynczo, w ten sposób jest o wiele łatwiej.
Gdybym miał tylko jedno złamane ramię, po prostu wykonałbym całe moje kodowanie jedną ręką. Byłoby to jeszcze szybsze niż używanie oprogramowania syntezatora mowy.
źródło
Dla pracującego profesjonalnego programisty (gdzie czas to pieniądz) z ciężkim tunelem nadgarstka lub urazami dłoni (itp.), Może być znacznie bardziej efektywne zatrudnienie „programatora par” dla młodszych / stażystów i pozwolić im na „rozpoznawanie głosu” i pisanie na maszynie.
źródło
Oto link do filmu z Konwencji Pythona, w którym Tavis Rudd wyjaśnia, w jaki sposób dostosował Dragon Naturally Speaking za pomocą swojej struktury wtyczek Python do stworzenia słownictwa odpowiedniego do programowania i edycji w Emacs, vim i terminalu. Inspirujące spojrzenie na możliwości rozpoznawania głosu w dziedzinie programowania i rozwoju.
Używanie Pythona do kodowania za pomocą głosu
źródło
Rzeczywiście możesz zbudować programowanie głosowe za pomocą Dragon NaturallySpeaking, ale Dragon NaturallySpeaking będzie tylko niewielkim fragmentem ogólnego rozwiązania.
Potrzebujesz wielu technologii poza zwykłym przekształcaniem głosu w słowa, aby programować głosem z powodzeniem. Niektóre przykłady problemów, które należy rozwiązać:
Jak wpisać nieprzekazywalne słowa, takie jak ostreambuf_iterator? Jak radzisz sobie z dużymi poziomami interpunkcji w językach programowania? Jak będziesz przełączać się między oknami?
Zasadniczo budowa i nauka programowania za pomocą głosu zajmuje kilka miesięcy. Ludzie tacy jak Joe, którzy oczekują, że coś zadziała w ciągu jednego lub dwóch dni, będą bardzo rozczarowani.
Poruszanie się do przodu i do tyłu działa dobrze z głosem, biorąc pod uwagę rozsądny zestaw poleceń. Na przykład można łatwo określić linię docelową za pomocą wyświetlanego numeru linii mod 100. Poruszanie się po słowach lub znakach interpunkcyjnych działa dobrze w językach programowania do poruszania się po linii.
O wiele więcej informacji na temat tych problemów można znaleźć w często zadawanych pytaniach dotyczących głosowania na stronie http://vocola.net/programming-by-voice-FAQ.html
źródło
Na podstawie odpowiedzi Joe, w której problemem jest to, że nie można iść w tę iz powrotem:
Aby rozwiązać ten problem, możesz dodatkowo użyć śledzenia wzroku.
Języki programowania mogą być czytelne. Smalltalk jest dość czytelny.
Wyobraź sobie język programowania zoptymalizowany do mówienia. To może być zrobione.
W tych słowach: wprowadzanie tekstu mówionego może nie być tym. Ale środowisko kontrolowane mową z programowalnymi cechami byłoby krokiem dalej.
źródło