Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 31 a 40 su 47
  1. #31
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Stavo leggiucchiando qualcosa in proposito, sembra ben pensato!
    E' a mio parere uno dei linguaggi meglio pensati, ed infatti negli ultimi anni un sacco di linguaggi hanno tratto idee da esso, primo fra tutti il design by contract che negli ultimi 3-4 anni sembra la cosa più innovativa del mondo...
    Peccato che nessuno abbia pensato a copiare anche l'ereditarietà multipla a la eiffel...
    Mi dispiace solo che abbia avuto così poca diffusione per la sintassi non C-like e per l'elevato costo dell'implementazione per singola licenza che è perdurata fino all'anno scorso e ha contribuito a limitarne ancora la diffusione...
    Tra l'altro la libreria standard è pure abbastanza fornita...

    Ti consiglio vivamente di approfondire un po', almeno per cultura. Ovviamente se ne hai il tempo e la possibilità
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  2. #32
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    Se leggi quell'articolo e non ti metti le mani nei capelli vuol dire che PHP è veramente pericoloso, perché fa pensare che incoerenze e comportamenti assurdi o tollerabili in praticamente ogni altro linguaggio a piccole dosi siano una cosa normale; sorry, è PHP l'anomalia. O quello, o sindrome di Stoccolma.....

    cut
    Come ho detto non ho letto tutto l'articolo. Ho evidenziato solo come si riempia una pagina con delle assurdità facendole passare per problemi dando a mio avviso, la percezione che php è il male.

    Detto questo il punto non è quale linguaggio è migliore. E' ovvio che c# sta a php come una divinità sta al comun mortale.

    Ma se un utente deve imparare che cos'è un oggetto, una classe e un interfaccia a mio avviso php va bene.

    Che il 90% delle librerie php siano in procedurale ad un programmatore che comincia non può che tornare comodo. Il mio vecchio manuale di PHP, molto vecchio, mise i concetti della oop solo alla fine.

    Il manuale su cui studiai il c# cominciò dicendo che tutto derivava da object. Questo si traduce che chi non sa cosa vuol dire oggetto né cosa si intende per deriva...si perde dopo due righe.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #33
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Il C non ha oggetti, il C++ implementa l'ereditarietà multipla per modo di dire (nel senso che nessuno la usa perché non fa altro che dare problemi), PHP non è un linguaggio con cui imparare niente perché devi stare attento ad un sacco di altre cose di contorno che danno problemi, oltre al fatto che come già detto questi non hanno un minimo di integrazione.

    Nel caso si stava parlando di python, ma virtualmente ogni linguaggio OO è meglio di PHP.
    Si parlava di python solo perché ne ha parlato l'utente all'inizio.

    In sostanza PHP è un linguaggio neccessario oggi, però totalmente inadatto all'insegnamento per svariati motivi, specialmente se si parla dell'insegnamento di un modello di programmazione che implementa parzialmente e in modo discutibile e che non è effettivamente utilizzato da una buona parte del linguaggio stesso.
    Ovvio che mi riferivo al c++. Inoltre in merito non ho detto che l'eredità multipla sia una buona cosa. Solo che aveva un modo diverso di implementare la oop cosa che tu, in un precedente intervento, condannavi nel php.

    Come ho detto nel post precedente penso che per cominciare possa andar bene. Ad un novellino poco importi se le funzioni principali siano scritte in procedurale.

    E comunque man mano lo stanno trasformando. Basta pensare a PDO e l'oggetto date.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #34
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    E' a mio parere uno dei linguaggi meglio pensati, ed infatti negli ultimi anni un sacco di linguaggi hanno tratto idee da esso, primo fra tutti il design by contract che negli ultimi 3-4 anni sembra la cosa più innovativa del mondo...
    Peccato che nessuno abbia pensato a copiare anche l'ereditarietà multipla a la eiffel...
    Mi dispiace solo che abbia avuto così poca diffusione per la sintassi non C-like e per l'elevato costo dell'implementazione per singola licenza che è perdurata fino all'anno scorso e ha contribuito a limitarne ancora la diffusione...
    Tra l'altro la libreria standard è pure abbastanza fornita...

    Ti consiglio vivamente di approfondire un po', almeno per cultura. Ovviamente se ne hai il tempo e la possibilità
    curiosità quanto costa una singola licenza? Ho visitato il sito del produttore ma fanno compilare il form
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #35
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    Come ho detto non ho letto tutto l'articolo. Ho evidenziato solo come si riempia una pagina con delle assurdità facendole passare per problemi dando a mio avviso, la percezione che php è il male.

    Detto questo il punto non è quale linguaggio è migliore. E' ovvio che c# sta a php come una divinità sta al comun mortale.

    Ma se un utente deve imparare che cos'è un oggetto, una classe e un interfaccia a mio avviso php va bene.

    Che il 90% delle librerie php siano in procedurale ad un programmatore che comincia non può che tornare comodo. Il mio vecchio manuale di PHP, molto vecchio, mise i concetti della oop solo alla fine.

    Il manuale su cui studiai il c# cominciò dicendo che tutto derivava da object. Questo si traduce che chi non sa cosa vuol dire oggetto né cosa si intende per deriva...si perde dopo due righe.
    PHP è il male se devi imparare in modo serio a programmare, qualsiasi cosa tu debba imparare, PHP puoi casomai utilizzarlo quando hai già conoscenze salde e quindi sai come puoi aggirare tutti i vari problemi che lui ti crea!

    Se C# sta a PHP come una divinità sta ad un comune mortale non vedo perché non utilizzare C#. Anche se comunque la cosa non è affatto ovvia e ad esempio per alcuni progetti web potrebbero risultare assai più utili linguaggi diversi dal C#.

    Con PHP se riesci a capire a che ti serve un oggetto sei fortunato. Se si può fare tutto implementando le cose a forza di primitive e quella parte di libreria standard che c'è è totalmente procedurale, perché devo io (un io generico) mettermi ad utilizzare gli oggetti che mi creano solo problemi ad usarli col resto, anche con gli operatori di confronto che operano esattamente all'opposto con gli oggetti e con i tipi primitivi.

    Il metodo di insegnamento è discutibile, partire già con l'idea di oggetto e delinearla per bene o partire da una concezione procedurale per poi aggiungere gli oggetti è una questione di gusto. Certo se parti da una concezione procedurale vedi gli oggetti come un surplus e un qualcosa che non fa altro che appesantire (cosa che secondo me è vera in molti casi, quando effettivamente l'ereditarietà è portata troppo all'estremo e non fa altro che indurre complicazioni, ripeto: in certi casi e quando l'ereditarietà è portata all'estremo, l'ereditarietà che è scollegata dall'incapsulamento, tanto che gli oggetti esistono anche senza ereditarietà, non voglio creare guerre ideologiche). E in ogni caso ci sono tanti altri linguaggi che ti permettono di sviluppare (apparentemente) senza oggetti, ad esempio il sopra citato Python, oppure Ruby, ...

    In C# sei costretto a introdurre subito gli oggetti, altrimenti non scrivi neanche il main. Questo comunque, come già ho detto, ha sia vantaggi che svantaggi, dipende dal metodo d'insegnamento e c'è chi (insegnante) preferisce uno e chi preferisce l'altro. Io personalmente preferisco l'introduzione immediata degli oggetti, ma è solo una mia opinione.
    In ogni caso per il "non capisce niente" pensa a tutte le tecniche di insegnamento (anche delle lingue parlate ad esempio) ad immersione, ai corsi in lingua, ai laboratori e all'apprendimento per sperimentazione, in cui l'apprendimento è graduale perché i concetti vengono spiegati gradualmente e si capiscono appunto per sperimentazione.
    Ad ogni modo tu hai capito comunque, dato che stai usando C# e non è detto che tutti i manuali comincino come il tuo.
    Per fare un analogo con la programmazione procedurale: tanti corsi C cominciano col dire "devi sempre scrivere
    codice:
    #include <stdio.h>
    
    int main(int argc, char **argv) {
    
      return 0;
    }
    e in mezzo metterci il codice perché la funzione main è fondamentale e devi sempre includere le librerie" per spiegare il tutto solo poi, il punto è lo stesso: come non sai cos'è un oggetto, non sai cos'è una funzione. E non dire che già la conosci prima di cominciare a programmare perché l'idea che si ha di funzione è profondamente diversa da quella che ne ha un linguaggio di programmazione non puramente funzionale.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #36
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    curiosità quanto costa una singola licenza? Ho visitato il sito del produttore ma fanno compilare il form
    Non ricordo, mi pare sui $3000 a singolo programmatore senza aggiornamenti che andavano pagati a parte, seppure a costi minori. Ma non vorrei sbagliarmi.
    Avevano comunque il download gratuito per gli studenti e ora è anche disponibile in doppia licenza...

    Edit: no, forse mi sbaglio, 3000 per singola piattaforma a singolo programmatore
    Ultima modifica di Scara95; 31-01-2014 a 00:25
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #37
    Il punto è che linguaggi poco coerenti mettono i bastoni tra le ruote (ed è lo stesso motivo per cui anche C++ è un pessimo linguaggio per iniziare). PHP non va bene per imparare la OOP (né nient'altro, a mio avviso) perché è schizofrenico e non coerente; appena credi di aver imparato una regola, c'è subito l'eccezione. Nulla di PHP è "armonico" con il resto del linguaggio o della libreria, per cui si perde più tempo ad imparare le eccezioni che a capire i concetti che ci dovrebbero stare dietro. Quando di rado mi capita di dover scrivere codice PHP, ogni momento c'è da mettersi le mani nei capelli, perché nulla si comporta in maniera prevedibile - non è possibile formarsi un modello mentale coerente delle idee che stanno dietro il linguaggio perché non ci sono; e quello che è peggio, PHP è pensato per segnalare gli errori in maniera discutibile e andare avanti qualunque stupidaggine scrivi, per cui ti rende inutilmente difficile fare la cosa giusta.

    Se io sono un principiante, quello che mi serve è un linguaggio in cui la sintassi sia logica, coerente e "mappi" bene le idee che ci stanno dietro; ovvero, deve essere facile formarsi un "modello mentale" giusto di come funziona il linguaggio. In altri termini, il linguaggio mi deve aiutare a capire le idee che ci sono dietro, non mi deve ostacolare perché è scritto da mentecatti e ad ogni angolo c'è una eccezione alle regole viste finora. Se un linguaggio è logico, intuisco facilmente (almeno a livello concettuale) la sintassi che ancora non conosco, e al momento di provarla l'"educated guess" logico funziona (rinforzo positivo).

    Allo stesso tempo, se sto facendo una cavolata me lo deve dire subito, per evitare che io vada avanti ad usare paradigmi sbagliati, senza cercare di dare un senso a qualunque input che io ci butti dentro (rinforzo negativo) (e questo è un altro motivo per cui usare linguaggi con "undefined behavior" come il C o il C++ come primo linguaggio è una scelta discutibile).

    Il fatto che la libreria standard sia uno schifo è importantissimo, visto che la libreria standard, oltre che a fornirti roba da usare, serve ad insegnarti come si dovrebbero strutturare i programmi nel linguaggio in questione, quali sono le convenzioni, eccetera.

    Se la libreria standard è un accrocchio dietro l'altro, strutturerai il tuo codice alla stessa maniera, o in alternativa, perderai metà del tempo dietro alle limitazioni dell'una o dell'altra funzione di libreria che fa la stessa cosa di trenta altre simili bacate in maniera leggermente diverse. Se la libreria standard incoraggia pratiche demenziali e non vedi altro che schifezze, è ovvio che non ti immagini nemmeno che si possa scrivere qualcosa di decente; un paio di esempi:
    • ordinare una lista: ci sono ottocento funzioni diverse (citate nell'articolo) a seconda della micro-variante che ti interessa; un principiante vede questa cosa e pensa che l'unica maniera di risolvere il problema in maniera leggermente diversa sia il copia-incolla, senza immaginare che in effetti ti basta un solo sort che consenta di specificare una operazione di confronto custom;
    • l'SQL injection è un non-problema a cui il core language non ha dato subito come soluzione l'unica cosa sensata - le query parametriche - ma i magic_quotes_gpc o mille funzioni di escaping balengo, una più rotta dell'altra ^2); e la gente "cresce" avendo paura dell'input esterno e pensando che "ah che problema sanitizzare gli input"
    • le strutture dati. PHP non ha strutture dati, ha solo un array balengo che non è un array; come puoi immaginarti che un array, una hashtable, una mappa ordinata, una deque, ... sono strutture diverse da usare in situazioni diverse se cresci alla scuola del "c'è una sola struttura dati"?
    • in generale, come detto più volte, il 90% della libreria standard è procedurale, con una funzione (bacata) per ogni micro-cosa; questo non ti incoraggia né ad approfondire il senso della OOP, né a ragionare a blocchi riutilizzabili e combinabili, visto che quello che vedi sono una miriade di "scatole nere" incompatibili per fare ogni cosettina.


    Ah, PDO o l'oggetto Date non sono trionfi, sono funzionalità primitive di un qualunque linguaggio di scripting con pretesa di lavorare con il web.
    Ultima modifica di MItaly; 31-01-2014 a 00:31
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #38
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Non ricordo, mi pare sui $3000 a singolo programmatore senza aggiornamenti che andavano pagati a parte, seppure a costi minori. Ma non vorrei sbagliarmi.
    Avevano comunque il download gratuito per gli studenti e ora è anche disponibile in doppia licenza...

    Edit: no, forse mi sbaglio, 3000 per singola piattaforma a singolo programmatore
    bhe siamo ai livelli di visual studio
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  9. #39
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Se C# sta a PHP come una divinità sta ad un comune mortale non vedo perché non utilizzare C#. Anche se comunque la cosa non è affatto ovvia e ad esempio per alcuni progetti web potrebbero risultare assai più utili linguaggi diversi dal C#.
    Perché non sempre dipende da te la scelta. Spesso il cliente dispone di hosting LAMP e non intende cambiare.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #40
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    Perché non sempre dipende da te la scelta. Spesso il cliente dispone di hosting LAMP e non intende cambiare.
    Già detto prima. PHP oggi ha senso di esistere per mantenere progetti vecchi e per quando ti viene imposto dalla piattaforma o dal cliente, ciò non toglie che per imparare o per la realizzazione di nuovi progetti si possano usare altri linguaggi.
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    bhe siamo ai livelli di visual studio
    Licenza a singolo programmatore? Non mi pare...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.