Esistono linguaggi di scripting Web tipizzati staticamente? [chiuso]

12

Sembra che ci siano due modi principali per configurare un back-end del server web. Puoi usare uno stack LAMP, con il codice lato server in qualcosa come PHP o Python (o Ruby o JavaScript, che non iniziano con una P.) Questi linguaggi di scripting tendono ad essere tipizzati dinamicamente, con tutti gli svantaggi in prestazioni, correttezza e manutenzione che i linguaggi digitati dinamicamente portano, ma è facile aggiornare il server perché tutta la logica di generazione della pagina è memorizzata in script esterni.

L'altro principale stile di architettura in uso esteso è ASP.NET, in cui la logica di generazione della pagina è scritta in codice compilato. Questo tende ad usare linguaggi tipizzati staticamente, quindi ottieni il codice che ha il vantaggio di un compilatore, ma tutta la logica di generazione della pagina è compilata nel server, il che significa che se devi cambiare qualcosa, devi prendere il server e sostituiscilo con una nuova build.

Quindi questo mi fa meravigliare. Esistono linguaggi di scripting lato server che utilizzano la tipizzazione statica, per il meglio di entrambi i mondi?

    
posta Mason Wheeler 14.04.2013 - 18:14
fonte

4 risposte

8

AGGIORNAMENTO: più soluzioni correnti includono AtScript

Dovresti provare Google Dart .

Ha una digitazione opzionale, il che significa che è possibile aggiungere annotazioni di tipo che verranno controllate in modalità "verificata", ovvero in modalità di sviluppo, ma non sono necessarie e il linguaggio offre molti dei vantaggi di altri linguaggi dinamici come Python. Tuttavia, l'editor farà un'inferenza di tipo per cercare di aiutarti a trovare gli errori in anticipo. Il dardo VM è veloce e può produrre istantanee, che possono accelerare i tempi di avvio fino a 10 volte. Compilare anche in javascript ed è veloce .

Lo svantaggio principale qui è che si tratta di una tecnologia un po 'nuova, quindi non ci sono tante librerie e, sinceramente, l'interoperabilità con javascript non è così semplice come dovrebbe essere. Inoltre, la lingua è ancora in fase di sviluppo, quindi di tanto in tanto vengono apportate delle modifiche.

    
risposta data 14.04.2013 - 19:00
fonte
4

La tua domanda si basa su diverse ipotesi errate.

Python, Ruby sono entrambi compilati in bytecode prima dell'esecuzione. Il processo è automatico, ma le modifiche alle applicazioni richiedono un riavvio completo. Node.JS si comporta allo stesso modo ma compila il codice macchina.

Il codice ASP.NET può essere precompilato e copiato sul server o compilato dinamicamente su richiesta dal codice sorgente sul server. IIS gestisce entrambe le forme di aggiornamento senza tempi morti (le prime richieste dopo l'aggiornamento saranno lente). Gli aggiornamenti zero downtime sono possibili con Python e Ruby, ma con così tante opzioni di implementazione, non sono qualcosa da dare per scontato.

In base a ciò, penserei che saresti felice con qualsiasi linguaggio .NET.

    
risposta data 14.04.2013 - 20:09
fonte
0

Non vi è alcun motivo per cui un linguaggio compilato debba essere tipizzato o difficile da aggiornare.

Potresti voler guardare alcune delle configurazioni web di erlang come Cowboy, Webmachine e azoto. Con Dialyzer è possibile ottenere un controllo di tipo molto carino per la correttezza e si possono ricaricare i moduli al volo in fase di esecuzione poiché erlang è stato progettato per essere in grado di aggiornare il software sul posto senza interrompere gli utenti esistenti.

Inoltre la webmachine (quella che ho usato di più) può essere abbastanza veloce. Ho visto webmachine avere risposte medie sugli endpoint API di meno di 10 ms su un piccolo nodo amazon EC2!

Se vuoi la digitazione statica prova il framework Yesod che è per la lingua Haskell. Haskell è strongmente digitato con un sistema di tipo molto ricco.

Non l'ho usato personalmente, ma la gente che conosco chi lo usa lo adora.

    
risposta data 15.04.2013 - 06:29
fonte
0

IMHO, il miglior linguaggio di scripting web tipizzato staticamente è D .

Come linguaggi di scripting interpretati, può compilare gli script al volo e alla velocità della luce.

Il linguaggio stesso sembra un JavaScript super-potente strongmente tipizzato, molto più potente di Go, per esempio.

Tutta la concorrenza è nascosta, come in PHP, e i modelli sono compilati in codice nativo.

Difficile da trovare meglio di così ...

    
risposta data 03.06.2017 - 12:22
fonte

Leggi altre domande sui tag