@Aethiss said in Parliamo di software 2: Dudeswave:
Ni, se dalla tua descrizione parli di CMS, Blog.. social. Insomma roba accessibile via web.
Erlang fa il suo lavoro. Si. E' un must in quello che fa' ? No. E non e' questione di piacere o non piacere
Lato back-end Go/Java sono ancora un must. NodeJs gia' con node 18.x.x era a livello lato server di fare un lavoro eccellente sia in tempi di risposta, seppur ancora carente nel consumo delle risorse. Siamo a Node 24.x.x (Se fai tu stesso 2 prove facili facili, nel tuo server casalingo, vedrai che la comparazione e' impietosa).
Non confondere "web" con "infrastruttura". Erlang serve il payload al tuo browser e poi non fa altro che rispondere a delle chiamate HTTP con un processo erlang (processo interno alla BEAM) per richiesta.
Go e Java sarebbero dei must su quali basi, di grazia? Per i web framework? Altrimenti qualsiasi linguaggio che abbia un server web decente funziona, se non si bada esclusivamente alla moda.
E no, l'idea di concorrenza di Node (callbacks) e' una merda che deve morire e male. Troppa gente crede che quello sia un modo scalabile di programmare. Non lo e', fa cacare e ti limita tutto ad un processo su una sola macchina. Go va gia' meglio con le goroutines ed i channels. Erlang va oltre, rendendo tutto trasparente fra un set piu' o meno grande di nodi computazionali connessi in una rete di macchine.
Se vuoi, vai a vedere quanto e' schifoso programmare ad eventi in C e tutti vengono a sbragare su libevent e simili. Sono retaggi del preistorico che porca puttana, nessuno ha il coraggio di urlare: "NO! L'I/O NON BLOCCANTE FICCATEVELO NEL CULO!".
Vedo di spiegarmi meglio. Come scala un app ha molte sfaccettature. Molte volte ho sentito da persone piu' varie che i framework javascript vengono usati per moda. In realta' e' falso. Facebook (che ha tirato fuori React), Google (che ha prodotto Angular), l'hanno fatto per un motivo ben preciso. E cioe' spostare il carico dal server ai client, avere applicazioni web piu' veloci e belle da usare, e delegare le comunicazioni server ai vari microservizi (Json its your friend!). Piu' ne hai, meglio scali, meglio tieni botta per tutte le problematiche relative ai big-data.
Un app web JS comparata a ,ignoriamo Erland, mettiamo php, escludendo per il momento il layer di caching, consuma 1/100 delle risorse lato server. Letteralmente scarichi il js sul tuo browser, ed e' TUTTO client. E se sono 100 utenti a navigare, i 100 con un app in React (ad esempio), parlano con il web server 1 volta, un app php ad ogni pagina che naviga.
Poi se si vuole andare piu' nel profondo (sicurezza e/o indicizzazione) , bisogna iniziare a parlare di app isomorfiche (https://en.wikipedia.org/wiki/Isomorphic_JavaScript), ma mi fermo qua' che altrimenti sembra che voglio fare il professore (CHE NON SONO).
Io parlo di scalabilita' lato back-end. Se vuoi spingere la complessita' lato client sei liberissimo di farlo. Quello che io voglio e' aggiungere un nodo, fare un ping, ed averlo a rispondere a richieste in un secondo. Ma andiamo ai tuoi argomenti.
"Spostare carico dal server al client". Mi spieghi allora perche' il mio laptop suda ad usare una qualsiasi app scritta con React o Angular? Non e' che forse, ma dico forse, a questo punto queste applicazioni sarebbero dovute essere native e girare come codice macchina vero e non come un bundle di Javascript obeso dentro un browser web altrettanto obeso?
Puoi spostare la complessita' anche lato client se vuoi, nessuno te lo vieta. Ma se vuoi dati aggiornati dovrai andare dal server, per postarli, o almeno richiederli, no? Dove starebbe la differenza con un'applicazione PHP in questo caso? Non capisco il nesso. Non c'e' scritto da nessuna parte che un'applicazione scritta in PHP lato back-end non possa servire lo stesso Javascript che usi nella tua fantasmagorica app react. PHP risponde a richieste HTTP come una qualsiasi altra tecnologia simile, come e quante volte la tua applicazione contatta il server, esula dalla tecnologia usata.
Non c'e' nulla in PHP di diverso da Node in questo senso. Sono due tecnologie diverse che fanno la stessa cosa.
Una parentesi sui microservizi e JSON: i microservizi devono morire e l'idea che JSON sia un buon formato di interscambio dati deve morire con essi, quando nel 99% dei casi una banale chiamata a funzione sarebbe stata sufficente. Hai mai scritto un parser JSON da zero? Tutti quelli che mi vengono a raccontare che serializzare e deserializzare stringhe UTF-8, incluso l'escaping e' un modo efficente di trasmettere dati fra decine se non centinaia di processi, devono essere malmenati :).
JSON e' una merda e le architetture a microservizio devono morire.
Ah! Un cluster erlang ti da un architettura a microservizio in automatico, inclusa service discovery e senza bisogno di JSON. Ma qui me la tiro dai 
Anzi, ti dico questo. Se per caso vuoi una qualsiasi mano (non nei miei unici 10gg di vacanza adesso ehehe), nei miei limiti di tempo e non, lo faccio con voglia e piacere 
Detto questo, ma non c'erano Tette un tempo. Che caxx e' successo ?
Tette nella sezione apposita. Potrebbe essermi utile una mano con il front-end, quella si. Non sono un programmatore web purtroppo!