Nieuwe programmeertaal maakt het coderen van sociale apps eenvoudiger

Hoewel er maar een paar toetsaanslagen en muisklikken nodig zijn om een ​​tweet op Twitter te plaatsen of iemand op Facebook te bevrienden, zijn er mogelijk duizenden regels code nodig om de taak te volbrengen.





Hond , een nieuwe programmeertaal, zou het gemakkelijker en intuïtiever kunnen maken om allerlei sociale toepassingen te schrijven - van peer-to-peer vraag-en-antwoordsites tot online dating. En omdat Dog natuurlijke taal bevat, kan dit het voor nieuwkomers gemakkelijker maken om ook te leren coderen.

MIT Media Lab-professor september Kamvar , die Dog heeft ontwikkeld met de hulp van enkele afgestudeerde studenten, hoopt de taal de komende maanden in een privé-bètaversie uit te brengen en in het voorjaar een openbare release aan te bieden.

Dog kwam voort uit Kamvars frustratie met bestaande programmeertalen, zoals Java, die volgens hem nodeloos moeilijk te gebruiken waren om code te schrijven die sociale interacties regelt. Dingen die gemakkelijk in het Engels te beschrijven waren - zoals een opdracht om iemand ergens van op de hoogte te stellen - moesten worden bedacht in termen van gegevensopslag en communicatieprotocollen wanneer hij ging zitten om het in code te schrijven.



Ik moest code schrijven op een lager abstractieniveau dan ik moest nadenken over de interacties, zegt hij. En dus dacht ik dat het interessant zou zijn om een ​​programmeertaal te gaan schrijven waarmee ik op hetzelfde abstractieniveau kon schrijven als ik denk.

Kamvar begon aan Dog te werken door specifieke uitdagingen te definiëren die hij heeft met traditionele programmeertalen bij het bouwen van sociale applicaties, waaronder het identificeren van mensen en praten en luisteren naar hen. Hij kwam met enkele ideeën om deze problemen op te lossen met een nieuwe programmeertaal - om het bijvoorbeeld gemakkelijker te maken om mensen te identificeren, maakte hij van mensen een basisgegevenstype dat de taal kon herkennen, net zoals andere talen tekstreeksen of gehele getallen herkennen .

Vervolgens creëerde hij een eenvoudige syntaxis rond deze ideeën die natuurlijke taal gebruikt (aangezien de taal zich bezighoudt met het coördineren en communiceren met mensen) en concentreerde hij zich op een kleine reeks zeer duidelijke opdrachten: vragen, luisteren, informeren en berekenen. Een voorbeeldregel code in een eenvoudige toepassing voor sociale nieuwsfeeds luidt: LISTEN TO PEOPLE FROM mit VIA http FOR posts, waarmee de toepassing het web zou controleren op updates van een groep aan MIT gelieerde mensen.



Hoewel al deze dingen in andere programmeertalen kunnen worden gedaan, beweert Kamvar dat het over het algemeen niet erg eenvoudig is. En gebruikers kunnen functies uit andere programmeertalen importeren, zegt Kamvar, dus interactieontwerp en sociale processen kunnen in Dog worden geschreven, terwijl andere functies in een andere taal kunnen worden geschreven.

Het afgelopen jaar hebben Kamvar en studenten de Dog-compiler ontwikkeld - de software die code omzet in een taak die een computer zal uitvoeren - en demoprogramma's in de taal geschreven om het uit te testen, zoals een Twitter-achtige nieuwsfeed. Een daarvan is een peer-to-peer leer- en leerplatform genaamd Karma dat werkt binnen het uitgebreide sociale netwerk van een gebruiker; het zal naar verwachting volgende zomer voor het publiek beschikbaar zijn.

Dog zal gratis en open source zijn, dus gebruikers kunnen het naar eigen inzicht toevoegen en aanpassen. En hoewel Dog een taal aan de serverzijde is, wat betekent dat het afhankelijk is van het verzenden van gegevens naar een server om taken uit te voeren, bouwt de groep ook een versie aan de clientzijde.



Kamvar zal waarschijnlijk enkele hondensceptici tegenkomen, zoals: Robert Harper , een professor in computerwetenschappen aan de Carnegie Mellon University die programmeertaaltheorie bestudeert. Hoewel Harper zegt dat het logisch is om talen te creëren die voor niet-codeerders gemakkelijker te begrijpen zijn, ziet hij programmeren voor social computing niet als een niche die moet worden gevuld. En hoewel een taal als Dog in het begin misschien gericht is op een speciaal type codering, raak je steevast betrokken bij complexere problemen, en als je een taal gebruikt die is gecodeerd naar stereotiepe scenario's, valt het snel uiteen, zegt hij. .

Hoewel Kamvar benadrukt dat hij Dog niet ziet als natuurlijke taalprogrammering in de trant van bijvoorbeeld Wolfram Alpha of Inform 7, zou de toevoeging van frasering in natuurlijke taal Dog gemakkelijker moeten begrijpen door niet-programmeurs, zoals interactieontwerpers of productmanagers bij startups, die vaak met ideeën komen over wat er moet gebeuren, maar dan moeten wachten tot een software-engineer die wijzigingen in de bedrijfscode aanbrengt.

Meer in het algemeen kan Dog het voor iedereen eenvoudiger maken om te programmeren of op zijn minst te begrijpen wat er achter de schermen van een website gebeurt. Ondanks de aandacht voor online code-learning startups zoals Codecademy, is er niet veel aandacht besteed aan het feit dat programmeren misschien gewoon moeilijker is dan het moet zijn, zegt Kamvar.

Misschien moet die aandacht gaan naar het ontwerpen van programmeertalen die van nature beter leerbaar zijn, maar nog steeds industrieel sterk zijn, zegt hij.

zich verstoppen