Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22145

Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore)

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore)
Date 2018-08-06 10:22 +0100
Message-ID <fsqiaiF8dgvU1@mid.individual.net> (permalink)
References (2 earlier) <pjeiic$9iv$1@gioia.aioe.org> <fs06jhF9eqeU1@mid.individual.net> <pk1s9r$11rl$1@gioia.aioe.org> <fsjhdjFlmhlU1@mid.individual.net> <pk8und$1r2d$2@gioia.aioe.org>

Show all headers | View raw


On 06/08/2018 08:52, g4b0 wrote:

Cambiamo il subject, va. :)

>> PHP non sta rimanendo affatto indietro, rispetto soprattutto a Python e
>> Ruby. Anzi, sta crescendo a una velocità mostruosa: tipizzazione forte,
>> nuova gestione delle eccezioni, performance che crescono ad ogni
>> versione, ecc.
> 
> Questo è vero, sta crescendo, ma l'hype si sta spostando. Essendo un
> programmatore PHP non vorrei far la fine di chi sviluppava in Flash :)

Vero. Personalmente mi sono spostato verso Go per lavoro (e Rust per 
hobby, finché non diventa abbastanza trendy per usarlo al lavoro), e 
nell'ultimo anno ho scritto un paio di centinaia di righe di PHP.

Non perché ritengo PHP pessimo, ma perché il tipo di software che scrivo 
è diverso.

> Guardandomi attorno le offerte che vedo in giro sono sempre più
> sbilanciate verso lo stack MEAN piuttosto che LAMP. Sarà una questione di
> hype, o ci sono dei reali vantaggi ad avere JS spalmato su tutto lo stack?

Scomponiamo la sigla. :D

MongoDB vs MySQL/PostgreSQL: hanno usi diversi. Vero che moltissimi 
problemi che la gente risolveva con un DB relazionale si adattano meglio 
a un DocumentDB, magari accompagnato da un KeyValue Store (tipicamente 
Redis). L'importante è sapere quando usare cosa.

Express+Node vs PHP+framework: sono due modi diversi di affrontare il 
problema. Uno è stateful, l'altro stateless. Uno è asincrono, l'altro 
multiprocesso. I programmatori PHP che non capiscono la differenza sono 
mediamente MENO di quelli JS. :P Non hai idea di quanti sviluppatori JS 
ho visto scrivere

```
const data = fetch(...).then(v => v.data); // O quello che era
console.log(data);
```

e lamentarsi del server o della connessione perché stampa undefined...
Poi scoprono async/await e fanno tutto async/await.
Poi gli mostri i generatori e non capiscono più niente. :P

A presumo sia Angular. Tecnologia già morta. Tutti usano React e una 
buona percentuale sta andando verso Vue, abbandonando Angular. 
Praticamente Angular sopravvive in ambienti legacy. E stiamo parlando di 
un framework nato 4-5 anni fa...

Personalmente preferisco un approccio `[A-Z]+` sia a MEAN che a LAMP: 
usa quello che va meglio per la situazione.

Lo stack su cui sto lavorando adesso include Go, Elixir, Node+Express, 
Node+Express+React+Next, Nginx+Vue, con script (non web) in PHP e Python 
e sto appunto pensando di introdurre Rust per alcuni servizi che 
richiedono massima stabilità.

Il problema è fossilizzarsi su un unico linguaggio, non su quale linguaggio.

> JS lo conosco, ci lavoro con Cordova per scrivere app, ed in quel
> contesto devo dire che non è male. IMO però ha dei gotcha molto più
> invasivi del PHP, checchè ne dicano gli haters innamorati di nodeJS.

Una sola domanda: what is this? :P

> Ho provato anche a smanettarci lato server, sarà che sono abituato a PHP,
> ma non riesco proprio ad essere produttivo in quel contesto. Infilarmi in
> una callback hell, oppure scrivere n Promise, solo per leggere/scrivere
> da un file mi sembra un idiozia. Concordo sui vantaggi di un approccio
> asincrono, ma IMHO andrebbe usato in contesti dove attendere l'ouput
> diventa un problema e non a prescindere.

Per come la vedo io avere codice asincrono esplicito è un bug, non una 
feature, e infatti Go non ne ha bisogno: quando crei una goroutine è il 
runtime che si occupa di interrompere l'esecuzione quando fai IO e 
passarla ad un'altra goroutine. Non ha senso doverne tenere traccia con 
async e await.

Quando voglio gestirlo esplicitamente mi creo un channel e ci aspetto 
sopra, esponendo sempre una API sincrona.

Asincrono è importante. Multithread è importante, Multiprocesso è 
importante. Non significa che tutti li stiano facendo bene. Anzi.
E nessuno dei tre è più importante di un altro.

> Anche i programmatori Java sono haters non male, pressochè tutti quelli
> di i.l.i. sono programmatori Java che odiano il PHP.

I programmatori Java sono forse i primi haters della storia dei 
linguaggi di programmazione. :D
Loro avevano Sun che gli diceva che erano i migliori (e adesso hanno 
Oracle), e i poveracci che sviluppavano in C e C++ non avevano idea di 
cosa si stessero perdendo.

Per come la vedo io sono dinosauri entrambi. Il linguaggio è importante, 
ma l'ecosistema intorno, a partire dai package managers, è quello che fa 
la differenza. Prendi composer, npm, cargo e confrontali con maven e il 
nulla con il Makefile intorno che c'è per C/C++ (e parzialmente Go, per 
ora).

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-07-25 11:03 +0200
  Re: il ruolo di un validatore fmigliori <fmigliori@gmail.com> - 2018-07-25 02:36 -0700
    Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-07-25 13:31 +0200
      Re: il ruolo di un validatore fmigliori <fmigliori@gmail.com> - 2018-07-25 05:50 -0700
        Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-07-25 17:13 +0200
        Re: il ruolo di un validatore enrico bosi <rnsrico@bo.b> - 2018-07-25 17:48 +0200
          Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-07-25 17:59 +0200
            Re: il ruolo di un validatore fmassei@gmail.com - 2018-07-25 09:53 -0700
  Re: il ruolo di un validatore fmassei@gmail.com - 2018-07-25 08:22 -0700
  Re: il ruolo di un validatore Umberto Salsi <salsi@icosaedro.it> - 2018-07-26 11:54 +0200
    Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-07-27 09:45 +0200
      Re: il ruolo di un validatore Alessandro Pellizzari <shuriken@amiran.it> - 2018-07-27 10:22 +0100
        Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-07-27 12:39 +0200
          Re: Re: il ruolo di un validatore Umberto Salsi <salsi@icosaedro.it> - 2018-07-28 13:01 +0200
            Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-07-29 11:22 +0200
              Re: il ruolo di un validatore Umberto Salsi <salsi@icosaedro.it> - 2018-07-29 12:18 +0200
                Re: il ruolo di un validatore fmassei@gmail.com - 2018-08-03 07:40 -0700
                Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-04 09:40 +0200
                Re: il ruolo di un validatore fmassei@gmail.com - 2018-08-04 05:41 -0700
                Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-10 19:45 +0200
                Re: il ruolo di un validatore Umberto Salsi <salsi@icosaedro.it> - 2018-08-27 11:43 +0200
                Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-30 11:21 +0200
        Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-01 08:26 +0200
          Re: il ruolo di un validatore Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-05 15:51 +0100
            Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-05 18:56 +0200
              Re: il ruolo di un validatore alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-05 21:30 +0200
            Re: il ruolo di un validatore enrico bosi <rnsrico@bo.b> - 2018-08-06 16:33 +0200
              Re: il ruolo di un validatore fmassei@gmail.com - 2018-08-06 07:47 -0700
                Re: il ruolo di un validatore enrico bosi <rnsrico@bo.b> - 2018-08-06 22:47 +0200
                Re: il ruolo di un validatore fmassei@gmail.com - 2018-08-06 14:59 -0700
        [OT] Re: il ruolo di un validatore g4b0 <g4b0@nospam.com> - 2018-08-03 15:27 +0000
          Re: [OT] Re: il ruolo di un validatore fmassei@gmail.com - 2018-08-03 08:35 -0700
          Re: [OT] Re: il ruolo di un validatore Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-03 18:24 +0100
            Re: [OT] Re: il ruolo di un validatore fmassei@gmail.com - 2018-08-03 17:23 -0700
            Re: [OT] Re: il ruolo di un validatore g4b0 <g4b0@nospam.com> - 2018-08-06 07:52 +0000
              Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-06 10:22 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) fmassei@gmail.com - 2018-08-06 08:10 -0700
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-06 16:31 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) fmassei@gmail.com - 2018-08-06 08:39 -0700
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-06 18:03 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) fmassei@gmail.com - 2018-08-06 10:29 -0700
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-08 15:51 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-09 07:02 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-07 07:50 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-07 16:30 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-08 07:06 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-08 13:27 +0200
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-08 12:39 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-08-08 15:13 +0200
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-08 13:44 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-08 16:15 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-09 06:48 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-08 16:57 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-09 07:00 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-09 11:28 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-09 12:41 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-09 13:50 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-09 15:27 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-09 15:31 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-09 18:23 +0100
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) g4b0 <g4b0@nospam.com> - 2018-08-10 07:26 +0000
                Re: Linguaggi di programmazione (era Re: [OT] Re: il ruolo di un validatore) Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-10 10:27 +0100
          Re: [OT] Re: il ruolo di un validatore fmigliori <fmigliori@gmail.com> - 2018-08-03 23:04 -0700
            Re: [OT] Re: il ruolo di un validatore Alessandro Pellizzari <shuriken@amiran.it> - 2018-08-05 16:24 +0100
              Re: [OT] Re: il ruolo di un validatore fmigliori <fmigliori@gmail.com> - 2018-08-05 09:59 -0700
                Re: [OT] Re: il ruolo di un validatore g4b0 <g4b0@nospam.com> - 2018-08-06 07:17 +0000

csiph-web