Cosa rende una lingua migliore di un'altra quando entrambe sono progettate per gli stessi obiettivi? [chiuso]

3

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?

    
posta Justin808 02.12.2011 - 19:23
fonte

3 risposte

2

Non c'è una risposta giusta qui. Lingue diverse sono progettate per cose diverse e diversi stili di programmazione. Questo è chiaro dai principi di progettazione anche delle lingue popolari. Dal Zen di Python :

There should be one-- and preferably only one --obvious way to do it.

Perl è stato progettato utilizzando il principio opposto :

There's more than one way to do it

Nessuno di questi linguaggi ha funzionato correttamente. Alcune persone preferiscono uno stile rispetto all'altro, ma alla fine si riduce alle preferenze stilistiche e agli obiettivi della lingua.

    
risposta data 02.12.2011 - 19:36
fonte
1

A meno che tu non sia un progettista esperto di linguaggi, potrebbe essere meglio prendere un linguaggio di programmazione esistente che si è già dimostrato utilizzabile, utile e / o forse persino popolare tra alcuni target simili, e potare la sintassi di quella lingua per soddisfare i tuoi bisogni.

    
risposta data 02.12.2011 - 20:24
fonte
0

l'unica cosa che conta per una lingua è che risolve il problema che è stato progettato per risolvere. ciò che rende una lingua migliore di un'altra è che risolve meglio il problema. Nel tuo caso sembra che sei bloccato su quanto l'inglese scritto dovrebbe essere la lingua, potresti provare a scrivere qualcosa come nella tua domanda in diversi modi che ritieni siano abbastanza buoni e chiedere a qualcuno di apprezzare il meglio (preferibilmente qualcuno a cui è destinato usare la lingua se esistono). se scegli qualcosa e rimani coerente e cerca di evitare di creare casi speciali, qualsiasi cosa tu decida, funzionerà piuttosto bene.

    
risposta data 02.12.2011 - 19:57
fonte

Leggi altre domande sui tag