Newsgroup: it.comp.www.php
Titolo: Spiegatemi perché PHP fa schifo

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?


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
 
 
 


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/
 
 

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


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!


 
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!!!

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

 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.
 

 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.
 

 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!

 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)
 
 

 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!

 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
 
 

 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)
 
 

 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.

 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.

Sono solo linguaggi, non programmi.
 
Si certo.


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

 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! :-)

 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.

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.

 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.
 

Il mio non era assolutamente un tentativo di flame.


 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.
 

 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.
 

 E comunque FORZA LUA! :-)
 
Il 2012 e` dedicato a Objective-C, ma metto in lista LUA per il 2013. ;)
 
Bye.
 


 
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!


 
Peace! ;)

 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.

 ma metto in lista LUA
 
Dato che siamo attenti al casing è Lua.


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!


Questo invece è un vero mistero: la cortesia della gerarchia it.comp.* è 
fuori da ogni logica usenet. :-)
Ciao!

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

 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.
 

 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"]
 
 

 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
 
 

 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
 
 
 

 Perche' dovrei imparare python (che non mi viene immediato come java ad
esempio)?
 
Principalmente per farti un'idea.
 
Ciao
Beppe



 
Peace ;)


 
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 :-)

 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.
 

 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)
 
 

 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).


 
<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!


 
Sì certamente, son gusti ;)
Ciao!
 

 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
 
)
 
 

 Io programmo in C per lavoro.
 
Ora si spiega il tuo attaccamento morboso alla tipizzazione statica. ;D
 
Bye.


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!

 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

 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.

 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
 
 


<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!

 "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


 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.
 
 

 E continua a piacermi poco, 
 
Il linguaggio, Cocoa o che?
 
A me il linguaggio sembra molto più snello di Java per esempio.

 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


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.

 Ognuno ha la sua definizione di "vivere a pieno". :)
 
Naturlamente ed e' meritevole di essere rispettata cosi' com'e' :)
 
Ciao
Beppe


 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.

 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.