I linguaggi personalizzabili sono ampiamente usati, possono o non possono essere. Ma sicuramente resteranno in giro per molto tempo.
Il concetto di sopravvivenza è un termine chiamato "evoluzione". Non puoi mai risolvere i problemi che potresti affrontare in futuro proprio ora. Ci sono molte ragioni per questo. Penso che sia fondamentalmente perché non possiamo anticipare quali problemi potremmo cercare di risolvere in futuro. Non sappiamo nemmeno che tipo di problema saranno. Non sappiamo quanto saranno complessi. Quindi l'unico modo per garantire la sopravvivenza a lungo termine è aprire la porta per "Estensibilità". Ci sono molte lingue che aprono le porte all '"estensibilità". Il modo in cui aprono le porte per l'estensibilità è diverso.
Penso che parli dal punto di vista di un semplice laico. La maggior parte delle persone confonde le librerie e le trucchi di sintassi esistenti come estensibilità. Che non è vero La famiglia di lingue Lisp dispone di macro per risolvere questo problema, è possibile creare facilmente una piega DSL ed estendere la lingua nel modo desiderato. Tuttavia, il costo che si paga è scrivere la lingua in una sintassi omoiconica, che spesso non va giù con molte persone.
Nell'arena dei linguaggi di scripting, Perl sta emergendo come linguaggio molto estensibile e personalizzabile in questi giorni. Moduli come Devel :: Declare, Moose, Moosex :: 'sugar', Try :: Tiny e altri stanno rendendo l'estensibilità del linguaggio molto semplice. Questo è il vero aspetto della personalizzazione e dell'estensibilità. Perl 6 è più personalizzabile nei termini in cui la grammatica stessa è modificabile !!! Il vantaggio di questo genere di cose se dopo qualche tempo si arriva a conoscere qualcosa di più potente e migliore si può fare con più potenza e sintassi alternativa si può facilmente farlo senza rovinare il core dell'interprete e rompere la compatibilità all'indietro. Dopo tutto è solo un plugin di sintassi, sarà lì finché ne avrai bisogno. Poi, quando arrivano le nuove cose, puoi passare alle sole modifiche al codice che sono istruzioni di importazione. Questo tipo di linguaggi si bloccheranno per molto tempo perché combinano potenza, flessibilità e rapidità di sviluppo in un unico ombrello, essendo allo stesso tempo estensibili ed evolutivi.
D'altra parte puoi vedere chiaramente cosa succede quando un tale livello di estensibilità è assente. La sintassi diventa molto fragile, qualsiasi cosa tu provi a fare per cambiarla rompe la compatibilità all'indietro e mantenere la grammatica e farla crescere nel tempo richiede molto tempo. C ++ e Java sono testimoni di queste cose. Seguiranno presto molti altri linguaggi di scripting.
Python è un ottimo linguaggio nel senso che è semplice, facilmente leggibile e mantenibile. Ma è difficilmente personalizzabile ed estensibile nel "senso vero". I suoi poteri si trovano altrove. È facile da imparare e alcuni ottimi framework web sono là fuori per aiutare le persone che stanno pianificando di diventare grandi in quella zona.
Le lingue estendibili e personalizzabili potrebbero non essere ampiamente utilizzate, ma dureranno sicuramente a lungo.