Od jakiegoś czasu używamy komend głosowych, które stają się poleceniami dla komputera lub telefonu. Wypowiadanie komend może stać się poleceniem programistycznym. Czy można programować bez użycia rąk i czym jest voice coding?
Alexa, Siri, Apple CarPlay i Android Auto – tych poleceń głosowych używamy do obsługi wielu gadżetów. Istnieją również aplikacje mobilne, reagujące na polecenia głosowe. Funkcjonuje również opcja, żeby głosowo “pisać” kod programistyczny. Wydawałoby się to niemożliwe – podstawowym narzędziem pracy programisty jest przecież język programowania, wpisywany ręcznie.
Voice coding: czym jest?
Kodowanie głosowe to nie lada wyzwanie – zawiera specjalne znaki i wyrażenia, które trzeba znać, żeby móc je wypowiadać. Istnieje wiele rodzajów składni i konwencji oraz słów spoza słownika. Poza tym kod źródłowy jest tekstem trudniejszym do przepisywania „ze słuchu” niż tekst literacki – znajduje się w nim wiele nawiasów, wcięć na różnych poziomach, duża liczba znaków interpunkcyjnych. Kolejna rzecz to dbałość o dokładność – literówka w kodzie zablokuje dalsze przetwarzanie danych wejściowych. W efekcie operacja nie powiedzie się.
Aplikacja do programowania głosowego
Programowanie głosowe jest możliwe za pomocą aplikacji Serenade, której działanie opiera się na silniku speech-to-text, zamieniającym mowę w kod programistyczny. W uproszczeniu: gdy programista mówi komendę na głos, silnik oprogramowania przekazuje ją do swojej warstwy przetwarzania języka naturalnego. W dalszej kolejności modele uczenia maszynowego identyfikują i tłumaczą typowe konstrukcje na poprawny pod kątem składni kod i w ten sposób powstaje kod głosowy. Zatem nie działa to tak jak Google Asistant, który przetwarza mowę, a dokładnie “tłumaczy” język naturalny na głosowe programowanie.
Voice coding: ciekawostki
Serenade pozyskała w 2020 roku 2,1 mln dolarów dofinansowania na dalszy rozwój. Współzałożyciel aplikacji był podobno tak zmęczony pisaniem kodu, że nie mógł dłużej pisać. W pewnym momencie stanął przed ultimatum: wybór innej ścieżki zawodowej albo… zupełnie inne rozwiązanie. Wybrał to drugie i stworzył oprogramowanie, które pozwala mu realizować się w ulubionej dziedzinie.
Programowanie bez użycia rąk
Podobna historia wiązała się z twórcą platformy Talon, Ryanem Hilemanem. Odszedł z etatu programisty ze względu na coraz silniejszy ból ręki. Talon działa na zasadzie rozpoznawania mowy, śledzenia wzroku oraz wychwytywania hałasu. Funkcjonowanie platformy bazuje na Wav2letter Facebooka, a Hileman rozwinął o wykrywanie komend programistycznych. W aplikacji funkcjonuje dodatkowo nowatorska nawigacja za pomocą myszy (ruch kursora po ekranie poprzez ruch gałek ocznych i klikanie za pomocą ruszanie ustami).
Voice coding: przyszłość
Mimo tych nowinek, trudno uwierzyć, że programowanie bez użycia rąk stanie się wiodącym kierunkiem rozwoju w IT. Większość programistów pozostanie przy rozwiązaniach dla nich wygodniejszych. Jednak ta nisza ma potencjał do wykorzystania dla tych, którzy z jakichś powodów nie mogą korzystać z tradycyjnych narzędzi programistycznych lub …żądnych nowych wrażeń.