211service.com
Nowy język programowania ułatwia kodowanie aplikacji społecznościowych
Chociaż wystarczy kilka naciśnięć klawiszy i kliknięć myszą, aby opublikować tweeta na Twitterze lub znajomego na Facebooku, wykonanie zadania może wymagać tysięcy wierszy kodu.
Pies , nowy język programowania, może sprawić, że pisanie wszelkiego rodzaju aplikacji społecznościowych będzie łatwiejsze i bardziej intuicyjne — od witryn typu peer-to-peer z pytaniami i odpowiedziami po randki online. A ponieważ Dog zawiera język naturalny, może to ułatwić nowicjuszom naukę kodowania.
Profesor MIT Media Lab Wrz Kamwara , który opracował Doga z pomocą niektórych absolwentów, ma nadzieję wydać język w prywatnej wersji beta w ciągu najbliższych kilku miesięcy i zaoferować publiczną wersję na wiosnę.
Dog wyłonił się z frustracji Kamvara istniejącymi językami programowania, takimi jak Java, które jego zdaniem były niepotrzebnie trudne do napisania kodu zarządzającego interakcjami społecznymi. Rzeczy, które były łatwe do opisania w języku angielskim — takie jak polecenie powiadomienia osoby o czymś — musiały być traktowane w kategoriach przechowywania danych i protokołów komunikacyjnych, kiedy zasiadał do napisania tego w kodzie.
Musiałem pisać kod na niższym poziomie abstrakcji, niż myślałem o interakcjach, mówi. Pomyślałem więc, że ciekawie byłoby zacząć pisać w języku programowania, który pozwalałby mi pisać na tym samym poziomie abstrakcji, na jakim myślę.
Kamvar rozpoczął pracę nad Psem od zdefiniowania konkretnych wyzwań, jakie stawia przed tradycyjnymi językami programowania podczas tworzenia aplikacji społecznościowych, które obejmują identyfikowanie ludzi oraz mówienie i słuchanie ich. Wpadł na kilka pomysłów na rozwiązanie tych problemów za pomocą nowego języka programowania — na przykład, aby ułatwić identyfikację osób, utworzył dla ludzi podstawowy typ danych, który język może rozpoznać, tak jak inne języki rozpoznają ciągi tekstowe lub liczby całkowite .
Następnie stworzył prostą składnię wokół tych pomysłów, która wykorzystuje język naturalny (ponieważ język ten zajmuje się koordynacją i komunikowaniem się z ludźmi) i skupił się na małym zestawie bardzo jasnych poleceń: pytaj, słuchaj, powiadamiaj i obliczaj. Przykładowy wiersz kodu w prostej aplikacji do obsługi wiadomości społecznościowych brzmi: SŁUCHAJ LUDZI Z MITU PRZEZ http DLA postów, które skłoniłyby aplikację do monitorowania sieci w poszukiwaniu aktualizacji od grupy osób związanych z MIT.
Chociaż wszystkie te rzeczy można zrobić w innych językach programowania, Kamvar twierdzi, że generalnie nie jest to łatwe. A użytkownicy mogą importować funkcje z innych języków programowania, mówi Kamvar, więc projektowanie interakcji i procesy społeczne można napisać w Dog, podczas gdy inne funkcje można napisać w innym języku.
W ciągu ostatniego roku Kamvar i studenci opracowali kompilator Dog — oprogramowanie, które zamienia kod w zadanie, które wykonuje komputer — i pisali programy demonstracyjne w tym języku, aby go przetestować, takie jak kanał informacyjny podobny do Twittera. Jedną z nich jest platforma nauczania i uczenia się peer-to-peer o nazwie Karma, która działa w ramach rozszerzonej sieci społecznościowej użytkownika; oczekuje się, że będzie publicznie dostępny do przyszłego lata.
Dog będzie darmowy i open source, więc użytkownicy będą mogli go dodawać i modyfikować według własnego uznania. I chociaż Dog jest językiem po stronie serwera, co oznacza, że polega na wysyłaniu danych do serwera w celu wykonania zadań, grupa tworzy również wersję po stronie klienta.
Kamvar prawdopodobnie spotka się z niektórymi sceptykami Psów, takimi jak Robert Harper , profesor informatyki na Uniwersytecie Carnegie Mellon, który studiuje teorię języków programowania. Chociaż Harper twierdzi, że tworzenie języków, które są łatwiejsze do zrozumienia dla osób niebędących programistami, ma sens, nie postrzega programowania na potrzeby komputerów społecznościowych jako niszy, którą należy wypełnić. I chociaż język taki jak pies może początkowo być nastawiony na specjalny rodzaj kodowania, zawsze angażujesz się w bardziej złożone problemy, a jeśli używasz języka, który jest zakodowany w stereotypowych scenariuszach, szybko się psuje, mówi .
Chociaż Kamvar podkreśla, że nie postrzega Doga jako programowania w języku naturalnym, w stylu na przykład Wolfram Alpha czy Inform 7, włączenie fraz w języku naturalnym powinno sprawić, że Dog będzie łatwiej zrozumiały dla osób nie będących programistami, takich jak projektanci interakcji lub menedżerowie produktu w startupach, którzy często mają pomysły na to, co należy zrobić, ale potem muszą czekać, aż inżynier oprogramowania wprowadzi te zmiany w kodzie firmy.
Mówiąc bardziej ogólnie, Dog może ułatwić każdemu programowanie lub przynajmniej zrozumienie, co dzieje się za kulisami witryny. Kamvar mówi, że pomimo uwagi, jaką poświęca się startupom uczącym się kodu online, takim jak Codecademy, niewiele uwagi poświęcono temu, że programowanie może być po prostu trudniejsze, niż być powinno.
Może ta uwaga powinna być skierowana na projektowanie języków programowania, które są z natury bardziej uczące się, ale nadal mają siłę przemysłową, mówi.