È consigliabile un linguaggio di scripting parzialmente familiare?

2

Dato che un programma (in fase di sviluppo) ha bisogno di un linguaggio di scripting, e che per vari motivi non è possibile usare uno standard come è, sto considerando di basarlo sulla sintassi e su alcune delle semantiche di JavaScript, essendo qualcosa che praticamente tutti conoscono, compreso l'uso dell'estensione del file .js in modo che ad es gli editor sapranno come sintassi degli script highlight.

È necessario modificare alcuni in ogni caso, per determinati motivi tecnici. Mi sembra ragionevole apportare qualche altro cambiamento che la maggior parte delle persone considererebbe miglioramenti. Ad esempio, eliminando la regola "punto e virgola sono opzionali" che a volte fa scattare le persone e fa diventare un blocco all'interno di una funzione un nuovo contorno lessicale. Ma non sono sicuro che questo sia ciò che la maggior parte della gente vuole davvero. Quindi delle seguenti opzioni:

  1. Rimanere il più vicino possibile a JavaScript, anche aspetti che tutti concordano essere errori di per sé, deviando solo quando considerazioni tecniche lo rendono assolutamente necessario. (Non si tratta di essere in grado di utilizzare il codice JavaScript esistente in ogni caso, sto parlando esclusivamente dei vantaggi della familiarità dal punto di vista dell'utente.)

  2. Vai con il piano attualmente in esame, crea qualcosa che somiglia molto a JavaScript ma si differenzia per vari aspetti.

  3. Tutto o niente, se non riesco a utilizzare JavaScript effettivo, creo un nuovo linguaggio di scripting che sia visibilmente completamente diverso (ad esempio non la sintassi in stile C) quindi non c'è possibilità di confonderlo con JavaScript.

Quale opzione sarebbe generalmente considerata preferibile? C'è una quarta opzione che mi manca?

    
posta rwallace 25.08.2011 - 15:45
fonte

1 risposta

4

Se devi scrivere il tuo linguaggio di scripting, non deciderei di scriverlo in modo simile a un altro solo perché è già visto e i programmatori hanno familiarità con.

Per prima cosa devi considerare le esigenze di questo linguaggio di scripting: è necessario creare al volo strutture di codice complesse o solo piccoli script non collegati e / o modifiche dei dati? Di quali funzionalità hai bisogno? È preferibile che sia più astratto, più veloce o con una sintassi più chiara?

Che tipo di strutture dati devono essere implementate? Quale di queste strutture è meglio descritta usando una particolare sintassi? Dato un problema abbastanza complicato che potrebbe essere necessario risolvere usando il tuo linguaggio, prova a risolverlo usando varie sintassi: quale sintassi è la migliore per descrivere cosa fa il codice?

Penso che dopo aver scoperto quali sono i requisiti della lingua e provato varie sintassi, avrai un'idea di quale sintassi è più adatta per il lavoro .

Modifica

Come ha commentato Spencer

This is a perfect example of a domain specific language. You don't want it to solve any problem, it just has to easily describe your specific problem set.

    
risposta data 25.08.2011 - 16:35
fonte