211service.com
Nyt programmeringssprog gør kodning af sociale apps nemmere
Selvom det kun kræver et par tastetryk og museklik at sende et tweet på Twitter eller en ven på Facebook, kan det kræve tusindvis af linjer kode for at udføre opgaven.
Hund , et nyt programmeringssprog, kunne gøre det nemmere og mere intuitivt at skrive alle mulige sociale applikationer – alt fra peer-to-peer spørgsmål-og-svar-sider til online dating. Og fordi Dog inkorporerer naturligt sprog, kan dette også gøre det lettere for nybegyndere at lære at kode.
MIT Media Lab professor sep Kamvar , der udviklede Dog med hjælp fra nogle kandidatstuderende, håber at udgive sproget i en privat betaversion i løbet af de næste par måneder og tilbyde en offentlig udgivelse af det i foråret.
Dog kom ud af Kamvars frustration over eksisterende programmeringssprog, såsom Java, som han mente var unødvendigt svære at bruge til at skrive kode, der styrer sociale interaktioner. Ting, der var nemme at beskrive på engelsk – såsom en kommando om at underrette en person om noget – skulle tænkes på i form af datalagring og kommunikationsprotokoller, når han satte sig for at skrive det i kode.
Jeg skulle skrive kode på et lavere abstraktionsniveau, end jeg skulle tænke på interaktionerne, siger han. Så jeg tænkte, at det ville være interessant at begynde at skrive et programmeringssprog, der gjorde det muligt for mig at skrive på samme abstraktionsniveau, som jeg tror.
Kamvar begyndte at arbejde på Dog ved at definere specifikke udfordringer, han har med traditionelle programmeringssprog, når han bygger sociale applikationer, som omfatter at identificere mennesker og tale og lytte til dem. Han kom med nogle ideer til at løse disse problemer med et nyt programmeringssprog – for eksempel for at gøre det lettere at identificere personer, gjorde han folk til en grundlæggende datatype, som sproget kunne genkende, ligesom andre sprog genkender tekststrenge eller heltal .
Derefter skabte han en simpel syntaks omkring disse ideer, der bruger naturligt sprog (da sproget omhandler koordinering og kommunikation med mennesker) og fokuserede på et lille sæt meget klare kommandoer: spørg, lyt, underret og regn. Et eksempel på kodelinje i en simpel social nyhedsfeed-applikation lyder, LYT TIL MENNESKER FRA mit VIA http FOR indlæg, som ville få applikationen til at overvåge nettet for opdateringer fra en gruppe MIT-tilknyttede personer.
Selvom alle disse ting kan gøres på andre programmeringssprog, hævder Kamvar, at det generelt ikke er særlig let. Og brugere kan importere funktioner fra andre programmeringssprog, siger Kamvar, så interaktionsdesign og sociale processer kan skrives i Dog, mens andre funktioner kan skrives på et andet sprog.
I løbet af det seneste år har Kamvar og studerende udviklet hunde-kompileren – softwaren, der gør kode til en opgave, som en computer vil udføre – og skrevet demoprogrammer på sproget for at teste det, såsom et Twitter-lignende nyhedsfeed. Den ene er en peer-to-peer undervisnings- og læringsplatform kaldet Karma, der fungerer inden for en brugers udvidede sociale netværk; det forventes at være offentligt tilgængeligt næste sommer.
Dog vil være gratis og åben kildekode, så brugere vil kunne tilføje til det og ændre det, som de ønsker. Og mens Dog er et server-side sprog, hvilket betyder, at det er afhængigt af at sende data til en server for at udføre opgaver, er gruppen også ved at bygge en klient-side version.
Kamvar vil sandsynligvis stå over for nogle hundeskeptikere, som f.eks Robert Harper , en professor i datalogi ved Carnegie Mellon University, der studerer programmeringssprogsteori. Mens Harper siger, at det giver mening at skabe sprog, der er nemmere for ikke-kodere at forstå, ser han ikke programmering til social computing som en niche, der skal udfyldes. Og selvom et sprog som Dog kan starte med at være rettet mod en særlig type kodning, bliver du uvægerligt involveret i mere komplekse problemer, og hvis du bruger et sprog, der er kodet til stereotype scenarier, bryder det hurtigt sammen, siger han .
Mens Kamvar understreger, at han ikke ser Dog som naturligt sprogprogrammering i stil med for eksempel Wolfram Alpha eller Inform 7, bør inkluderingen af naturlig sprogfrasering gøre Dog lettere forståelig for ikke-programmører, såsom interaktionsdesignere eller produktchefer hos startups, som ofte kommer med ideer om, hvad der skal gøres, men som så skal vente på, at en softwareingeniør laver disse ændringer i virksomhedens kode.
Mere generelt kunne Dog gøre det lettere for enhver at programmere eller i det mindste forstå, hvad der foregår bag kulisserne på et websted. På trods af opmærksomheden på online-kode-læring startups som Codecademy, har der ikke været meget opmærksomhed på det faktum, at programmering måske bare er sværere, end det behøver at være, siger Kamvar.
Måske bør opmærksomheden gå mod at designe programmeringssprog, der i sagens natur er mere lærelige, men stadig industriel styrke, siger han.