211service.com
Nytt programmeringsspråk gör det enklare att koda sociala appar
Även om det tar bara några knapptryckningar och musklick för att posta en tweet på Twitter eller vän med någon på Facebook, kan det kräva tusentals rader kod för att utföra uppgiften.
Hund , ett nytt programmeringsspråk, skulle kunna göra det enklare och mer intuitivt att skriva alla möjliga sociala applikationer – allt från peer-to-peer frågor-och-svar-sajter till onlinedejting. Och eftersom Dog innehåller naturligt språk, kan detta göra det lättare för nybörjare att lära sig koda också.
MIT Media Lab professor sep Kamvar , som utvecklade Dog med hjälp av några doktorander, hoppas kunna släppa språket i en privat betaversion under de närmaste månaderna och erbjuda en offentlig release av det under våren.
Dog kom ur Kamvars frustration över befintliga programmeringsspråk, som Java, som han ansåg var onödigt svåra att använda för att skriva kod som styr sociala interaktioner. Saker som var lätta att beskriva på engelska – som ett kommando att meddela en person om något – måste tänkas på i termer av datalagring och kommunikationsprotokoll när han satte sig för att skriva det i kod.
Jag var tvungen att skriva kod på en lägre abstraktionsnivå än vad jag behövde tänka på interaktionerna, säger han. Och så jag tänkte att det skulle vara intressant att börja skriva ett programmeringsspråk som gjorde att jag kunde skriva på samma abstraktionsnivå som jag tror.
Kamvar började arbeta med Dog genom att definiera specifika utmaningar han har med traditionella programmeringsspråk när han bygger sociala applikationer, som inkluderar att identifiera människor och prata och lyssna på dem. Han kom med några idéer för att lösa dessa problem med ett nytt programmeringsspråk – till exempel för att göra det lättare att identifiera personer gjorde han människor till en grundläggande datatyp som språket kunde känna igen, precis som andra språk känner igen textsträngar eller heltal .
Sedan skapade han en enkel syntax kring dessa idéer som använder naturligt språk (eftersom språket handlar om att koordinera och kommunicera med människor) och fokuserade på en liten uppsättning mycket tydliga kommandon: fråga, lyssna, meddela och beräkna. Ett exempel på kodrad i en enkel applikation för socialt nyhetsflöde lyder, LYSSNA PÅ PERSONER FRÅN mit VIA http FÖR inlägg, vilket skulle få applikationen att övervaka webben efter uppdateringar från en grupp MIT-anslutna personer.
Även om alla dessa saker kan göras på andra programmeringsspråk, hävdar Kamvar att det i allmänhet inte är särskilt lätt. Och användare kan importera funktioner från andra programmeringsspråk, säger Kamvar, så interaktionsdesign och sociala processer kan skrivas i Dog medan andra funktioner kan skrivas på ett annat språk.
Under det senaste året har Kamvar och eleverna utvecklat Dog-kompilatorn – programvaran som förvandlar kod till en uppgift som en dator ska köra – och skrivit demoprogram på språket för att testa det, till exempel ett Twitter-liknande nyhetsflöde. Den ena är en peer-to-peer-undervisnings- och inlärningsplattform som kallas Karma som fungerar inom en användares utökade sociala nätverk; den förväntas vara allmänt tillgänglig nästa sommar.
Dog kommer att vara gratis och öppen källkod, så användare kommer att kunna lägga till det och ändra det som de vill. Och medan Dog är ett språk på serversidan, vilket betyder att det förlitar sig på att skicka data till en server för att utföra uppgifter, bygger gruppen också en version på klientsidan.
Kamvar kommer sannolikt att möta några hundskeptiker, som t.ex Robert Harper , en professor i datavetenskap vid Carnegie Mellon University som studerar programmeringsspråksteori. Medan Harper säger att det är vettigt att skapa språk som är lättare för icke-kodare att förstå, ser han inte programmering för social computing som en nisch som måste fyllas. Och även om ett språk som Dog kan börja som inriktat på en speciell typ av kodning, blir du alltid involverad i mer komplexa frågor, och om du använder ett språk som är kodat för stereotypa scenarier, går det snabbt sönder, säger han .
Medan Kamvar betonar att han inte ser Dog som naturligt språkprogrammering i samma stil som till exempel Wolfram Alpha eller Inform 7, bör införandet av naturliga språkfraser göra Dog lättare att förstå för icke-programmerare, såsom interaktionsdesigners eller produktchefer på startups, som ofta kommer med idéer om vad som behöver göras men som sedan måste vänta på att en mjukvaruingenjör ska göra dessa ändringar i företagets kod.
Mer generellt kan Dog göra det enklare för vem som helst att programmera eller åtminstone förstå vad som händer bakom kulisserna på en webbplats. Trots den uppmärksamhet som ägnats åt online-kodlärande startups som Codecademy, har inte mycket uppmärksamhet fokuserats på det faktum att programmering bara kan vara svårare än det måste vara, säger Kamvar.
Kanske den uppmärksamheten borde gå till att designa programmeringsspråk som i sig är mer lärbara, men fortfarande industriell styrka, säger han.