nodejs

Già da un paio di anni (dal 2009 per essere precisi), è in sviluppo node.js, un progetto molto interessante:
Usa Javascript (V8, l'engine JS di Google, usata anche dentro il loro browser Chrome) per sviluppare programmi server.
In passato, Javascript era famoso sopratutto per animazioni web e richieste asincrone (conosciuto come Ajax/Ajaj), però ultimamente viene usato sempre di più nel settore server.

Però perchè sviluppattori iniziano ad usare Javascript per specifici progetti e non tecnologie "classiche" come Php o .net? Quale sono i vantaggi? Quale i svantaggi?

Il vantaggio principale è l'architettura non sincrona di Javascript. Normalmente, se un utente visita un sito, e il sistema di server legge dati dal database o dal disco del server, questo processo blocca il server per altre richieste.
E qui, l'architettura event-based di Javascript mostra le sue forze: Quando l'utente apre il sito, JS richiede i dati dal database, però non blocca lo flusso del programma; quando i dati richiesti sono pronti, viene chiamata una funzione callback, che procede con l'operazione.
Cioè è molto più scalabile per server con tanti utenti contemporanei.
Per siti "normali" con 100-1000 visitatori al giorno, questo non è un problema neanche con le lingue "classiche", però per siti con millioni di richieste al giorno può essere un vantaggio serio, un esempio è mapbox, un fornitore di mappe, usato tra l'altro su foursquare, loro hanno sviluppato l'intero sistema su node.js per il discorso di scalabilità, siccome è un applicazione che ha tantissime operazioni di lettura file (ogni mappa è composta da varie immagini, che devono essere letti una per una dal disco o dalla ram, dipende se e come sono cachate).

Un altro vantaggio è, che c'è un linguaggio per sia server-side che client-side.

Per saperne di più, visitate il loro sito:

www.nodejs.org