211service.com
Il nuovo linguaggio di programmazione semplifica la codifica delle app social
Mentre bastano pochi tasti e clic del mouse per pubblicare un tweet su Twitter o fare amicizia con qualcuno su Facebook, potrebbero essere necessarie migliaia di righe di codice per svolgere l'attività.
Cane , un nuovo linguaggio di programmazione, potrebbe rendere più facile e intuitivo scrivere tutti i tipi di applicazioni sociali, qualsiasi cosa, dai siti di domande e risposte peer-to-peer agli appuntamenti online. E poiché Dog incorpora il linguaggio naturale, questo potrebbe rendere più facile anche per i neofiti imparare a programmare.
Professore del MIT Media Lab settembre Kamvar , che ha sviluppato Dog con l'aiuto di alcuni studenti laureati, spera di rilasciare la lingua in una versione beta privata nei prossimi mesi e di offrirne una versione pubblica in primavera.
Dog è emerso dalla frustrazione di Kamvar con i linguaggi di programmazione esistenti, come Java, che riteneva fossero inutilmente difficili da usare per scrivere codice che regolasse le interazioni sociali. Cose che erano facili da descrivere in inglese, come un comando per notificare qualcosa a una persona, dovevano essere pensate in termini di archiviazione dei dati e protocolli di comunicazione quando si sedeva per scriverlo in codice.
Ho dovuto scrivere codice a un livello di astrazione inferiore a quello che dovevo pensare alle interazioni, dice. E così ho pensato che sarebbe stato interessante iniziare a scrivere un linguaggio di programmazione che mi permettesse di scrivere allo stesso livello di astrazione che penso.
Kamvar ha iniziato a lavorare su Dog definendo sfide specifiche che ha con i linguaggi di programmazione tradizionali durante la creazione di applicazioni social, che includono l'identificazione delle persone e il parlare e ascoltarle. Ha avuto alcune idee per risolvere questi problemi con un nuovo linguaggio di programmazione, ad esempio, per facilitare l'identificazione delle persone, ha creato per le persone un tipo di dati di base che il linguaggio poteva riconoscere, proprio come altri linguaggi riconoscono stringhe di testo o interi .
Quindi ha creato una semplice sintassi attorno a queste idee che utilizza il linguaggio naturale (dal momento che il linguaggio si occupa di coordinare e comunicare con le persone) e si è concentrato su un piccolo insieme di comandi molto chiari: chiedi, ascolta, notifica e calcola. Una riga di codice campione in una semplice applicazione di feed di notizie social recita, ASCOLTA PERSONE DA mit VIA http FOR post, che farebbe sì che l'applicazione monitori il Web per gli aggiornamenti da un gruppo di persone affiliate al MIT.
Mentre tutte queste cose possono essere fatte in altri linguaggi di programmazione, Kamvar sostiene che generalmente non è molto facile. E gli utenti possono importare funzioni da altri linguaggi di programmazione, afferma Kamvar, quindi il design dell'interazione e i processi sociali possono essere scritti in Dog mentre altre funzioni possono essere scritte in un altro linguaggio.
Nell'ultimo anno, Kamvar e gli studenti hanno sviluppato il compilatore Dog, il software che trasforma il codice in un'attività che verrà eseguita da un computer, e hanno scritto programmi demo nella lingua per testarlo, come un feed di notizie simile a Twitter. Uno è una piattaforma di insegnamento e apprendimento peer-to-peer chiamata Karma che funziona all'interno del social network esteso di un utente; dovrebbe essere pubblicamente disponibile entro la prossima estate.
Dog sarà gratuito e open source, quindi gli utenti potranno aggiungerlo e modificarlo come desiderano. E mentre Dog è un linguaggio lato server, il che significa che si basa sull'invio di dati a un server per eseguire attività, il gruppo sta anche creando una versione lato client.
È probabile che Kamvar affronti alcuni scettici sui cani, come Robert Harper , un professore di informatica alla Carnegie Mellon University che studia teoria del linguaggio di programmazione. Mentre Harper afferma che ha senso creare linguaggi più facili da capire per i non programmatori, non vede la programmazione per il social computing come una nicchia che deve essere riempita. E sebbene un linguaggio come Dog possa iniziare come orientato verso un tipo speciale di codifica, invariabilmente vieni coinvolto in questioni più complesse, e se stai usando un linguaggio codificato per scenari stereotipati, si rompe rapidamente, dice .
Mentre Kamvar sottolinea che non vede Dog come una programmazione in linguaggio naturale sulla scia, ad esempio, di Wolfram Alpha o Inform 7, l'inclusione del fraseggio in linguaggio naturale dovrebbe rendere Dog più facilmente comprensibile dai non programmatori, come gli interaction designer o i product manager delle startup, che spesso hanno idee su cosa deve essere fatto, ma poi devono aspettare che un ingegnere del software apporti tali modifiche al codice dell'azienda.
Più in generale, Dog potrebbe rendere più semplice per chiunque programmare o almeno capire cosa sta succedendo dietro le quinte di un sito web. Nonostante l'attenzione dedicata alle startup di apprendimento del codice online come Codecademy, non è stata prestata molta attenzione al fatto che la programmazione potrebbe essere più difficile di quanto dovrebbe essere, afferma Kamvar.
Forse quell'attenzione dovrebbe andare verso la progettazione di linguaggi di programmazione che sono intrinsecamente più apprendibili, ma ancora una forza industriale, dice.