Imparare java e certificazione

di il
27 risposte

Imparare java e certificazione

A scuola abbiamo studiato Java, andavo abbastanza bene ma vorrei imparare tutto il possibile sull'argomento. Non è che da qualche parte c'è un elenco di tutti gli argomenti o tutto quello che si può fare con Java? Grazie mille a chi mi risponde.

Secondariamente pensate sia il caso di farmi certificare le conoscenze che ho di Java? perché sto cercando lavoro ed è richiesto... Se sì come si fa? Non so proprio nulla io.. So che in alcuni posti ti fanno pagare per avere un certificato poi si scopre che è una fregatura che il certificato non vale niente.

27 Risposte

  • Re: Imparare java e certificazione

    p0ll0 ha scritto:


    A scuola abbiamo studiato Java, andavo abbastanza bene ma vorrei imparare tutto il possibile sull'argomento. Non è che da qualche parte c'è un elenco di tutti gli argomenti o tutto quello che si può fare con Java?
    Purtroppo il "tutto sull'argomento" riferito a Java è un tantino vago/ampio. Nel senso che di cose su Java ce ne sono una marea enorme. Non solo a livello del solo linguaggio ma anche sulle varie piattaforme JavaSE, JavaEE, JavaME. E senza contare le tante librerie/framework che si usano in Java, specialmente lato web/enterprise (es. Spring Framework).

    Diciamo che sarebbe già una buona cosa se impari bene (ma dico BENE) il linguaggio in sé fino a Java 8. E già questo ti assicuro che non è una passeggiata.

    p0ll0 ha scritto:


    Secondariamente pensate sia il caso di farmi certificare le conoscenze che ho di Java? perché sto cercando lavoro ed è richiesto... Se sì come si fa? Non so proprio nulla io.. So che in alcuni posti ti fanno pagare per avere un certificato poi si scopre che è una fregatura che il certificato non vale niente.
    Le certificazioni "ufficiali", quelle che contano per davvero, sono quelle di Oracle. Sono queste che "valgono" a livello lavorativo.
  • Re: Imparare java e certificazione

    andbin ha scritto:


    Le certificazioni "ufficiali", quelle con contano per davvero, sono quelle di Oracle. Sono queste che "valgono" a livello lavorativo.
    grazie mille anche del resto che hai detto, è già un ottimo punto di partenza per me, adesso mi informo. Sei sempre un tesoro ???
  • Re: Imparare java e certificazione

    andbin ha scritto:


    p0ll0 ha scritto:


    A scuola abbiamo studiato Java, andavo abbastanza bene ma vorrei imparare tutto il possibile sull'argomento. Non è che da qualche parte c'è un elenco di tutti gli argomenti o tutto quello che si può fare con Java?
    Diciamo che sarebbe già una buona cosa se impari bene (ma dico BENE) il linguaggio in sé fino a Java 8. E già questo ti assicuro che non è una passeggiata.
    In che senso il linguaggio in sé? Io ho già una base, come faccio a sapere che mi manca?
  • Re: Imparare java e certificazione

    p0ll0 ha scritto:


    Io ho già una base, come faccio a sapere che mi manca?
    Beh, ti faccio alcune domande (non è che devi rispondere se le sai), giusto solo alcune che mi vengono in mente:
    - conosci la differenza tra shadowing, hiding e obscuring ?
    - conosci i principi (desiderabili) di Loose coupling e High cohesion ?
    - conosci il "tipo di ritorno covariante" (e magari anche come viene implementato a livello di bytecode) ?
    - conosci vantaggi/svantaggi dei metodi statici di "factory" rispetto all'uso diretto dei costruttori ?
    - conosci le restrizioni dei costruttori delle enum ?
    - conosci l'uso delle "asserzioni" (parlo della parola chiave assert introdotta in Java 1.4) ?
    - conosci la differenza tra List, List<Object>, List<?> e List<? extends Object> ?
    - conosci a cosa serve un "read-write lock" ?

    Se non riusciresti a rispondere a tutte/molte delle domande, credo che hai sicuramente delle "basi" su Java ma non sono sufficienti per poter lavorare "bene" con Java e nemmeno (neanche lontanamente) per passare una certificazione.
  • Re: Imparare java e certificazione

    Ok, non conosco niente di tutto quello che hai detto. Grazie è qualcosa. Ma tu come hai fatto ad imparare tutto quello che hai imparato? E conosci anche altre cose? Magari altri linguaggi di programmazione?
  • Re: Imparare java e certificazione

    Io invece chiederei
    Ma servono a qualcosa?
    intendo quelle domande.
    la stragrande maggioranza delle aggiunte storiche non servono a nulla, a parte cambiare i requisiti per le certificazioni.
    diciamo che un sottoinsieme, forse il 30% di java, è più che sufficiente per scrivere qualsiasi programma.

    Non porrei quindi un accenno esasperato su tutti i più esoterici dettagli del linguaggio.
    infatti ti chiederei, in fase di assunzione, domande molto diverse da quelle poste sopra
  • Re: Imparare java e certificazione

    +m2+ ha scritto:


    Ma servono a qualcosa?
    intendo quelle domande.
    Le MIE domande, in questo momento, no, non valgono più di tanto infatti, le ho dette solo così per dare una idea @p0ll0. Quei concetti invece sì, contano!
    Se uno non conosce quei concetti (anche solo i primi che ho detto, per dire), probabilmente non ne conoscerà neanche molti altri. E in questo modo, in Java non sviluppa ... o perlomeno quasi certamente svilupperà poco e/o male.

    +m2+ ha scritto:


    Non porrei quindi un accenno esasperato su tutti i più esoterici dettagli del linguaggio.
    infatti ti chiederei, in fase di assunzione, domande molto diverse da quelle poste sopra
    Ma dipende dal profilo che si cerca. Se fossi un "selezionatore" e mi arriva un Java "junior", non ci penserei proprio a chiedergli come è implementato il tipo di ritorno covariante a livello di bytecode.

    L'azienda di cui sono dipendente da pochi mesi (fortunatamente, dopo la brutta esperienza a Dicembre che mi aveva fatto perdere il lavoro), prima di assumermi mi ha fatto fare colloqui in diversi clienti. In uno di questi mi hanno fatto un colloquio abbastanza tosto in cui mi hanno chiesto anche cosa sono i "read-write lock". E naturalmente ho risposto perfettamente. Ma la posizione era per un Java "senior" con svariati anni di esperienza. Uno junior non l'avrebbero neanche fatto venire ...

    Quindi, per concludere, bisogna semplicemente vedere fin dove uno vuole arrivare. Se uno vuole lavorare davvero "bene" con Java quei concetti (e molti altri), li deve sapere ...

    Scusate per il post molto poco "tecnico".
  • Re: Imparare java e certificazione

    Ti faccio un esempio.
    Ora sto sviluppando con un linguaggio che non prevede le enum (o meglio sì, però in termini "stile C").
    Campo benissimo.
    Non ho alcuna necessità di utilizzarle.

    Se scrivessi in Java, passerei del tempo a studiare il perchè e il percome delle enum java?
    No, non ci perderei un secondo.
    Sono manifestamente inutili, continuerei a farne a meno.
    E vivrei ugualmente felice.

    ---
    Di nuovo va posta attenzione al FINE (cioè il PROGRAMMA) più che al MEZZO (il LINGUAGGIO).
    Se usi tutte le più strane e (pressochè inutili) caretteristiche del linguaggio, ma il programma è pessimo, il risultato è pessimo.
    E viceversa.
    A me, francamente, per assumerti non interesserebbe minimamente di questi dettagli minuti, è livello di "operaio dell'informatica".

    Ti chiederei invece qualcosa tipo
    "come approcceresti una firma xades a norma agenzia delle entrate ?"

    Se poi nel tuo codice non ci sono enum (o quello che vuoi)... pazienza... sai che mi frega?
  • Re: Imparare java e certificazione

    +m2+ ha scritto:


    Se scrivessi in Java, passerei del tempo a studiare il perchè e il percome delle enum java?
    No, non ci perderei un secondo.
    Sono manifestamente inutili, continuerei a farne a meno.
    E vivrei ugualmente felice.
    Premesso che le enum di Java secondo me sono una delle cose che sono venute "bene", le trovo molto utili e le ho usate svariate volte. Mentre in altri linguaggi le enum sono solo poco più che "numeri".

    Comunque scusa, se non usi le enum non usi nemmeno for-each? generics? metodi varargs? E se sei su Java 8 non usi la Stream API? Neanche la Date/Time API? Neanche lambda?

    +m2+ ha scritto:


    Di nuovo va posta attenzione al FINE (cioè il PROGRAMMA) più che al MEZZO (il LINGUAGGIO).
    Non metto in dubbio che il fine (il programma finale) sia importante. Ma anche i mezzi lo sono. Avere più mezzi o comunque mezzi "migliori" nella programmazione permette di scrivere codice più pulito, lineare, semplice.

    +m2+ ha scritto:


    Se usi tutte le più strane e (pressochè inutili) caretteristiche del linguaggio, ma il programma è pessimo, il risultato è pessimo.
    Certo, assolutamente. Ma il problema secondo me non è tanto in quelle caratteristiche ... ma nel tizio che è <beep>, che non le ha capite, non le sa usare, non sa ragionare, non sa "programmare", ecc... E' un altro discorso ...

    Te ne dico una: in questo periodo sto studiando molto Javascript, Ecmascript 6, Node.js, ecc...
    Ecmascript 6 ha tantissime nuove feature, tra cui le assignment destructuring, ovvero puoi estrarre dati da array/oggetti in maniera concisa.

    var ogg = { nome: "Andrea" };
    var { nome } = ogg;

    La variabile nome dichiarata con var destruttura l'oggetto andando a prendere la property nome. Tu dirai: una finesse di ES6. Sì. E si può fare anche in un normale assegnamento, dopo che una variabile è già stata dichiarata:

    var nome;
    { nome } = ogg; // errore di sintassi

    è un errore di sintassi perché uno statement non può iniziare con { (solo i blocchi iniziano con { ). Quindi bisogna racchiudere tutta l'espressione tra parentesi:

    ({ nome } = ogg);

    Tu dirai: una super finesse! Certo è una finesse ma chi vuole usare le assignment destructuring lo dovrebbe poi sapere!
    E io l'ho studiato, ora non mi fregherò e non mi fregherà nessuno su questo.

    +m2+ ha scritto:


    "come approcceresti una firma xades a norma agenzia delle entrate ?"
    Che non saprei affatto risponderti ... nemmeno dopo i miei 19+ anni di esperienza lavorativa ... e personalmente non conosco nessuno che saprebbe farlo!


    Dai, non voglio certo fare polemiche con te, non ti conosco neanche. Concludo, in generale: se uno non vuole studiare tutte le feature dei linguaggi (per qualunque motivo), è libero di fare così. A me piace studiare le cose in questo modo e a questo livello ... e continuerò a fare così.
  • Re: Imparare java e certificazione

    andbin ha scritto:


    ...Comunque scusa, se non usi le enum non usi nemmeno for-each? generics? ...
    No, e vivo felicissimo lo stesso.
    Non metto in dubbio che il fine (il programma finale) sia importante. Ma anche i mezzi lo sono. Avere più mezzi o comunque mezzi "migliori" nella programmazione permette di scrivere codice più pulito, lineare, semplice.
    E no.
    Non sono d'accordo.
    Distinguiamo l'aspetto ESTETICO (il sorgente) da quello EFFETTIVO.
    Puoi scrivere qualcosa che SEMBRA bello (sorgente) ma che diventa un INCUBO una volta compilato.
    E' zucchero sintattico nella stragrande maggioranza dei casi.
    Se ti piace l'eleganza, posso diagonalizzarti una intera JVM in un singolo numero, alla Cantor.
    Pulito, lineare.
    Ma non esattamente semplicissimo
    Te ne dico una: in questo periodo sto studiando molto Javascript, Ecmascript 6, Node.js, ecc...
    Ecmascript 6 ha tantissime nuove feature, tra cui le assignment destructuring, ovvero puoi estrarre dati da array/oggetti in maniera concisa.(...)
    Ma, per curiosità, chi se ne frega della "concisione"?
    (vedi punto successivo)

    +m2+ ha scritto:


    "come approcceresti una firma xades a norma agenzia delle entrate ?"
    Che non saprei affatto risponderti ... nemmeno dopo i miei 19+ anni di esperienza lavorativa ... e personalmente non conosco nessuno che saprebbe farlo!
    Vedi, questo è un esempio concreto.
    Puoi farti tutte le "masturbazioni" sul risparmiare un { nel sorgente.
    Ma se sapessi rispondere alla domanda, anche scrivendo un programma COBOL, ritengo che avresti maggiori possibilità lavorative (e, per inciso, mi sta facendo abbastanza bestemmiare )
    Se lavori da 19 anni sei ggiovane... io sono a 31...
    Dai, non voglio certo fare polemiche con te, non ti conosco neanche. Concludo, in generale: se uno non vuole studiare tutte le feature dei linguaggi (per qualunque motivo), è libero di fare così. A me piace studiare le cose in questo modo e a questo livello ... e continuerò a fare così.
    Spesso mi chiedo se il tempo impiegato in queste cose non potrebbe essere impiegato più produttivamente.

    Se preferisci un approccio agile.

    Ho visto un sacco di certificazioni dove venivano chieste delle sottigliezze davvero inverosimili in qualsiasi ambito lavorativo mai e poi mai usate (quelle CISCO penso siano le peggiori in assoluto, da questo punto di vista)
    ---
    Insomma, riassumendo, va benissimo studiare un linguaggio.
    Va benissimo non limitarsi ai 4 statement "simil-basic".
    Ma prima di passare mesi-anni-la-vita cercherei di capire se questo tempo (=costo) può essere speso in modo più efficiente.
    ... A meno che lo SCOPO non sia scrivere un interprete-compilatore
  • Re: Imparare java e certificazione

    +m2+ ha scritto:


    Io invece chiederei
    Ma servono a qualcosa?
    intendo quelle domande.
    la stragrande maggioranza delle aggiunte storiche non servono a nulla, a parte cambiare i requisiti per le certificazioni.
    diciamo che un sottoinsieme, forse il 30% di java, è più che sufficiente per scrivere qualsiasi programma.

    Non porrei quindi un accenno esasperato su tutti i più esoterici dettagli del linguaggio.
    infatti ti chiederei, in fase di assunzione, domande molto diverse da quelle poste sopra
    Ok bene allora forse sono a posto. Grazie mille. Allora magari mi metto a studiare meglio SQL.
  • Re: Imparare java e certificazione

    p0ll0 ha scritto:


    +m2+ ha scritto:


    Io invece chiederei
    Ma servono a qualcosa?
    intendo quelle domande.
    la stragrande maggioranza delle aggiunte storiche non servono a nulla, a parte cambiare i requisiti per le certificazioni.
    diciamo che un sottoinsieme, forse il 30% di java, è più che sufficiente per scrivere qualsiasi programma.

    Non porrei quindi un accenno esasperato su tutti i più esoterici dettagli del linguaggio.
    infatti ti chiederei, in fase di assunzione, domande molto diverse da quelle poste sopra
    Ok bene allora forse sono a posto. Grazie mille. Allora magari mi metto a studiare meglio SQL.
    A mio parere fai bene, nel senso preferirei conoscere "dignitosamente" Java, e "dignitosamente" SQL (o qualsiasi altro argomento utile) piuttosto che "benissimo" Java, e niente altro.

    Questa però è una mia opinione, non necessariamente quella di chiunque altro.
  • Re: Imparare java e certificazione

    Grazie! ho guardato un po' javascript adesso guarderò SQL
  • Re: Imparare java e certificazione

    p0ll0 ha scritto:


    Grazie! ho guardato un po' javascript adesso guarderò SQL
    Scusa .. cosa vuol dire? Guardi un linguaggio al giorno? Domani C++, dopodomani Python, dopo-dopodomani C#, ecc. ?
    Guarda che così molto "lontano" non vai ....
Devi accedere o registrarti per scrivere nel forum
27 risposte