Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Spiegatemi perché PHP fa schifo

363 views
Skip to first unread message

test

unread,
May 20, 2012, 4:33:02 PM5/20/12
to
No, sinceramente. Ho programmato sempre e solo in PHP nella mia vita (esclusa qualche escursione in C++), e non ho nulla di cui mi penta.

Perché PHP viene detestato da tutti (magari da tutti quelli che non frequentano questo gruppo)?

Perché dovrei imparare python (che non mi viene immediato come java ad esempio)?

Sono solo guerre tra poveri o hanno un senso?

leonardo.1+++

unread,
May 20, 2012, 5:11:25 PM5/20/12
to
Secondo me ogni linguaggio ha delle sue specifiche che lo rendono più
pratico di altri a fare una certa cosa. Poi quella certa cosa può essere
fatta egregiamente da più linguaggi.
Nella realtà, con ogni linguaggio si può fare molte cose di quelle che
fai con un altri.
Poi c'è il famoso detto: cit. "in informatica, quando qualcosa funziona
perfettamente, è obsoleta". Sospetto sia stato coniato per Microsoft.
Leonardo



InSa

unread,
May 20, 2012, 5:12:52 PM5/20/12
to
Ciao,

un punto di vista ed una lettura interessante può essere questa [1].

Ciao

[1] http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

Marco Albarelli (fu Motosauro) @fisso

unread,
May 20, 2012, 5:13:44 PM5/20/12
to
Il 20/05/2012 22:33, test ha scritto:
Dipende molto da quale sia il tuo obiettivo.
Se il tuo obiettivo è ottenere un risultato che soddisfi le richieste
del cliente allora php è uno strumento molto diffuso, facile da
maneggiare e spesso risolve la questione. Quando domani verrà fuori un
nuovo linguaggio più facile, più diffuso, più veloce userai questo nuovo
linguaggio

Se invece il problema da risolvere è dimostrare quanto sia più aderente
a qualche teoria un linguaggio rispetto ad un altro allora spesso php
soccombe per le ragioni che molto spesso sentiamo.

Io per lavoro uso php, javascript e java in base a quello che mi serve.

Non sono guerre fra poveri, sono battibecchi fra appassionati.
Mai sentito due muratori battibeccare su quale sia la betoniera
migliore, ma forse non conosco abbastanza muratori :)
M

--
I fatti mi cosano

fma...@gmail.com

unread,
May 21, 2012, 3:09:14 AM5/21/12
to
Molto interessante. In effetti è quello che pensano un po' tutti, ma vedere (quasi) tutti i punti su una pagina sola fa riflettere :-)
IMO il PHP è diventato diffuso perché è stato il primo linguaggio+environment a permettere di costruire pagine dinamiche ad avere una curva di apprendimento tutt'altro che ripida: ha attratto l'attenzione di tutti coloro che non erano programmatori di professione ma volevano un buon prodotto e conseguentemente anche di professionisti e aziende che hanno trovato (grazie alla tendenza dei prodotti ad essere open) un grosso bacino di codice da cui attingere.
Cosa succederà in futuro è difficile dirlo, ma di certo tutti i "puristi" della programmazione continueranno a dire che è un linguaggio orribile (almeno finché non decideranno di rompere la backward compatibility ed aggiustare un bel po' di cosette).
M2C
Ciao!

wodka40[LinuxMint]

unread,
May 21, 2012, 3:36:50 AM5/21/12
to
On 20/05/2012 23:13, Marco Albarelli (fu Motosauro) @fisso wrote:
> Il 20/05/2012 22:33, test ha scritto:
>> No, sinceramente. Ho programmato sempre e solo in PHP nella mia vita
zac
> migliore, ma forse non conosco abbastanza muratori :)
> M
>

OT
Eh eh eh la seconda che hai detto!!!
a voglia se i muratori sparano a zero sull'attrezzature degli altri
muratori....ristruttura una casa e poi ne riparliamo!!!! eh eh eh!!!

IT
Javascript PHP vbscript Ruby
vengono definiti linguaggi dinamici ..dove non hai la necessità di
dichiarare un tipo di dati

Java C# C C++ VB.net credo anche Python si chiamano statici: hai la
necessita di chiarare PRIMA il tipo di dato raccolto nella variabile o
restituito dalla funzione!

Perchè ciò?
Perchè nel caso del linguaggio statico puoi usare un
compilatore....perchè hai meno casini di interpretazione(il compilatore
controlla prima la congruenza di quello che hai scritto e ti IMPEDISCE
di compiere alcuni bug!)
I linguaggi dinamici sono QUASI tutti INTERPRETATI (deve decidere caso
per caso cosa fare l'interprete)....ciò ti permette di scrivere codice
con meno preoccupazioni se sei esperto ed usare alcune scorciatoie
impossibili agli altri linguaggi statici....ma ti espone anche a bug
disastrosi!

In genere i linguaggi dinamici vengono detti linguaggi di script...con
il PERL ci si amministrano sistemi anche se in teoria si potrbbero
scrivere programmi completi!


In genere c'è una regola FATTA SUL CAMPO....codificata ma solo "di fatto"...
SE IL PROGETTO è piccolo e ci lavora POCA gente.....
scrivi MOLTO velocemente una cosa decente cn un linguaggio dinamico in
vbscript javascript PHP....ovviamnete avendo un server apache PHP è
li...con quintali di tecniche collaudate e tips open source!

SE il progetto è grande....oppure ci lavora TANTA gente....oppure si
espanderà in rami attualmente poco conosciuti....
FAI MOLTA MENO FATICA a manutenere un progetto scritto secondo regole
OOP....e casomai seguendo paradigmi MVVM
Hai una curva di apprendimento più ripida...ma ripagata da una
separazione in "mattoncini lego" della tua applicazione smontabile e
rimontabile con poca fatica da una mano "esperta".

In ciò PHP si avvicina ad un approccio misto.IMHO prima o poi php dovrà
decidersi se essere "pesce" o essere "carne"....attualmente è nel mezzo
un po pesce un po carne!un po script un po OOP!

Per dirti una tecnologia come asp.net (di cui ho esperienza) conduce ad
un codice "furbo"abbinato a IIS:
consente di avere la classica VM di Java e quindi OOP puro con in
teoria il "lento" codice intermedio. Però IIS ci mette del suo e compila
localmente il tuo codice intermedio. Ecco che dopo la prima esecuzione è
come avere un codice compilato. Purtroppo il soldo, il marketing
interviene....e sta roba la ottieni solo su IIS e non su Apache (M$ se
ne guarda bene da produrre un modulo asp.net per apache...e chi
comprerebbe più un windows server???)


RIASSUMENDO:
è utile sapere sia un linguaggio interpretato che uno compilato!
PHP fa schifo ...come Visual Basic...perchè oramai TUTTI(dal mio
ortolano al mio commercialista) si marchiano di programmatore PHP e
programmatore VB(.net casomai).
Ovviamente il 70% di essi produce codice "ciofeca" che indebolisce agli
occhi dell'inesperto (cliente) NON la persona ....ma lo strumento!!!

RIASSUMENDO 2:
OOP sarà una moda! Però è innegabile che pensare a strati...vien più
facile usando una distinzione in oggetti ed interfaccie.
Però potresti mandare a fanculo tutto, fare il figo, ed imparare un
linguaggio funzionale...ed allora saresti un grande che guarda dall'alto
PHP JAVA e quant'altro!!! Il capostipite LISP ed F# Erlang Haskell son
li ad attenderti!

Riassumendo 3:
La mosca bianca c'è sempre!
C o C++.......il linguaggio che ha fatto più casini nella storia
dell'informatica...ma ha anche prodotto Unix linux e gran parte dei
driver che usiamo!Io quando ho lavoravo da un ISP locale ero accanto ad
"un pazzo" che su una macchina Sun con solaris ed Informix programmava
in perl e C semplici siti web per registrarsi online e fare
l'abbonamento ai vecchi modem "che fischiavano"....chissà se ve li
ricordate giovincelli ...eh eh eh!!!

fma...@gmail.com

unread,
May 21, 2012, 3:47:41 AM5/21/12
to
On Monday, May 21, 2012 9:36:50 AM UTC+2, wodka40[LinuxMint] wrote:
> On 20/05/2012 23:13, Marco Albarelli (fu Motosauro) @fisso wrote:
>
> IT
> Javascript PHP vbscript Ruby
> vengono definiti linguaggi dinamici ..dove non hai ...
>

<snip>

Non hai chiaro cosa vuol dire linguaggio dinamico, tantomeno i pro e i contro che ci possono essere nell'utilizzarne uno.

Ciao!

Alessandro Pellizzari

unread,
May 21, 2012, 6:10:21 AM5/21/12
to
Il Mon, 21 May 2012 00:09:14 -0700, fmassei ha scritto:

>> [1] http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
>
> Molto interessante. In effetti è quello che pensano un po' tutti, ma
> vedere (quasi) tutti i punti su una pagina sola fa riflettere :-)

E` una lettura interessante, e, tolto il "rant", e` molto utile come
reference per uno sviluppatore PHP per evitare di scottarsi.

> IMO il PHP è diventato diffuso perché è stato il primo
> linguaggio+environment a permettere di costruire pagine dinamiche ad
> avere una curva di apprendimento tutt'altro che ripida

Al PHPday, Rasums Lerdorf (creatore di PHP) ha tenuto un keynote di
un'oretta, in cui ha spiegato anche come si e` evoluto PHP.

Ha detto che il successo iniziale di PHP, oltre che per la semplicita` di
uso (sintassi molto simile al C e a Perl, in un periodo in cui la gente
faceva CGI in C e Perl), e` dovuto a... rullo di tamburi... php.ini!

PHP era l'unico ambiente che permetteva di definire in modo semplice dei
limiti a quello che l'utente poteva fare: memoria occupata, dimensioni
dei POST, tempo di esecuzione, ecc.

Inoltre e` stato uno dei primi "plugin per Apache", perche` prima o usavi
CGI o dovevi modificare il sorgente di Apache per aggiungere un parse.

Questo ha permesso a chi faceva hosting di installare in modo semplice
centinaia di spazi web abbastanza ben isolati e che non massacrassero le
macchine. Per questo ha avuto la diffusione che ha avuto.

> Cosa succederà in futuro è difficile dirlo, ma di certo tutti i
> "puristi" della programmazione continueranno a dire che è un linguaggio
> orribile (almeno finché non decideranno di rompere la backward
> compatibility ed aggiustare un bel po' di cosette).

Ha parlato anche di cosa succedera` in futuro, e ha detto che,
semplicemente, non lo sa.
PHP seguira` le esigenze del web. Se questo comporta copiare gli altri
(vedi namespace, closures, traits, nuova sintassi per gli array, ecc. di
5.3 e 5.4) continuera` a copiare, cercando di renderli semplici (e ci
sono riusciti bene, IMHO).

Durante il keynote ha anche menzionato nodephp.org, una specie di "clone"
di node.js che usa libevent per fare le stesse cose di node.js in php.
Scritto da un ragazzo presente in sala durante la notte precedente. :D

Ha detto che la forza di PHP e` sempre stata (e continuera` a essere) di
adattarsi alle esigenze di chi sviluppa, ma cercando sempre di non
mettere i bastoni fra le ruote a chi gia` lo usa.

Bye.

Alessandro Pellizzari

unread,
May 21, 2012, 6:15:02 AM5/21/12
to
Il Sun, 20 May 2012 20:33:02 +0000, test ha scritto:

> No, sinceramente. Ho programmato sempre e solo in PHP nella mia vita
> (esclusa qualche escursione in C++), e non ho nulla di cui mi penta.

Questo e` male. :)
Ti consiglio di imparare Javascript, e di provare almeno Java e Python,
per stare sui procedurali (anche se Python e JS ti danno una piccola
finestra sui funzionali).

> Perché PHP viene detestato da tutti (magari da tutti quelli che non
> frequentano questo gruppo)?

Per invidia, IMHO.
E` sul 30% dei server web e serve oltre il 70% del traffico Internet.
Ruby e` a meno del 5%, e Python meno dell'1%. (TIE! ;)

> Perché dovrei imparare python (che non mi viene immediato come java ad
> esempio)?

Per avere una prospettiva diversa sui problemi.
Io da quando ho imparato (sto ancora imparando, a dire il vero)
Javascript, ho cambiato modo di scrivere PHP. E l'avevo gia` cambiato
quando avevo studiato Python.
Invece Java ti dara` un'idea di come NON fare le cose. ;)

Non mi ricordo se sia l'autore di Clean Code o di un altro libro che ha
detto: un programmatore dovrebbe imparare un nuovo linguaggio ogni anno,
anche se continua a usare sempre lo stesso.
Sono d'accordo con lui.

Bye.

fma...@gmail.com

unread,
May 21, 2012, 6:27:39 AM5/21/12
to
On Monday, May 21, 2012 12:10:21 PM UTC+2, Alessandro Pellizzari wrote:
> Il Mon, 21 May 2012 00:09:14 -0700, fmassei ha scritto:
>
> >> [1] http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
> >
> > Molto interessante. In effetti è quello che pensano un po' tutti, ma
> > vedere (quasi) tutti i punti su una pagina sola fa riflettere :-)
>
> E` una lettura interessante, e, tolto il "rant", e` molto utile come
> reference per uno sviluppatore PHP per evitare di scottarsi.
>
> > IMO il PHP è diventato diffuso perché è stato il primo
> > linguaggio+environment a permettere di costruire pagine dinamiche ad
> > avere una curva di apprendimento tutt'altro che ripida
>
> Al PHPday, Rasums Lerdorf (creatore di PHP) ha tenuto un keynote di
> un'oretta, in cui ha spiegato anche come si e` evoluto PHP.
>
> Ha detto che il successo iniziale di PHP, oltre che per la semplicita` di
> uso (sintassi molto simile al C e a Perl, in un periodo in cui la gente
> faceva CGI in C e Perl), e` dovuto a... rullo di tamburi... php.ini!
>
> PHP era l'unico ambiente che permetteva di definire in modo semplice dei
> limiti a quello che l'utente poteva fare: memoria occupata, dimensioni
> dei POST, tempo di esecuzione, ecc.
>
> Inoltre e` stato uno dei primi "plugin per Apache", perche` prima o usavi
> CGI o dovevi modificare il sorgente di Apache per aggiungere un parse.
>
> Questo ha permesso a chi faceva hosting di installare in modo semplice
> centinaia di spazi web abbastanza ben isolati e che non massacrassero le
> macchine. Per questo ha avuto la diffusione che ha avuto.
>

Giustissimo! Al php.ini non avevo proprio pensato :-)
Per quanto riguarda il resto non so, non vorrei sbagliarmi con le tempistiche, ma a memoria direi che già esistevano le JSP che permettevano (seppure in maniera più complessa) di risolvere gli stessi problemi; per questo a sensazione pensavo che dipendesse più dalla facilità di utilizzo e dalla dimensione "casereccia" del linguaggio (opposta a quella enterprise del Java).

> > Cosa succederà in futuro è difficile dirlo, ma di certo tutti i
> > "puristi" della programmazione continueranno a dire che è un linguaggio
> > orribile (almeno finché non decideranno di rompere la backward
> > compatibility ed aggiustare un bel po' di cosette).
>
> Ha parlato anche di cosa succedera` in futuro, e ha detto che,
> semplicemente, non lo sa.
> PHP seguira` le esigenze del web. Se questo comporta copiare gli altri
> (vedi namespace, closures, traits, nuova sintassi per gli array, ecc. di
> 5.3 e 5.4) continuera` a copiare, cercando di renderli semplici (e ci
> sono riusciti bene, IMHO).
>
> Durante il keynote ha anche menzionato nodephp.org, una specie di "clone"
> di node.js che usa libevent per fare le stesse cose di node.js in php.
> Scritto da un ragazzo presente in sala durante la notte precedente. :D
>
> Ha detto che la forza di PHP e` sempre stata (e continuera` a essere) di
> adattarsi alle esigenze di chi sviluppa, ma cercando sempre di non
> mettere i bastoni fra le ruote a chi gia` lo usa.
>
> Bye.

Filosofia comprensibile, but IMHO errata. Non ci vedrei nulla di male se (per dire) uscisse un PHP 6 non retro-compatibile con PHP 5 che invece di aggiungere strumenti quasi inutili (diciamocelo, praticamente nessuno sentiva o sente il bisogno delle traits) mette un po' di ordine nelle incosistenze del linguaggio.
Se devo dire la mia, sinceramente e ad esempio, aggiungere un minimo di tipizzazzione (alla as3, per capirci) o nuovi tipi di containers built-in sarebbe tutto di guadagnato (porterebbe codici più stabili e più performanti, e oltretutto con il minimo sforzo nella modifica dello Zend-engine).
Ciao!

Wodka40°

unread,
May 21, 2012, 6:52:31 AM5/21/12
to
fma...@gmail.com ha pensato forte :
> On Monday, May 21, 2012 9:36:50 AM UTC+2, wodka40[LinuxMint] wrote:
>> On 20/05/2012 23:13, Marco Albarelli (fu Motosauro) @fisso wrote:
zac
>
> Ciao!

....E' ovvio che ho fatto alcune forzature per non fare palle inutili!

http://informatica.scienze.unimore.it/dispense-linguaggi-dinamici/T1-introduzione_prn.pdf

http://translate.google.it/translate?hl=it&langpair=en%7Cit&u=http://en.wikipedia.org/wiki/Dynamic_programming_language

IoProgrammo novembre 2007 numero 120 inserto sui linguaggi


(funzionali...erlang...http://it.wikipedia.org/wiki/Erlang_(linguaggio))

sei proprio convinto che non ne sappia nulla????!!!!
Vabbe...campo lo stesso!
Ciao!

--
----- Italliaaaaa 3227! -----
Verace o finta, è da temersi sempre pietà di plebe.
(Vittorio Alfieri)


fma...@gmail.com

unread,
May 21, 2012, 7:08:45 AM5/21/12
to
On Monday, May 21, 2012 12:52:31 PM UTC+2, Wodka40° wrote:
> fma...@gmail.com ha pensato forte :
> > On Monday, May 21, 2012 9:36:50 AM UTC+2, wodka40[LinuxMint] wrote:
> >> On 20/05/2012 23:13, Marco Albarelli (fu Motosauro) @fisso wrote:
> zac
> >
> > Ciao!
>
> ....E' ovvio che ho fatto alcune forzature per non fare palle inutili!
>

A me molte cose sembravano completamente errate (una su tutte, la dinamicità non dipende da come vengono gestiti i "tipi di dati").

> http://informatica.scienze.unimore.it/dispense-linguaggi-dinamici/T1-introduzione_prn.pdf
>

Mamma mia! E' terribile! :-(
Eppure questo Mauro Andreolini sembra avere un CV di tutto rispetto... non so cosa pensare :( Sembra sia rimasto ai concetti di 10 o 20 anni fa..

> http://translate.google.it/translate?hl=it&langpair=en%7Cit&u=http://en.wikipedia.org/wiki/Dynamic_programming_language
> IoProgrammo novembre 2007 numero 120 inserto sui linguaggi
> (funzionali...erlang...http://it.wikipedia.org/wiki/Erlang_(linguaggio))
>
> sei proprio convinto che non ne sappia nulla????!!!!

Non credo sia importante quello di cui sono convinto; semplicemente se qualcuno scrive qualcosa di sbagliato o impreciso il NG corregge.

Ciao!

test

unread,
May 21, 2012, 7:14:54 AM5/21/12
to
> Ti consiglio di imparare Javascript, e di provare almeno Java e Python,
> per stare sui procedurali (anche se Python e JS ti danno una piccola
> finestra sui funzionali).
Utilizzo già pesantemente Javascript, solo che essendo un linguaggio "semplice" non l'avevo nominato.
Per semplice intendo dire che non è il vero motore di un sito web, quanto un aiuto per l'interfaccia. Io lo uso in questo modo.

Detto ciò, non riuscirei a sviluppare quello che faccio (sito in firma ad es) in PHP senza un framework che mi aiuti, verrebbe fuori una schifezza, che magari è l'esperienza che ha avuto chi critica pesantemente PHP. Utilizzo Kohana, mi ci trovo davvero bene.
--
Vedi su Narkive:
http://narkive.com/5dv4npoG

Wodka40°

unread,
May 21, 2012, 7:25:06 AM5/21/12
to
Dopo dura riflessione, fma...@gmail.com ha scritto :
zac
>
> Non credo sia importante quello di cui sono convinto; semplicemente se
> qualcuno scrive qualcosa di sbagliato o impreciso il NG corregge.
vabbe....si ricade nella solita cosa meglio la playstation o la wii o
l'xbox!!!

Io dico solo una cosa....da programmatore "windowssiano" sono approdato
a linux per esigenze di soldo (che sono il motore di chi lavora).
NON ho nessun preconcetto su nulla....e non polemizzo su nulla...quel
che serve e mi pagano per usarlo...si impara e si usa!mi trovo bene con
asp.net e mi pagano per fare "ciccia"...lo stesso con php...!!!

detto questo....è innegabile che php sia in mano come vb/C# a cani e
porci che si improvvisano programmatori e rovinano tutto!

Poi si può stare un intero anno a disquisire se è meglio la rava o la
fava....francamente non me ne importa! Se il programmatore è bravo...lo
strumento conta relativamente!


Poi...se ve ne importa anche del lato pratico oltrechè teorico....
Nelle offerte di lavoro attualmente nella zona Prato Firenze si cerca
Java e solo Java e soltanto Java....su 10 java un PHP e 2
Asp.net...altrove sarà diverso!...qui è così!


questi erano i miei 2 cents: se poi i prof dell'università son dtutti
ei coglioni e te ne sai di più....può essere! non lo escludo
affatto!...buon per te!

Ciao
Peace & Love Fratello! :-)

--
----- Italliaaaaa 3227! -----
Quando vedi la tua verità fiorire sulle labbra del tuo nemico, devi
gioire, perché questo è il segno della vittoria.
(Giorgio Almirante)


Andrea D'Amore

unread,
May 21, 2012, 7:42:19 AM5/21/12
to
In article <5dv4npoG...@narkive.com>,
test <tugoxd5w2nowabgw...@user.narkive.com> wrote:

> Per semplice intendo dire che non è il vero motore di un sito web, quanto un
> aiuto per l'interfaccia. Io lo uso in questo modo.

Quindi non lo è per i siti che hai realizzato tu, per quelli in node.js
(ovviamente) è anche motore.

Sono solo linguaggi, non programmi.

Andrea D'Amore

unread,
May 21, 2012, 7:43:17 AM5/21/12
to
In article <ffeabdc0-2b23-409e...@googlegroups.com>,
fma...@gmail.com wrote:

> A me molte cose sembravano completamente errate (una su tutte, la dinamicità
> non dipende da come vengono gestiti i "tipi di dati").

Esiste il concetto di "linguaggio dinamico" o "statico" contrapposto
alla tipizzazione dinamica o statica?
Me lo sono chiesto leggendo il cappelletto di questo ramo della
discussione.

test

unread,
May 21, 2012, 7:46:06 AM5/21/12
to
>Quindi non lo è per i siti che hai realizzato tu, per quelli in node.js
>(ovviamente) è anche motore.
>Sono solo linguaggi, non programmi.

Si certo.

Alessandro Pellizzari

unread,
May 21, 2012, 7:46:51 AM5/21/12
to
Il Mon, 21 May 2012 03:27:39 -0700, fmassei ha scritto:

>> PHP era l'unico ambiente che permetteva di definire in modo semplice
>> dei limiti a quello che l'utente poteva fare: memoria occupata,
>> dimensioni dei POST, tempo di esecuzione, ecc.

> Per quanto riguarda il resto non so, non vorrei sbagliarmi con le
> tempistiche, ma a memoria direi che già esistevano le JSP che
> permettevano (seppure in maniera più complessa) di risolvere gli stessi
> problemi; per questo a sensazione pensavo che dipendesse più dalla
> facilità di utilizzo e dalla dimensione "casereccia" del linguaggio
> (opposta a quella enterprise del Java).

Non so se hai mai avuto a che fare con un server per le JSP.
Praticamente ti serve un server per ogni sito (soprattutto 12-15 anni fa).
PHP permetteva di tenere un centinaio di siti su un server in grado di
servirne 2 in Java. :)

>> Ha detto che la forza di PHP e` sempre stata (e continuera` a essere)
>> di adattarsi alle esigenze di chi sviluppa, ma cercando sempre di non
>> mettere i bastoni fra le ruote a chi gia` lo usa.

> Filosofia comprensibile, but IMHO errata. Non ci vedrei nulla di male se
> (per dire) uscisse un PHP 6 non retro-compatibile con PHP 5

Non ho detto "non compatibile con le precedenti", ma "che non metta i
bastoni fra le ruote a chi lo usa gia`".

PHP 5.4, per alcuni versi, e` incompatibile con PHP 5.3. Hanno rimosso il
safe_mode dal motore, per esempio, e con lui diverse altre direttive che
erano li` ma deprecate fin dalla 5.0.
E usa di default utf-8 al posto di iso-8859-1. Praticamente hanno
spaccato quasi tutte le applicazioni che non definivano esplicitamente il
charset.


Io PHP 5.4 l'avrei chiamato PHP 6, visto quante cose rompe. :)

> che invece
> di aggiungere strumenti quasi inutili (diciamocelo, praticamente nessuno
> sentiva o sente il bisogno delle traits) mette un po' di ordine nelle
> incosistenze del linguaggio.

Dovresti riscrivere tutto il linguaggio e ripartire da zero. Non credo
sia il caso.
Piuttosto meglio usare dei framework (o scrivere delle estensioni) che
wrappino le inconsistenze del linguaggio.

> Se devo dire la mia, sinceramente e ad esempio, aggiungere un minimo di
> tipizzazzione (alla as3, per capirci)

No. Ha detto esplicitamente che la tipizzazione non ci sara`, e che il
type hinting serve SOLO nei casi in cui quello che stai usando non sia
trasformabile in altri tipi in modo automatico. Per questo non
funzionera`
mai con i tipi base (PHP converte continuamente i tipi implicitamente).
E` una scelta progettuale, non un bug.

> o nuovi tipi di containers
> built-in

Intendi array "veri", liste, set, ecc.? Guarda il manuale sotto "SPL". :)

Bye.

Andrea D'Amore

unread,
May 21, 2012, 7:46:10 AM5/21/12
to
In article <a1uit6...@mid.individual.net>,
Alessandro Pellizzari <shur...@amiran.it> wrote:

> E` sul 30% dei server web e serve oltre il 70% del traffico Internet.
> Ruby e` a meno del 5%, e Python meno dell'1%. (TIE! ;)

> Invece Java ti dara` un'idea di come NON fare le cose. ;)

LOL qui ti aspettavo, sembra un discorso da tifosi di squadre diverse.

E comunque FORZA LUA! :-)

Andrea D'Amore

unread,
May 21, 2012, 7:49:12 AM5/21/12
to
In article <a1uikc...@mid.individual.net>,
Alessandro Pellizzari <shur...@amiran.it> wrote:

> Inoltre e` stato uno dei primi "plugin per Apache", perche` prima o usavi
> CGI o dovevi modificare il sorgente di Apache per aggiungere un parse.
>
> Questo ha permesso a chi faceva hosting di installare in modo semplice
> centinaia di spazi web abbastanza ben isolati e che non massacrassero le
> macchine

E li ha esposti a nuovi e più interessanti problemi di sicurezza.

Io questa diffusione di Apache HTTPD non la apprezzo (anche se sui siti
in produzione mi pare che le statistiche favoriscano roba più leggera,
nginx in primis).
Perché mischia diversi ruoli (e perché la documentazione dei moduli è
una bolgia), come ho avuto modo di dirti l'altro giorno l'approccio di
Mongrel2 mi sembra molto più "giusto".
Più pezzi di software piccoli per compiti specifici, mi sembra in un
certo senso più UNIX-like.

Andrea D'Amore

unread,
May 21, 2012, 7:50:29 AM5/21/12
to
Aggiungo che trovo interessante come un chiaro tentativo di flame si sia
trasformato in una discussione seria, è un po' l'applicazione della
retorica dell'anti-trolling.

Alessandro Pellizzari

unread,
May 21, 2012, 7:51:28 AM5/21/12
to
Il Mon, 21 May 2012 11:14:54 +0000, test ha scritto:

>> Ti consiglio di imparare Javascript, e di provare almeno Java e Python,
>> per stare sui procedurali (anche se Python e JS ti danno una piccola
>> finestra sui funzionali).

> Utilizzo già pesantemente Javascript, solo che essendo un linguaggio
> "semplice" non l'avevo nominato.
> Per semplice intendo dire che non è il vero motore di un sito web,
> quanto un aiuto per l'interfaccia. Io lo uso in questo modo.

JS e` meno "semplice" di quanto pensi.
Prova a programmarci a oggetti, o a usare veramente bene il sistema ad
eventi.
Vai un po' oltre l'abbellimento della UI. Ti tornera` molto utile per
sviluppare webapps (anche mobile), che nei prossimi anni saranno un
mattone importante del nostro lavoro.

> Detto ciò, non riuscirei a sviluppare quello che faccio (sito in firma
> ad es) in PHP senza un framework che mi aiuti, verrebbe fuori una
> schifezza, che magari è l'esperienza che ha avuto chi critica
> pesantemente PHP. Utilizzo Kohana, mi ci trovo davvero bene.

Sono d'accordo che i framework aiutino molto.
Magari non riusciresti a fare quel sito nello stesso tempo, ma
riusciresti a farlo comunque.

Oggi, pero`, il tempo in cui fai qualcosa e` importante quanto (e di
piu`)
le funzionalita`. Chi arriva prima prende la posta (o almeno il grosso) e
chi si sviluppa piu` velocemente mantiene e ingrossa le sue quote.

Quindi ben vengano i framework, anche quando abbassano da 100 a 10 le req/
sec gestibili dal server, perche` un server piu` grosso lo compri con
meno dei soldi che perderesti non essendo competitivo.

Bye.

test

unread,
May 21, 2012, 8:01:06 AM5/21/12
to
Il mio non era assolutamente un tentativo di flame.

Alessandro Pellizzari

unread,
May 21, 2012, 8:07:58 AM5/21/12
to
Il Mon, 21 May 2012 13:49:12 +0200, Andrea D'Amore ha scritto:

> In article <a1uikc...@mid.individual.net>,
> Alessandro Pellizzari <shur...@amiran.it> wrote:

>> Questo ha permesso a chi faceva hosting di installare in modo semplice
>> centinaia di spazi web abbastanza ben isolati e che non massacrassero
>> le macchine

> E li ha esposti a nuovi e più interessanti problemi di sicurezza.

Non so se hai presente l'epoca di cui stiamo parlando. :D

Erano script che giravano come root. Bastava una cagata come aggiungere
un / davanti a un path per cancellare qualcosa nel sistema operativo. :)

Apache (A PAtCHEd webserver) serviva proprio a coprire i buchi di httpd,
e il supporto ai moduli proprio ad evitare che cani e porci mettessero le
mani nel codice core del server.

> Io questa diffusione di Apache HTTPD non la apprezzo (anche se sui siti
> in produzione mi pare che le statistiche favoriscano roba più leggera,
> nginx in primis).

Apache ha conquistato meritatamente il posto che ha. Ora nginx e altri
stanno cercando (e ci stanno riuscendo) di uscire dalla loro nicchia.
Trovo che sia un bene. Ho sempre preferito avere 3-4 scelte, piuttosto
che una sola.
Certo che ancora oggi e` molto piu` semplice dare un aptitude install
apache2 libapache2-mod-php5, piuttosto che mettersi a configurare a mano
nginx e fpm con php5 in fastcgi.
Quando sara` altrettanto semplice, vedrai che fara` il botto. :)
I sistemisti sono anche piu` pigri dei programmatori, e questo e` un
bene. :)

Bye.

Alessandro Pellizzari

unread,
May 21, 2012, 8:14:56 AM5/21/12
to
Il Mon, 21 May 2012 13:43:17 +0200, Andrea D'Amore ha scritto:

> Esiste il concetto di "linguaggio dinamico" o "statico" contrapposto
> alla tipizzazione dinamica o statica?
> Me lo sono chiesto leggendo il cappelletto di questo ramo della
> discussione.

Si`, esiste, ma non e` chiarissimo cosa sia un linguaggio dinamico.
Molti confondono un linguaggio dinamico con uno a tipizzazione dinamica.
Io credo (ma non ricordo dove ho letto questa definizione) che un
linguaggio dinamico sia quello che permette (in modo semplice) di
modificare il comportamento del codice a runtime.
Banalmente con una eval, ma anche con le funzioni anonime ed
eventualmente con la reflection. Da questo punto di vista molti linguaggi
si potrebbero considerare dinamici (PHP, Ruby, Python, Javascript, ma
anche Java, per esempio), mentre altri meno (C, per dirne uno).

Quello che molti invece ignorano e` la differenza tra tipizzazione forte
e debole.
PHP e` un linguaggio a tipizzazione dinamica e debole, python a
tipizzazione dinamica e forte.
Non esiste un meglio o un peggio, ma e` opportuno saperlo per programmare
bene.

Bye.

Alessandro Pellizzari

unread,
May 21, 2012, 8:17:00 AM5/21/12
to
Ci ho messo le faccine apposta. ;)
Finche` non si scade nel trolling, a me la tifoseria piace, perche`
permette anche di conoscere caratteristiche di altri linguaggi che magari
possono tornare utili.

> E comunque FORZA LUA! :-)

Il 2012 e` dedicato a Objective-C, ma metto in lista LUA per il 2013. ;)

Bye.

fmassei

unread,
May 21, 2012, 8:21:55 AM5/21/12
to
On 05/21/2012 01:46 PM, Alessandro Pellizzari wrote:
> Il Mon, 21 May 2012 03:27:39 -0700, fmassei ha scritto:
>> che invece
>> di aggiungere strumenti quasi inutili (diciamocelo, praticamente nessuno
>> sentiva o sente il bisogno delle traits) mette un po' di ordine nelle
>> incosistenze del linguaggio.
>
> Dovresti riscrivere tutto il linguaggio e ripartire da zero. Non credo
> sia il caso.
> Piuttosto meglio usare dei framework (o scrivere delle estensioni) che
> wrappino le inconsistenze del linguaggio.
>

Sarai d'accordo con me che non è il metodo più elegante di risolvere il
problema..

>> Se devo dire la mia, sinceramente e ad esempio, aggiungere un minimo di
>> tipizzazzione (alla as3, per capirci)
>
> No. Ha detto esplicitamente che la tipizzazione non ci sara`, e che il
> type hinting serve SOLO nei casi in cui quello che stai usando non sia
> trasformabile in altri tipi in modo automatico. Per questo non
> funzionera`
> mai con i tipi base (PHP converte continuamente i tipi implicitamente).
> E` una scelta progettuale, non un bug.
>

Questo non lo capisco. Non dicevo di eliminare il type-hinting
automatico, ma di forzare il check dei tipi quando questi sono
specificati: sarebbe una funzionalità in più, non romperebbe il codice
esistente e a livello del lex dello Zend si tratterebbe di controllare
semplicemente se la promozione di tipo è o meno possibile.

>> o nuovi tipi di containers
>> built-in
>
> Intendi array "veri", liste, set, ecc.? Guarda il manuale sotto "SPL". :)
>

ehehe sì, intendevo proprio contenitori built-in (sempre nell'ottica
della tipizzazione nei contenitori, o della programmazione a generics,
come va di nuovo di moda chiamarla). Le SPL mi ricordano troppo (chissà
perché) le STL del C++, con tutti i loro pregi e difetti. :-)

Ciao!

fmassei

unread,
May 21, 2012, 8:28:37 AM5/21/12
to
On 05/21/2012 01:25 PM, Wodka40° wrote:
> Dopo dura riflessione, fma...@gmail.com ha scritto :
> zac
>>
>> Non credo sia importante quello di cui sono convinto; semplicemente se
>> qualcuno scrive qualcosa di sbagliato o impreciso il NG corregge.
> vabbe....si ricade nella solita cosa meglio la playstation o la wii o
> l'xbox!!!
>

Ma non stavamo parlando di "è meglio questo o quest'altro"..

> Io dico solo una cosa....da programmatore "windowssiano" sono approdato
> a linux per esigenze di soldo (che sono il motore di chi lavora).
> NON ho nessun preconcetto su nulla....e non polemizzo su nulla...quel
> che serve e mi pagano per usarlo...si impara e si usa!mi trovo bene con
> asp.net e mi pagano per fare "ciccia"...lo stesso con php...!!!
>
> detto questo....è innegabile che php sia in mano come vb/C# a cani e
> porci che si improvvisano programmatori e rovinano tutto!
>
> Poi si può stare un intero anno a disquisire se è meglio la rava o la
> fava....francamente non me ne importa! Se il programmatore è bravo...lo
> strumento conta relativamente!
>
> Poi...se ve ne importa anche del lato pratico oltrechè teorico....
> Nelle offerte di lavoro attualmente nella zona Prato Firenze si cerca
> Java e solo Java e soltanto Java....su 10 java un PHP e 2
> Asp.net...altrove sarà diverso!...qui è così!
>

Ma cosa c'entra?

>
> questi erano i miei 2 cents: se poi i prof dell'università son dtutti ei
> coglioni e te ne sai di più....può essere! non lo escludo
> affatto!...buon per te!
>

Ma non ho detto assolutamente questo. Ho detto che quel ragazzo (mi
permetto, è del '73..) nonostante abbia un ottimo CV sembra o essere
rimasto indietro con gli sviluppi dei linguaggi, o pur essendo bravo nel
suo lavoro manca di chiarezza nello spiegare (e ne ho avuti tanti di
professori all'università così). Tutto qua.

> Ciao
> Peace & Love Fratello! :-)
>

Peace! ;)

Andrea D'Amore

unread,
May 21, 2012, 8:34:57 AM5/21/12
to
In article <5dv4npoG...@narkive.com>,
test <g2dl0kybqdgihdrb...@user.narkive.com> wrote:

> Il mio non era assolutamente un tentativo di flame.

Forse non nelle intenzioni, ma di fatto (subject e nella struttura del
messaggio) sì.
Ad ogni modo finché è interessante si legge, poi c'è sempre il plonk.

Andrea D'Amore

unread,
May 21, 2012, 8:36:18 AM5/21/12
to
In article <a1uq1s...@mid.individual.net>,
Alessandro Pellizzari <shur...@amiran.it> wrote:

> Il 2012 e` dedicato a Objective-C,

Allora dopo guarda Nu che è interessante.

> ma metto in lista LUA

Dato che siamo attenti al casing è Lua.

fmassei

unread,
May 21, 2012, 8:40:15 AM5/21/12
to
Ti rispondo per come l'ho sempre vista io..
Fondamentalmente la "dinamicità" sta nel codice eseguito: un linguaggio
statico a runtime esegue ogni volta essattamente quello che è scritto
nel codice, un linguaggio dinamico esegue codice aggiuntivo (o non
esegue codice inutile) prendendo una decisione a runtime, o generando su
richiesta nuovo codice, p.e. con eval() e simili).
La definizione che do io è ovviamente abbastanza fumosa.. esempio: si
potrebbe dire che tutti i linguaggi con GC sono dinamici? Non se girano
su una VM (è lei che fa girare il GC), e potrebbe eseguire 1-1 il bytecode.
Come non esiste "il" linguaggio statico (cosa m'impedisce in C di
scrivere su un file, chiamare il compilatore e linkare runtime il
generato?) non esiste "il" linguaggio dinamico (prima o poi qualche
limitazione dev'essere posta per mantenere la coerenza!): alla fine ogni
linguaggio implementa un po' d'idee derivanti da linguaggi più vecchi
cercando di dare un'organizzazione pratica e (si spera) comoda.
Ciao!

fmassei

unread,
May 21, 2012, 8:42:28 AM5/21/12
to
Questo invece è un vero mistero: la cortesia della gerarchia it.comp.* è
fuori da ogni logica usenet. :-)
Ciao!

Mau C

unread,
May 21, 2012, 9:06:28 AM5/21/12
to
Il 21/05/2012 14:42, fmassei ha scritto:
> Questo invece è un vero mistero: la cortesia della gerarchia it.comp.* è
> fuori da ogni logica usenet. :-)
> Ciao!

http://troll.me/images/failed-trololol/failed-troll-is-failure-thumb.jpg

M.

Alessandro Pellizzari

unread,
May 21, 2012, 9:36:44 AM5/21/12
to
Il Mon, 21 May 2012 14:21:55 +0200, fmassei ha scritto:

> On 05/21/2012 01:46 PM, Alessandro Pellizzari wrote:

>> Dovresti riscrivere tutto il linguaggio e ripartire da zero. Non credo
>> sia il caso.
>> Piuttosto meglio usare dei framework (o scrivere delle estensioni) che
>> wrappino le inconsistenze del linguaggio.

> Sarai d'accordo con me che non è il metodo più elegante di risolvere il
> problema..

Magari non e` elegante, ma se inizi wrappando le funzioni rognose
(solitamente quelle con haystack e needle in posizioni invertite) in
oggetti non rompi la compatibilita` col passato.
Poi, qualche anno dopo, deprechi le funzioni, e qualche anno dopo ancora
le togli, lasciando solo l'interfaccia a oggetti. O riscrivi le funzioni
in modo piu` organico.

L'alternativa sarebbe tenere per n*2 anni doppie funzioni che fanno la
stessa cosa, con 2 nomi diversi e parametri invertiti. Molto peggio, IMHO.

Spaccare la compatibilita` con tutto il software in circolazione senza
offrire un periodi di deprecation e` suicidio, secondo me.

> Questo non lo capisco. Non dicevo di eliminare il type-hinting
> automatico, ma di forzare il check dei tipi quando questi sono
> specificati: sarebbe una funzionalità in più, non romperebbe il codice
> esistente e a livello del lex dello Zend si tratterebbe di controllare
> semplicemente se la promozione di tipo è o meno possibile.

Cambi il linguaggio da tipizzazione debole a forte.
Rompi comunque la compatibilita` col passato (suicidio) e guadagni ben
poco (ci sono gia` le funzioni per controllare il tipo, e l'operatore ===
e !==, se vuoi forzare i tipi.

>> Intendi array "veri", liste, set, ecc.? Guarda il manuale sotto "SPL".

> ehehe sì, intendevo proprio contenitori built-in (sempre nell'ottica
> della tipizzazione nei contenitori, o della programmazione a generics,
> come va di nuovo di moda chiamarla). Le SPL mi ricordano troppo (chissà
> perché) le STL del C++, con tutti i loro pregi e difetti. :-)

Sono abbastanza limitati (soprattutto ArrayObject) nelle funzionalita`, e
soprattutto conviene usarli solo in alcuni casi specifici, come
prestazioni.
Non ho mai usato C++ (e quindi STL), ma penso sia roba abbastanza
diversa. Sono semplici classi con metodi adatti alla loro funzione. Ne`
piu` ne` meno che scriverseli wrappando Array().

Bye.

Wodka40°

unread,
May 21, 2012, 9:37:42 AM5/21/12
to
fmassei ha detto questo lunedì :
> On 05/21/2012 01:43 PM, Andrea D'Amore wrote:
zac
>
> Ti rispondo per come l'ho sempre vista io..
scusa eh...abbi pazienza....casomai sei un guru...nulla di personale!
.
in un "materia tecnica" dovrebbe essere molto molto (ma molto) poco
interessante il concetto: "per come la vedo io" !...non stiamo parlando
di un affresco di Giotto e dell'analisi del testo di Manzoni che ogni
critico inquadra in modo diverso!
Siamo tecnici (ingegneri e non) non artigiani!

Diciamola cosi allora....per l'informatica...per quella che ci fanno
studiare...a scuola all'università sui libri....
A CAZZOTTO IN CIELO (alias a spanne...alias GENERALIZZANDO e
introducendo quindi inesattazze in qualcosa di specifico):

il 90% dei linguaggi definiti dinamici passano attraverso un
INTERPRETE...(un filtro un programma un quel che vuoi).

il 90% del linguaggi definiti statici passano attraverso un
COMPILATORE.
PER FARLO il 90% del 90% dei linguaggi statici trova UTILE (non
necessario ...UTILE!)introdurre una tipizzazione FORTE dei dati
trattati.

E' ovvio che tutto questo andava bene fino a circa 10 anni fa!...la
tecnica va avanti e ci sono ZONE DI CONFINE e oggi tutto non rientra in
queste 2 grandi distinzioni!

Ti facevo l'esempio del codice in c# vb.net...."vive" in un mondo
tipizzato fortemente....PERO' vive dentro una sandbox (quindi non ci
sarà un interprete...ma non realizza nemmeno codice macchina 1:1)
...MA SE VUOI...abiliti IIS(quindi roba ESTERNA al linguaggio) a
produrre la tua webapp compilata davvero in codice macchina (e tutto si
rimescola ancora perchè alla fine non interpreti nulla ma fai girare
codice compilato a differenza di java!)...

All'estremo opposto hai LESS (lo sto studiando ora per fare un sito web
compatibile dall'alta risoluzione al telefonino) o XAML che sono
dialetti XML (o simil xml o meta linguaggi chiamali come vuoi) per
istruire altre applicazioni (nel caso di XAML per generare una
interfaccia in .net)...e che dire poi dei framework da Hibernate in
giù?


Quindi non è sbagliata quella generalizzazione....
è una generalizzazione!....che fanno a scuola...che si fa nella
programmazione quotidiana! Come tutte le generalizzazioni non è
precisa....ma utile!
Finchè il mondo non ne decide di usare un altra va bene! senza "per me"
o "per come la vedo io"....!

Poi...ovviamente...il mondo è bello perchè vario!...nulla vieta a
nessuno di usare perl per scrivere siti web!O definire ciofeca
vb.net/C# o php o haskell!

...ci mancherebbe.....
;o)

Saluti!

--
----- Italliaaaaa 3227! -----
Ti prego, ti prego, non ci uccidere. Ti prego baby, lo sai che ti amo.
Non avrei mai voluto lasciarti, non è stata colpa mia. Davvero, sono
sincero. Quel giorno finì la benzina. Si bucò un pneumatico. Non avevo
i soldi per il taxi! Il mio smoking non era arrivato in tempo dalla
tintoria! Era venuto a trovarmi da lontano un amico che non vedevo da
anni! Qualcuno mi rubò la macchina! Ci fu un terremoto! Una tremenda
inondazione! Un'invasione di cavallette!
John Belushi [da "Blues Brothers"]


Wodka40°

unread,
May 21, 2012, 9:54:13 AM5/21/12
to
Il caro Alessandro Pellizzari in un impeto grammaticale scriveva:
> Il Sun, 20 May 2012 20:33:02 +0000, test ha scritto:
zac
>
> Per invidia, IMHO.
> E` sul 30% dei server web e serve oltre il 70% del traffico Internet.
> Ruby e` a meno del 5%, e Python meno dell'1%. (TIE! ;)
eh eh eh diamo i numeri va!
....tanto siamo in tema no...stasera Vespa ci inonderà di dati(Meno
male c'ho Spartacus da vedere!)

http://trends.builtwith.com/framework/PHP

--
----- Italliaaaaa 3227! -----
Ho visto cose che voi umani non potreste immaginare... navi da
combattimento in fiamme al largo dei bastioni di Orione. E ho visto i
raggi B balenare nel buio vicino alle porte di Tannhauser. E tutti quei
momenti andranno perduti nel tempo come lacrime nella pioggia. È tempo
di morire...

Unità NEXUS6 Roy Batty N6MAA10816 Ment.LEV A


Giuseppe Lucente

unread,
May 21, 2012, 10:02:41 AM5/21/12
to
Alessandro Pellizzari ha scritto:

[...cut...]

> Certo che ancora oggi e` molto piu` semplice dare un aptitude install
> apache2 libapache2-mod-php5, piuttosto che mettersi a configurare a mano
> nginx e fpm con php5 in fastcgi.

..che e' poi il motivo per cui il matrimonio Apache+PHP e' cosi'
di successo.

> Quando sara` altrettanto semplice, vedrai che fara` il botto. :)

Concordo !

> I sistemisti sono anche piu` pigri dei programmatori, e questo e` un
> bene. :)

Un prodotto di successo e prima di tutto un prodotto semplice diceva
qualcuno, probabilmente i sistemisti l'anno capito molto bene :)

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


Giuseppe Lucente

unread,
May 21, 2012, 10:37:46 AM5/21/12
to
test ha scritto:

> Perche' PHP viene detestato da tutti (magari da tutti quelli che non
frequentano questo gruppo)?

La sua immediatezza nella stesura degli script ha richiamato a se masnade
di persone e pseudoprogrammatori che hanno omaggiato il pianeta di
programmi orrendi facilmente bucabili. Questo IMHO e' il motivo
principale.

Inoltre fino a poco tempo fa era molto carente su diversi fronti: penso
ad esempio al supporto UTF8 e la programmazione ad oggetti. Notevolmente
migliorato oggi, ma molti di colore che lo criticano sono rimasti che so
alla versione 3 o 4.

In fine c'e' la componente religiosa, che esisteva, esiste
e sempre esistera'.

Voglio solo spendere una parala in tal senso: ho adoperato e
adopero tuttora il python; ma quando devo debuggare una
variabile on-the-fly, con PHP piazzo un print_r($variabile)
dove cazzo mi pare a me e poi faccio un refresh. In python invece devo
avere premura di identare sta minchia :)

Questa non e' religione - e' dottrina della peggiore specie.

> Perche' dovrei imparare python (che non mi viene immediato come java ad
esempio)?

Principalmente per farti un'idea.

Ciao
Beppe

fmassei

unread,
May 21, 2012, 10:42:33 AM5/21/12
to
On 05/21/2012 03:37 PM, Wodka40° wrote:
> fmassei ha detto questo lunedì :
>> On 05/21/2012 01:43 PM, Andrea D'Amore wrote:
> zac
>>
>> Ti rispondo per come l'ho sempre vista io..
> scusa eh...abbi pazienza....casomai sei un guru...nulla di personale!
> .
> in un "materia tecnica" dovrebbe essere molto molto (ma molto) poco
> interessante il concetto: "per come la vedo io" !...non stiamo parlando
> di un affresco di Giotto e dell'analisi del testo di Manzoni che ogni
> critico inquadra in modo diverso!
> Siamo tecnici (ingegneri e non) non artigiani!
>

Non sono d'accordo, e se ti spiego anche perché secondo me saremo anche
d'accordo :)
Le nostre incomprensioni derivano dal diverso livello di significato (in
italiano) tra "definizione" e terminologia tecnica. La terminologia
tecnica la conosciamo entrambi. La definizione, nel termine matematico
del termine, in questo caso è non esiste. In informatica abbiamo una
definizione per molte cose (addirittura ne descriviamo una per funzione
;) ) ma non per la distinzione tra linguaggio statico e linguaggio dinamico.
E' una pecca? Frega a qualcuno? No, ma bisogna dirlo. Visto che non
esiste una definizione, e rientriamo nella "terminologia", e non posso
dire "significa questo", perché non sarebbe vero: al massimo posso dire
di essere d'accordo con una certa corrente di pensiero.
Per fare un'iperbole, se qualcuno avesse detto "per me 'true&&true'
dovrebbe fare 'false'" si sarebbe potuto spiegare perché logicamente (e
per logicamente intendo a livello di logica matematica) non fosse
possibile: non siamo a questo livello.

> Diciamola cosi allora....per l'informatica...per quella che ci fanno
> studiare...a scuola all'università sui libri....
> A CAZZOTTO IN CIELO (alias a spanne...alias GENERALIZZANDO e
> introducendo quindi inesattazze in qualcosa di specifico):
>
> il 90% dei linguaggi definiti dinamici passano attraverso un
> INTERPRETE...(un filtro un programma un quel che vuoi).
>
> il 90% del linguaggi definiti statici passano attraverso un COMPILATORE.

L'interprete nasce dalle necessità di portabilità e del debug
step-by-step. *Tutti* i linguaggi interpretati possono essere compilati
e *tutti* i linguaggi compilati possono essere interpretati.
Ti posso dire almeno due piattaforme su cui ho lavorato che
interpretavano il C, ed allo stesso modo tutti i linguaggi che
tradizionalmente erano interpretati negli ultimi anni hanno sviluppato
perlomeno qualche tipo di JIT.
Ovviamente se si sceglie questa come differenza tra linguaggi statici e
dinamici è il momento di aggiornarsi, e per questo dicevo che non mi
sembra una definizione accettabile.

> PER FARLO il 90% del 90% dei linguaggi statici trova UTILE (non
> necessario ...UTILE!)introdurre una tipizzazione FORTE dei dati trattati.
>

Non è "per farlo". La tipizzazione deriva dalla filosofia che per avere
un codice più robusto certi tipi di errori è meglio non gestirli a
runtime. Ho già citato AS3, un linguaggio super-dinamico a tipizzazione
forte, è molto utilizzato e di certo non è nè vecchio nè di nicchia.

> E' ovvio che tutto questo andava bene fino a circa 10 anni fa!...la
> tecnica va avanti e ci sono ZONE DI CONFINE e oggi tutto non rientra in
> queste 2 grandi distinzioni!
>
> Ti facevo l'esempio del codice in c# vb.net...."vive" in un mondo
> tipizzato fortemente....PERO' vive dentro una sandbox (quindi non ci
> sarà un interprete...ma non realizza nemmeno codice macchina 1:1)
> ...MA SE VUOI...abiliti IIS(quindi roba ESTERNA al linguaggio) a
> produrre la tua webapp compilata davvero in codice macchina (e tutto si
> rimescola ancora perchè alla fine non interpreti nulla ma fai girare
> codice compilato a differenza di java!)...
>
> All'estremo opposto hai LESS (lo sto studiando ora per fare un sito web
> compatibile dall'alta risoluzione al telefonino) o XAML che sono
> dialetti XML (o simil xml o meta linguaggi chiamali come vuoi) per
> istruire altre applicazioni (nel caso di XAML per generare una
> interfaccia in .net)...e che dire poi dei framework da Hibernate in giù?
>

LESS non lo conosco, ma vedo che è per i fogli di stile.
XAML/XML sono metalinguaggi.
Hibernate è un framework.
Direi che non c'entrano nulla con quello di cui stiamo parlando.

> Quindi non è sbagliata quella generalizzazione....
> è una generalizzazione!....che fanno a scuola...che si fa nella
> programmazione quotidiana! Come tutte le generalizzazioni non è
> precisa....ma utile!

Te diresti mai in un corso di medicina che "il cuore è l'organo che fa
vivere l'uomo"? Magari alle elementari (e tanto tanto), ma non in una
università; e comunque sono sicuro che, visto che da quanto ho capito
sei ingegnere, quando seguivi i corsi tendevano ad essere precisi ;)

> Finchè il mondo non ne decide di usare un altra va bene! senza "per me"
> o "per come la vedo io"....!
>
> Poi...ovviamente...il mondo è bello perchè vario!...nulla vieta a
> nessuno di usare perl per scrivere siti web!O definire ciofeca vb.net/C#
> o php o haskell!
>
> ...ci mancherebbe.....
> ;o)
>
> Saluti!
>

Peace ;)

fmassei

unread,
May 21, 2012, 11:24:33 AM5/21/12
to
On 05/21/2012 03:36 PM, Alessandro Pellizzari wrote:
> Il Mon, 21 May 2012 14:21:55 +0200, fmassei ha scritto:
>> Questo non lo capisco. Non dicevo di eliminare il type-hinting
>> automatico, ma di forzare il check dei tipi quando questi sono
>> specificati: sarebbe una funzionalità in più, non romperebbe il codice
>> esistente e a livello del lex dello Zend si tratterebbe di controllare
>> semplicemente se la promozione di tipo è o meno possibile.
>
> Cambi il linguaggio da tipizzazione debole a forte.
> Rompi comunque la compatibilita` col passato (suicidio) e guadagni ben
> poco (ci sono gia` le funzioni per controllare il tipo, e l'operatore ===
> e !==, se vuoi forzare i tipi.
>

Tutti i linguaggi a tipizzazione forte hanno un "super-tipo", che sia
Object o void*. A livello di motore, se si considerassero tutti i tipi
"attuali" come super-tipi e i "nuovi" come specifici non si romperebbe
nulla.
Il fatto è che il PHP non né ha una struttura ad oggetti (dove _tutto_
deriva tutto da Object) né una struttura low-level (dove ogni oggetto è
indirizzabile con un puntatore). IMHO questo non è buono, e rende il PHP
un caso unico tra i linguaggi che conosco.

>>> Intendi array "veri", liste, set, ecc.? Guarda il manuale sotto "SPL".
>
>> ehehe sì, intendevo proprio contenitori built-in (sempre nell'ottica
>> della tipizzazione nei contenitori, o della programmazione a generics,
>> come va di nuovo di moda chiamarla). Le SPL mi ricordano troppo (chissà
>> perché) le STL del C++, con tutti i loro pregi e difetti. :-)
>
> Sono abbastanza limitati (soprattutto ArrayObject) nelle funzionalita`, e
> soprattutto conviene usarli solo in alcuni casi specifici, come
> prestazioni.
> Non ho mai usato C++ (e quindi STL), ma penso sia roba abbastanza
> diversa. Sono semplici classi con metodi adatti alla loro funzione. Ne`
> piu` ne` meno che scriverseli wrappando Array().
>

Guarda, il problema è appunto che mappano Array(). Sarà che vengo dal
mondo low-level, ma che per implementare uno stack debba utilizzare una
classe che implementa una hash-table (anche se le prestazioni sono nello
stesso ordine di grandezza) mi sembra un design terribile.

Ciao!

P.S. Molte delle mie affermazione sono biased, lo riconosco, ma deriva
dal fatto che, essendomi studiato mio malgrado l'engine del PHP4 (avevo
intenzione di implementare una sorta di typing, estendendo il linguaggio
quel tanto che serviva, ma ho lasciato il progetto in favore di
alternative migliori), molti punti del codice mi sembravano lamentare
un'eccessiva assenza di inventiva, come se gli sviluppatori stessi
fossero molto sotto la media.. magari è solo una sensazione, ma è stata
tanto brutta :-)

Alessandro Pellizzari

unread,
May 21, 2012, 11:56:43 AM5/21/12
to
Il Mon, 21 May 2012 17:24:33 +0200, fmassei ha scritto:

>> Cambi il linguaggio da tipizzazione debole a forte.
>> Rompi comunque la compatibilita` col passato (suicidio) e guadagni ben
>> poco (ci sono gia` le funzioni per controllare il tipo, e l'operatore
>> === e !==, se vuoi forzare i tipi.

> Tutti i linguaggi a tipizzazione forte hanno un "super-tipo", che sia
> Object o void*.
> A livello di motore, se si considerassero tutti i tipi
> "attuali" come super-tipi e i "nuovi" come specifici non si romperebbe
> nulla.

Allora non ho capito cosa intendi.

Ci sono gia` i "tipi" nella SPL (SPLInt, SPLFloat, ecc.) che puoi usare
col type hinting nelle chiamate di funzione, e hanno come base StdObject,
appunto.

Quello che non troverai mai in PHP e`:

public function pippo(int $a, string $b) { ... }

Ma gia` oggi puoi scrivere

public function pippo(SPLInt $a, SPLString $b) { ... }

> Il fatto è che il PHP non né ha una struttura ad oggetti (dove _tutto_
> deriva tutto da Object) né una struttura low-level (dove ogni oggetto è
> indirizzabile con un puntatore). IMHO questo non è buono, e rende il PHP
> un caso unico tra i linguaggi che conosco.

Io invece la trovi una delle caratteristiche migliori del linguaggio. :)

>> [SPL]
>> Non ho mai usato C++ (e quindi STL), ma penso sia roba abbastanza
>> diversa. Sono semplici classi con metodi adatti alla loro funzione. Ne`
>> piu` ne` meno che scriverseli wrappando Array().

> Guarda, il problema è appunto che mappano Array().

Non mi sono spiegato.
I tipi di SPL non wrappano Array. Sono nuove classi, scritte in C, che
implementano strutture dati.
Intendevo che le puoi usare esattamente come se ti facessi tu delle
classi che wrappano Array.

> Sarà che vengo dal
> mondo low-level, ma che per implementare uno stack debba utilizzare una
> classe che implementa una hash-table (anche se le prestazioni sono nello
> stesso ordine di grandezza) mi sembra un design terribile.

Gli Array hanno problemi abbastanza grossi per quanto riguarda la
gestione della memoria (ogni elemento occupa quasi 100 byte in memoria,
anche per un semplice intero), parzialmente risolti dalle SPL (in cui
ogni elemento ne occupa circa 50).
E` il prezzo da pagare per avere una gestione dinamica dei dati (e dei
loro tipi).

Non trovo terribile (anzi, a me piace molto) l'uso degli array, anche se
il nome e` sbagliato, per gestire array numerici, associativi, hash,
pile, stack e liste (anche se per le liste sono pessimi).

Questione di gusti.

Bye.

Wodka40°

unread,
May 21, 2012, 11:59:12 AM5/21/12
to
fmassei ha detto questo lunedì :
> On 05/21/2012 03:37 PM, Wodka40° wrote:
zac In informatica abbiamo una definizione per molte
> cose (addirittura ne descriviamo una per funzione ;) ) ma non per la
> distinzione tra linguaggio statico e linguaggio dinamico.
è ovvio che ragioniamo del sesso degli angeli a questo punto.....!

non vorrei tornar li
ma a questi qui glielo scrivi tu che insegnano cose sbagliate ???
http://www.agentgroup.unimore.it/didattica/ld/

Se ragioniamo di sistemistica io posso scrivere un "compilatore" per
tutto.......!

Tipicamente un compilatore riflette una semantica standard su una serie
di operazioni il più possibile vicine alla macchina...vicine significa
tendenti il più possibile al codice macchina!....ovvio che se sei
padrone del C (e nessuno lo è mai al 100%)... scrivi un compilatore per
tutto!

Quindi ottimo conoscere il C ...solo che spesso ci vuole una vita!
detto questo...poniamo che siamo (tu ed io) draghi del C!

SE imponi una semantica tipizzata fortemente...hai una serie di
facilitazioni a scrivere l'allocazione e la deallocazione della
memoria....ma solo perchè il compilatore lo sà prima "che cosa" deve
trattare e i bug di overflow o buffer underrun diventano rarissimi!
Spesso il compilatore ha già tutto al suo interno per gestirli.
Diverso se non sai che "roba è"...devi gestire in maniera molto più
attenta l'allocazione ed il rilascio della memoria...difficilmente lo
farai in maniera ottimale (non sprecando bytes inutili)...il garbage
collection diventa un bagno di sangue...e devi comunque inserire un
programma (chiamalo come vuoi...io lo chiamo interprete) che
tipicamente risolva anche queste menate PRIMA di eseguire le operazioni
che vuoi compiere!

La velocità concordo è una cazzata...java è lentissimo(la sua
VM)...python insomma...ruby un po peggio!Php se la cava bene... non ti
dico nulla "dell'altra sponda" perchè siamo in casa linux!

Concordo con quello che dici in un altro post....se vogliamo (in casa
microsoft è effettivamente così per qualsiasi semantica usi C# o
Vb.net) tutto deriva da un super tipo astratto Object e quindi
potenzialmente anche php potrebbe avere un fork: OOP e
tipizzato..PHP.net...casomai sotto IIS...solo che non sarebbe più PHP
ma un ennesimo clone di java!


Tornando a "test"
IMHO php non è una cazzata....però non mi fossilizzerei solo su quello!
Difficilmente oggi come oggi il programmatore è un purista di un solo
linguaggio!

NIX?
PHP....ma anche un framework...ma anche LESS o analogo...ma anche Java
o Ruby...ma anche javascript/jquery....ma anche Xhtml/Html(5)...ma
anche CSS 2 3 ...mySQL
e poi...perchè non ASP.net C#/Vb.net Silverlight?

Io vengo da asp.net....sputar sangue su PHP? Un po si....ma non poi più
di tanto....la forma mentis se c'è....c'è!

il mio prossimo step sarò imparare sto cazzo di LESS...ma solo perchè
me lo chiedono e perchè sembra davvero farmi scrivere un solo sito web
invece di 3 per 3 diverse risoluzioni!...perchè alla fine sono i soldi
il motore...o no????

C'è un unico rischio....talvolta cominci a scrivere codice php con la
sintassi di C#...poi il cervello si resetta sul nuovo linguaggio e vai
spedito! Come quando pensi in italiano e parli in inglese...o
viceversa!


Salutos
(mo me cheto!)

p.s.
Magari fossi ingegnere sarai pagato mooooooolto di più!

--
----- Italliaaaaa 3227! -----
Guerrieriii....giochiamo a fare la guerraaa!....
Guerrieriii....giochiamo a fare la guerraaa!....
Guerrieriii....giochiamo a fare la guerraaa!....

I guerrieri della notte (1987)


Pablo

unread,
May 21, 2012, 12:03:02 PM5/21/12
to
Il 21/05/2012 12:27, fma...@gmail.com ha scritto:
> Per quanto riguarda il resto non so, non vorrei sbagliarmi con le tempistiche,
> ma a memoria direi che già esistevano le JSP che permettevano [...]

Temo la memoria ti inganni :)
PHP è uscito a inizio anni '90, le JSP sono successive. Fine anni '90
(Java è del '95).

fmassei

unread,
May 21, 2012, 5:10:02 PM5/21/12
to
On 05/21/2012 05:59 PM, Wodka40° wrote:
> fmassei ha detto questo lunedì :
>> On 05/21/2012 03:37 PM, Wodka40° wrote:
> zac In informatica abbiamo una definizione per molte
>> cose (addirittura ne descriviamo una per funzione ;) ) ma non per la
>> distinzione tra linguaggio statico e linguaggio dinamico.
> è ovvio che ragioniamo del sesso degli angeli a questo punto.....!
>
> non vorrei tornar li
> ma a questi qui glielo scrivi tu che insegnano cose sbagliate ???
> http://www.agentgroup.unimore.it/didattica/ld/
>

Se vuoi.. ma tendenzialmente mi faccio i fatti miei.

> Se ragioniamo di sistemistica io posso scrivere un "compilatore" per
> tutto.......!
>

Certamente.

> Tipicamente un compilatore riflette una semantica standard su una serie
> di operazioni il più possibile vicine alla macchina...vicine significa
> tendenti il più possibile al codice macchina!....ovvio che se sei
> padrone del C (e nessuno lo è mai al 100%)... scrivi un compilatore per
> tutto!
>


Un compilatore traduce da un linguaggio human-friendly al codice
macchina di una macchina target.

> Quindi ottimo conoscere il C ...solo che spesso ci vuole una vita!
> detto questo...poniamo che siamo (tu ed io) draghi del C!
>

Io programmo in C per lavoro.

> SE imponi una semantica tipizzata fortemente...hai una serie di
> facilitazioni a scrivere l'allocazione e la deallocazione della
> memoria...

La tipizzazione non c'entra niente con l'allocazione di memoria.

> ma solo perchè il compilatore lo sà prima "che cosa" deve
> trattare e i bug di overflow o buffer underrun diventano rarissimi!

Overflow/Underflow non c'entrano con la tipizzazione.

> Spesso il compilatore ha già tutto al suo interno per gestirli.
> Diverso se non sai che "roba è"...devi gestire in maniera molto più
> attenta l'allocazione ed il rilascio della memoria...

No, è indifferente.

> difficilmente lo
> farai in maniera ottimale (non sprecando bytes inutili)...il garbage
> collection diventa un bagno di sangue...

?!?!?

> e devi comunque inserire un
> programma (chiamalo come vuoi...io lo chiamo interprete) che tipicamente
> risolva anche queste menate PRIMA di eseguire le operazioni che vuoi
> compiere!
>

<snip> del resto.
Evidentemente non solo non hai mai scritto niente che ricordasse neppure
da lontano un interprete o un compilatore, ma non hai neppure presente
quello che succede dietro i linguaggi che usi.
Inutile che ti faccia esempi o scenda sul dettaglio.

Ciao!

fmassei

unread,
May 21, 2012, 5:11:32 PM5/21/12
to
On 05/21/2012 05:56 PM, Alessandro Pellizzari wrote:
> Il Mon, 21 May 2012 17:24:33 +0200, fmassei ha scritto:
>> Il fatto è che il PHP non né ha una struttura ad oggetti (dove _tutto_
>> deriva tutto da Object) né una struttura low-level (dove ogni oggetto è
>> indirizzabile con un puntatore). IMHO questo non è buono, e rende il PHP
>> un caso unico tra i linguaggi che conosco.
>
> Io invece la trovi una delle caratteristiche migliori del linguaggio. :)
>
>>> [SPL]
>>> Non ho mai usato C++ (e quindi STL), ma penso sia roba abbastanza
>>> diversa. Sono semplici classi con metodi adatti alla loro funzione. Ne`
>>> piu` ne` meno che scriverseli wrappando Array().
>
>> Guarda, il problema è appunto che mappano Array().
>
> Non mi sono spiegato.
> I tipi di SPL non wrappano Array. Sono nuove classi, scritte in C, che
> implementano strutture dati.
> Intendevo che le puoi usare esattamente come se ti facessi tu delle
> classi che wrappano Array.
>

Ah ok, questo non lo sapevo. Pensavo fossero scritte in PHP. My bad.

>> Sarà che vengo dal
>> mondo low-level, ma che per implementare uno stack debba utilizzare una
>> classe che implementa una hash-table (anche se le prestazioni sono nello
>> stesso ordine di grandezza) mi sembra un design terribile.
>
> Gli Array hanno problemi abbastanza grossi per quanto riguarda la
> gestione della memoria (ogni elemento occupa quasi 100 byte in memoria,
> anche per un semplice intero), parzialmente risolti dalle SPL (in cui
> ogni elemento ne occupa circa 50).
> E` il prezzo da pagare per avere una gestione dinamica dei dati (e dei
> loro tipi).
>
> Non trovo terribile (anzi, a me piace molto) l'uso degli array, anche se
> il nome e` sbagliato, per gestire array numerici, associativi, hash,
> pile, stack e liste (anche se per le liste sono pessimi).
>
> Questione di gusti.
>

Sì certamente, son gusti ;)
Ciao!

Wodka40°

unread,
May 22, 2012, 2:48:17 AM5/22/12
to
fmassei ha spiegato il 21/05/2012 :
> On 05/21/2012 05:59 PM, Wodka40° wrote:
zaxc
> Inutile che ti faccia esempi o scenda sul dettaglio.
>
> Ciao!
vabbe..ciao

--
----- Italliaaaaa 3227! -----
Please, visits website, but please visit Italy. We’re t’best country in
the world in terms of: Culture, Landscapes, Arts, History, Cities,
Villages, Beautiful countryside, seaside, mountains. That is Italy. You
know, perhaps, you dreaming about. But please, visit or country. We
will welcome you warmly and with a better organization.
(Francesco Rutelli Video a:
http://www.martek.it/dblog/mostraVideo.asp?p=/public/dblog/Rutelli1.wmv
)


Alessandro Pellizzari

unread,
May 22, 2012, 4:07:30 AM5/22/12
to
Il Mon, 21 May 2012 23:10:02 +0200, fmassei ha scritto:

> Io programmo in C per lavoro.

Ora si spiega il tuo attaccamento morboso alla tipizzazione statica. ;D

Bye.

fmassei

unread,
May 22, 2012, 4:22:20 AM5/22/12
to
ehehe, forse :)
Più che altro ritengo che mi tolga un pensiero: se il controllo dei tipi
è a livello di linguaggio non devo controllare a mano la correttezza del
tipo degli input (nonché non farmi pensare alle possibili conversioni
automatiche sugli assegnamenti); sì, insomma, mi piacciono i tipi perché
sono pigro! :D
Ciao!

Alessandra R.

unread,
May 22, 2012, 7:46:30 AM5/22/12
to
Alessandro Pellizzari, rischiando una denuncia penale, ha osato
scrivere:

> ha detto: un programmatore dovrebbe imparare un nuovo linguaggio ogni
> anno, anche se continua a usare sempre lo stesso.
> Sono d'accordo con lui.

io no. Bisogna anche vivere ogni tanto, non è che si può passare tutto
il proprio tempo al pc, metà a lavorare per sopravvivere, e metà a
studiare un secondo, terzo, quarto, ecc. linguaggio che già si sa a
priori che non si userà mai (o che, quando ci si ritroverà ad usarlo,
lo si sarà già dimenticato.. i linguaggi, infatti, non sono come andare
in bicicletta, bisogna USARLI per mantenere freschi i ricordi..)

--
Alessandra

Nessuno che abbia senso dell'humor ha mai fondato una religione -
Robert Green Ingersoll

Alessandro Pellizzari

unread,
May 22, 2012, 8:19:34 AM5/22/12
to
Il Tue, 22 May 2012 11:46:30 +0000, Alessandra R. ha scritto:

> Bisogna anche vivere ogni tanto, non è che si può passare tutto
> il proprio tempo al pc, metà a lavorare per sopravvivere, e metà a
> studiare

Non serve mica dedicare 8 ore al giorno allo studio, eh.
Io passo un'oretta al giorno a studiare argomenti nuovi. E qualche sabato
o domenica pomeriggio.
Ho l'enorme vantaggio che l'informatica e` sia il mio lavoro che il mio
hobby, quindi in realta` non mi pesa per niente. Anzi.

> un secondo, terzo, quarto, ecc. linguaggio che già si sa a
> priori che non si userà mai (o che, quando ci si ritroverà ad usarlo, lo
> si sarà già dimenticato.. i linguaggi, infatti, non sono come andare in
> bicicletta, bisogna USARLI per mantenere freschi i ricordi..)

Per prima cosa non sai mai cosa ti capitera` di dover usare in futuro.
Chi studiava Javascript 10 anni fa per fare le cazzatine sui siti, oggi
si trova probabilmente molto avvantaggiato nel fare webapp, per esempio.
E chi studiava Perl all'epoca oggi puo` trovarsi molto bene con PHP.

In secondo luogo, non e` detto che deva servirti direttamente, ma puoi
imparare molto anche senza usarli.

Per me e` stato abbastanza semplice capire le funzioni anonime e le
closure prima in Javascript e poi in PHP perche` le avevo gia` trovate in
Python, per esempio.

Bye.

Giuseppe Lucente

unread,
May 23, 2012, 3:01:49 AM5/23/12
to
Il giorno martedì 22 maggio 2012 13:46:30 UTC+2, Alessandra R. ha scritto:

[...cut...]

> io no. Bisogna anche vivere ogni tanto, non è che si può passare tutto
> il proprio tempo al pc, metà a lavorare per sopravvivere, e metà a
> studiare un secondo, terzo, quarto, ecc. linguaggio che già si sa a
> priori che non si userà mai (o che, quando ci si ritroverà ad usarlo,
> lo si sarà già dimenticato.. i linguaggi, infatti, non sono come andare
> in bicicletta, bisogna USARLI per mantenere freschi i ricordi..)

Concordo con te. 2 miei amici hanno finito per mettere a rischio la salute pur di ricorrere un "perfezionamento" lavorativo che fino ad ora non e' servito a nulla. E cosi' dopo aver sacrificato spesso il proprio tempo libero in nome del miglioramento, uno nel bel mezzo di una notte ha rischiato di essere ricoverato in psichiatria, l'altro va avanti a psicofarmaci.

Non credo sia necessario aggiungere altro, ce ne sono tanti in queste condizioni !

Beppe


fma...@gmail.com

unread,
May 23, 2012, 4:56:17 AM5/23/12
to
<OT>
Mah, in quel caso immagino ci fossero altri tipi di problema, no? Fondamentalmente se si riesce ad organizzarsi la vita facendo quello che ci piace si possono fare tante cose senza stressarsi mai..
Parlo per me, ma in mezzo alla settimana dopo lavoro e cena una o due ore a programmare per progetti miei le ho sempre trovate rilassanti; quello ad esempio è tempo che molte persone passano davanti alla televione (che io invece non sono mai riuscito a sopportare, sono anni infatti che non ne ho una in casa). L'importante è ricordarsi che non è una gara dove si vince o si perde; alcuni hanno più passione di altri per certe cose e scelgono come hobby (al posto di francobolli, calciotto, cosplaying, o pelatura di carote in velocità) lo studio di quello che a loro piace. "Vivere a pieno" non vuol dire (come per qualche oscuro motivo i media cercano di far credere) andare per party, avere il denaro, rimorchiare figoni/e e avere la cultura di un fermaporta; significa essere genuinamente felici per come si è fatti, e per alcuni andare a letto col sorriso comporta anche lo studiarsi l'Objective-C ! ;)
</OT>
Ciao!

Giuseppe Lucente

unread,
May 24, 2012, 2:57:28 AM5/24/12
to
fma...@gmail.com ha scritto:

> Mah, in quel caso immagino ci fossero altri tipi di problema, no?

A me risulta si sia trattato di sindrome da bornout lavorativo, una
spirale piuttosto pesante dove il leitmotiv della giornata sono i forti
stati depressivi e gli attacchi di panico.

Se c'e' una particolare predisposizione "caratteriale" non saprei dirtelo.

> Fondamentalmente se si riesce ad organizzarsi la vita facendo quello
> che ci piace si possono fare tante cose senza stressarsi mai..

Appunto, e' una questione legata al "come affronti il lavoro".

L'importante e' tenere ben distinte la passione e l'ossesione.
Nell'informatica IMHO sono termini che molto spesso si sovrappongono.

> "Vivere a pieno" non vuol dire [...cut...]

Vivere a pieno ? per me vuol semplicemente dire non in maniera
"unilaterale". Che la propria passione si sposi con il proprio lavoro e'
un aspetto molto positivo. Ma cercare di aprirsi con curiosita e senza
pregiudizzi ad altre cose e' fondamentale. Non fosse altro perche' il
giorno in cui la tua passione non ti appasiona piu' o semplicemente perde
un po' di quel sex appeal o hai alternative oppure rischi delle cadute
dalla quale e' difficile rialzarsi.

Saluti
Giuseppe

Alessandro Pellizzari

unread,
May 24, 2012, 5:07:47 AM5/24/12
to
Il Thu, 24 May 2012 08:57:28 +0200, Giuseppe Lucente ha scritto:

> fma...@gmail.com ha scritto:
>
>> Mah, in quel caso immagino ci fossero altri tipi di problema, no?
>
> A me risulta si sia trattato di sindrome da bornout lavorativo, una
> spirale piuttosto pesante dove il leitmotiv della giornata sono i forti
> stati depressivi e gli attacchi di panico.

Se era burnout lavorativo significa che erano sotto stress per il lavoro,
e quindi che quello che facevano fuori dall'orario di lavoro era comunque
lavoro (imposto o auto-imposto).

Quello di cui parlo io e` studio personale. Non c'e` nessuno che ti corre
dietro, fai le cose coi tuoi tempi, e soprattutto le fai finche` ti piace
farle, e se non ti piace smetti.

Objective-C avevo iniziato a studiarlo un paio di anni fa, ma non mi
piaceva per niente e ho smesso. L'ho ripreso quest'anno perche` ho fatto
un corso (in orario d'ufficio). E continua a piacermi poco, quindi NON lo
studio nel tempo libero, dedicandomi ad altro, per ora.

> Appunto, e' una questione legata al "come affronti il lavoro".

E` questa la differenza.
Non deve essere un lavoro. Il lavoro deve finire dopo le 8 ore classiche.
9 o 10 ogni tanto se deve servire a rispettare una scadenza. Ma se
diventa 4 giorni si` e uno no, non e` piu` ogni tanto. Diventa "sempre",
e a quel punto si finisce come i tuoi amici.

Quello di cui parlo io e` passione personale.

Vala non lo usa nessuno per lavoro, e anche nell'open source ci sono
forse 2 o 3 progetti che lo usano. L'ho studiato perche` mi incuriosiva,
e mi e` piaciuto. E coincidentalmente alcuni concetti sono simili a C#,
quindi potrebbe servirmi nel caso dovessi studiare C#.

Java l'ho studiato perche` mi piaceva l'idea di programmare per Android,
e in seguito mi e` servito per un esame universitario. E ancora oggi mi
serve per applicarne alcuni concetti alla OOP in PHP e in Javascript.

Sia Java che Javascript avevo provato a studiarli diversi anni fa, e li
avevo abbandonati entrambi perche` non mi piacevano.

Insomma: cambiano anche i gusti.

Rimane il fatto che se sei un informatico e ti fossilizzi su un solo
argomento, sei finito. Metti in conto di cambiare lavoro.
C'e` gente che ha passato la vita a fare Cobol senza studiare altro, e da
10 anni non trova piu` lavoro (alcuni lo trovano e vengono pagati
tantissimo per mantenere codice legacy, ma non sono TUTTI).

> Vivere a pieno ? per me vuol semplicemente dire non in maniera
> "unilaterale". Che la propria passione si sposi con il proprio lavoro e'
> un aspetto molto positivo. Ma cercare di aprirsi con curiosita e senza
> pregiudizzi ad altre cose e' fondamentale.

Sono d'accordo, ma penso che sia piu` o meno lo stesso che intendeva
fmassei.
Ognuno ha la sua definizione di "vivere a pieno". :)

Bye.


Andrea D'Amore

unread,
May 24, 2012, 5:35:24 AM5/24/12
to
In article <a26c33...@mid.individual.net>,
Alessandro Pellizzari <shur...@amiran.it> wrote:

> E continua a piacermi poco,

Il linguaggio, Cocoa o che?

A me il linguaggio sembra molto più snello di Java per esempio.

Alessandra R.

unread,
May 24, 2012, 5:39:26 AM5/24/12
to
Giuseppe Lucente, rischiando una denuncia penale, ha osato scrivere:

> L'importante e' tenere ben distinte la passione e l'ossesione.
> Nell'informatica IMHO sono termini che molto spesso si sovrappongono.

diciamo che l'alienazione potenzia la "passione", per così dire, che si
trasforma in ossessione (ovvero nell'unico possibile svago) che a sua
volta potenzia l'alienazione. E' un circolo vizioso. Se non
intervengono fattori a spezzare la cosa, si va verso patologie
psichiatriche. La cosa, peraltro, non è legata solo alla
programmazione. Già negli anni '80 il fenomeno era ben noto, e
riguardava i videogiochi (demonizzati all'inverosimile probabilmente
dalle stesse madri che qualche anno prima tuonavano contro goldrake,
ecc.)

--
Alessandra

Perche' dovrei permettere a quel dio che dovette affogare i suoi figli
di dire a me come crescere I miei figli ? - Robert Green Ingersoll

Alessandro Pellizzari

unread,
May 24, 2012, 5:42:49 AM5/24/12
to
Il linguaggio. O meglio, l'accozzaglia che hanno fatto.

Con iOS5 e` un po' migliorato perche` almeno gestisce da solo la memoria,
ma trovarsi pezzi a basso livello (quando vai sul canvas, per esempio), e
pezzi ad altissimo livello ingabbiati in sintassi inventate apposta (vedi
il multithreading, i delegate, ecc.), con un linguaggio a livello
"intermedio" ("gestisco io la memoria, ma tu RICORDATI che sono
puntatori, eh! Altrimenti m'incazzo!") mi pare molto confusionario.

L'impressione e` che sia ingegnerizzato anche peggio di PHP. Hanno preso
un linguaggio (C) e un framework (NeXTStep), e poi ci hanno aggiunto
pezze per farci entrare roba senza un minimo di progettazione.

E onestamente non so come possano alcuni personaggi che criticano PHP
trovarlo bellissimo. :)

Bye.

Giuseppe Lucente

unread,
May 24, 2012, 5:56:38 AM5/24/12
to
Alessandro Pellizzari ha scritto:

> Se era burnout lavorativo significa che erano sotto stress per
> il lavoro, e quindi che quello che facevano fuori dall'orario di
> lavoro era comunque lavoro (imposto o auto-imposto).

Prendi la cosa con beneficio d'inventario non sono uno psichiatra :)

Mi risulta che questo tipo di patologia, nasca molto spesso come risultato
della esigenza di miglioramento della persona. Sara' ansia da prestazione
? Boh, sta di fatto che si inesca un meccanismo per cui per migliorare e
perfezionarmi, inizio ad alienare lentamente il mio tempo libero fino a
che....booom xD

Ripeto pero', prendi con le pinze.

> Non deve essere un lavoro. Il lavoro deve finire dopo le 8 ore classiche.
> 9 o 10 ogni tanto se deve servire a rispettare una scadenza.

Parlo per me stesso. E difficile che io possa scindere "il lato piacevole
dell'approfondimento post-lavorativo" con il "lavoro stesso". Perche'
le due cose coincidono. Ecco perche' appena concludo la mia giornata
lavorativa fuggo ad occuparmi di altro.

> Ognuno ha la sua definizione di "vivere a pieno". :)

Naturlamente ed e' meritevole di essere rispettata cosi' com'e' :)

Ciao
Beppe

Andrea D'Amore

unread,
May 24, 2012, 7:18:01 AM5/24/12
to
In article <a26e4p...@mid.individual.net>,
Alessandro Pellizzari <shur...@amiran.it> wrote:

> ma trovarsi pezzi a basso livello (quando vai sul canvas, per esempio), e
> pezzi ad altissimo livello ingabbiati in sintassi inventate apposta (vedi
> il multithreading, i delegate, ecc.),

Qua però stai parlando della piattaforma.

> L'impressione e` che sia ingegnerizzato anche peggio di PHP.

Difficile, mi sembra molto più

> Hanno preso un linguaggio (C) e un framework (NeXTStep), e poi ci hanno aggiunto
> pezze per farci entrare roba senza un minimo di progettazione.

IIRC objC anticipa di alcuni anni NeXTStep, voleva essere una
dimostrazione di come si potevano modificare gli strumenti esistenti per
adottare tecniche OOP mostrate da Smalltalk80.

Alessandro Pellizzari

unread,
May 24, 2012, 7:45:42 AM5/24/12
to
Il Thu, 24 May 2012 13:18:01 +0200, Andrea D'Amore ha scritto:

> In article <a26e4p...@mid.individual.net>,
> Alessandro Pellizzari <shur...@amiran.it> wrote:
>
>> ma trovarsi pezzi a basso livello (quando vai sul canvas, per esempio),
>> e pezzi ad altissimo livello ingabbiati in sintassi inventate apposta
>> (vedi il multithreading, i delegate, ecc.),
>
> Qua però stai parlando della piattaforma.

Visto che ObjC praticamente lo usa e lo sviluppa solo Apple, penso siano
entrati nel linguaggio anche se erano nella piattaforma.

Per esempio, la definizione dei blocchi con l'operatore ^ ha una sintassi
radicalmente diversa dal resto del linguaggio.

>> Hanno preso un linguaggio (C) e un framework (NeXTStep), e poi ci hanno
>> aggiunto pezze per farci entrare roba senza un minimo di progettazione.

> IIRC objC anticipa di alcuni anni NeXTStep, voleva essere una
> dimostrazione di come si potevano modificare gli strumenti esistenti per
> adottare tecniche OOP mostrate da Smalltalk80.

Si`, infatti. :)
NeXT (e NeXTStep) se l'e` inventato Jobs costruendolo sopra ObjC, ma
appunto ho il sentore che nel frattempo abbia modificato anche la
sintassi di ObjC, e abbia continuato a farlo quando e` tornato in Apple.

Bye.

0 new messages