Sto creando una grammatica per un linguaggio di scripting ma, mentre ci sto lavorando, ho iniziato a chiedermi che cosa rende bene una lingua in primo luogo. Conosco gli obiettivi per la mia sceneggiatura ma ci sono sempre 1000 modi diversi per fare le cose.
Obiettivi:
- Facile da usare e capire (non mia nonna potrebbe farlo facilmente, ma il segretario alla reception potrebbe farlo o il VP del marketing potrebbe fai questo tipo di facile)
- Nessuna funzione definita dall'utente o subroutine.
- Il suo utilizzo sarebbe negli eventi di oggetti in un sistema simile a HyperCard.
Concettualmente stavo pensando a una lingua come questa:
set myVariable to 'Hello World'
set counter to 0
repeat 5 times with x
begin
set counter to counter add x
end
set myVariable to myVariable plus ' ' plus counter
popup myVariable
set text of label named 'label' to 'new text'
set color of label named 'label' to blue
Il risultato finale aprirebbe una finestra di dialogo con il contenuto Hello World 15
, cambierebbe anche il testo di un'etichetta e la renderebbe blu.
Ma potrei fare la stessa cosa in 1000 modi diversi. Quindi cosa rende una lingua migliore di un'altra quando entrambe sono progettate per gli stessi obiettivi?