Pagina 1 di 14 1 2 3 11 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 134
  1. #1

    La mia brutta esperienza con Java e OOP

    Premessa: non considero l'OOP totalmente un male ma l'utilizzo forzato in ogni aspetto si.

    Ho deciso di iniziare a programmare per android, mi armo di Android Studio e con pazienza inizio a settare le prime Activity. Ma arriva il momento tragico: devo implementare delle funzionalità personalizzate, nonostante le API di google, nonostante le risposte su StackOverflow, più vedo la parola class e più il cervello inizia a esplodermi. Ho passato così 6 notte e 6 giorni a cercare di capire le fondamenta dell'utilizzo dell'OOP senza cavarne un topo dal buco. Fatto sta che oggi mi sono detto "Bona, l'OOP non fa per me".

    Ora il mio personale parere dopo aver passato anni e anni a scrivere in procedurale e funzionale senza alcun problema: "Le classi sono simpatiche, carine da vedere, le freccettine per chiamare i metodi molto belli e simpatici. Possono anche essere utili in alcuni punti. Ma non oltre. Non ne comprendo ne logica ne utilità nell'utilizzo delle classi ovunque. Credo che il procedurale o funzionale sia per assoluto il miglior metodo. In giro su internet ho anche letto che un codice procedurale ben scritto vale quando quello agli oggetti ben scritto. Nella mia attività ho steso il procedurale sempre molto ordinatamente e le modifiche del codice già scritto non mi hanno mai portato via così tanto tempo come altri hanno invece detto."

    Cosa ne pensate voi? Quale è la vostra esperienza con OOP? Vi piace?

  2. #2
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    programmo in java da una decina d'anni, e non riuscirei a tornare indietro. Non dico a qualcosa che non sia java, ma a qualcosa che non sia ad oggetti.

    L'oop non la impari in 6 giorni e 6 notti, è un modo di pensare e richiede del tempo.

    E' vero tuttavia che se devi fare una cosa molto semplice è più di intralcio che d'aiuto. In ogni caso in java 8 hanno introdotto alcune novità nel linguaggio che snelliscono in molti punti il codice nascondendo inutili sofisticazioni anche quando non ce n'è bisogno.


    In genere a quelli come te consiglio il python. Più snello ed elegante, puoi usare il procedurale quando vuoi e ha già molte delle funzionalità che in java sono arrivate solo con java 8 (non presenti nell'sdk di android).

  3. #3
    Io ho programmato una vita in PHP. L'impatto è stato molto duro ma 6 giorni e 6 notti per capire una logica di programmazione credo siano sufficienti. E da quel che ho capito, per i progetti che ho realizzato finora (e non sono progettini) ritengo il procedurale la miglior scelta, che mi dona anche più tranquillità.
    Io invece il contrario di te, invece di "non riuscirei a tornare indietro" dico "riesco facilmente a tornare indietro".

  4. #4
    Premesso che l'OOP non è una panacea, che per progetti piccoli il procedurale va più che bene e che il modello "alla Java" secondo me è decisamente troppo rigido, è normale non capirci niente all'inizio; gettare la spugna dopo una settimana (in cui, senza offesa, dubito tu abbia capito granché di come effettivamente si usa "per davvero") mi sembra quantomeno prematuro.

    (per inciso, se vieni da PHP hai in mente uno dei modelli di programmazione più pataraccati che ci siano in giro, praticamente qualunque altro linguaggio/paradigma tu possa vedere - fatto salvo forse Batch - è fatto meglio per definizione )
    Ultima modifica di MItaly; 02-08-2014 a 00:49
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Bhe insomma non esagerare, il php è molto semplice ed è molto usato nel web. Non puoi ridurlo cosi per un tuo screzio . PS: sto cercando di avvicinarmi ora all' OOP con php, e mi sembra piu facile che con java..

  6. #6
    Quote Originariamente inviata da otta88sun Visualizza il messaggio
    Bhe insomma non esagerare, il php è molto semplice ed è molto usato nel web. Non puoi ridurlo cosi per un tuo screzio .
    http://eev.ee/blog/2012/04/09/php-a-...of-bad-design/
    (e chiudo qui su PHP, che sennò (1) vado off-topic e (2) divento volgare)
    PS: sto cercando di avvicinarmi ora all' OOP con php, e mi sembra piu facile che con java..
    Sicuramente hai il vantaggio di lavorare in un linguaggio che già conosci, ma dall'altro lato le feature OOP di PHP sono un po' attaccate su con lo scotch - ovvero, è una OOP per certi versi molto "alla Java" che non si integra granché con il resto del linguaggio, per cui se ne capisce poco il senso.

    Capisco comunque che lo "choc culturale" nel passaggio da PHP a Java sia notevole, secondo me anche perché, oltre alla OOP molto rigida, ti vai a scontrare con la tipizzazione forte e statica di Java (opposta a quella debole e fin troppo dinamica di PHP). Forse per iniziare a vedere un po' di OOP senza troppe costrizioni (con pizzichi di programmazione funzionale qua e là) sarebbe meglio passare per un altro linguaggio dinamico come Python.
    Ultima modifica di MItaly; 02-08-2014 a 01:26
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Bhe tu hai citato un blog che contiene una personale opinione, potrei trovartene altri 1000 per che ne parlano bene. Come classificheresti allora WordPress il CMS numero 1 al mondo in OOP scritto guarda a caso con...? Php ;D

    Se la tua intenzione era paragonare Java a Php sappi che sono due strumenti volti a scopi differenti.

    Comunque pace, l'unica cosa che posso dirti è che avvicinarmi all'OOP con Java è stata una martellata sui piedi, con PHP invece sento meno dolore...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    296
    Un problema secondo me nasce dal fatto che ci sono alcuni programmatori che sentono il bisogno di utilizzare OOP ovunque. Sono sicuro che in questo momento c'è qualcuno lì fuori che sta creando un modulo contatti in OOP per chissà quale oscuro motivo...

  9. #9
    Quote Originariamente inviata da otta88sun Visualizza il messaggio
    Bhe tu hai citato un blog che contiene una personale opinione, potrei trovartene altri 1000 per che ne parlano bene.
    L'opinione non sostanziata è irrilevante; quello che personalmente mi lascia allibito sono i fatti riportati in quella pagina. Comunque, non è di quello che stavamo discutendo.
    Come classificheresti allora WordPress il CMS numero 1 al mondo in OOP scritto guarda a caso con...? Php ;D
    La codebase di WP è generalmente considerato un gran casino afflitta da problemi di retrocompatibilità; la forza di WP sta nella facilità di installazione/customizzazione, nella grande diffusione e nella vasta community, tutte cose che non hanno un legame stretto con la qualità del suo codice. Anche un applicativo che sviluppiamo è "il numero uno" in quanto a funzionalità (ed è stranamente user-friendly rispetto alla concorrenza), ma ciò non toglie che sia un monolite da 265 KLOC del peggiore C++ che abbia mai visto, e metterci mano ogni volta è un terno al lotto.
    Se la tua intenzione era paragonare Java a Php sappi che sono due strumenti volti a scopi differenti.
    La mia intenzione è paragonare Java a PHP per farti notare che non è solo un problema di OOP, ma di mindset differente su tanti fronti.
    Comunque pace, l'unica cosa che posso dirti è che avvicinarmi all'OOP con Java è stata una martellata sui piedi, con PHP invece sento meno dolore...
    Cosa abbastanza normale per i motivi detti sopra (linguaggio che per il resto già conosci, senza difficoltà aggiuntive di sintassi e ribaltamento completo dello stile di tipizzazione).
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647
    Uno dei problemi di PHP a parer mio, è che non avento una tipizzazione molto basilare, praticamente assente delle volte di fa bestemmiare in lingue sconosciute. Ti indice a creare big e comportamenti inattesi.

    Wordpress è il male...e non sopporto nemmeno tanto Joomla, se ti dimentichi di aggiornarlo te lo bucano in due secondi, e Drupal, potentissimo ma pesantissimo.

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.