Mostra notizie nelle discussioni
  • Avatar
    ☺
    Scritto da
    avvelenato
    un mezzo cavallo
    il 2014-10-23 11:02:25.0 alle 2014-10-23 11:02:25.0
    Trollate totali: 14239
    java scorre
    Giambo, lo sai?
    Java scorre, java scorre.
    I pedoni possono muoversi solo in avanti.
    • Avatar
      ☺
      Scritto da
      il 2014-10-23 12:04:05.0 alle 2014-10-23 12:04:05.0
      Trollate totali: 42885
      Re: java scorre
      Scritto da: avvelenato
      > Giambo, lo sai?
      > Java scorre, java scorre.

      The spice java must flow
      `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
      • Avatar
        Scritto da
        Non Autenticato
        il 2014-10-23 14:27:30.0 alle 2014-10-23 14:27:30.0
        Re: java scorre
        Scritto da: Giambo
        > Scritto da: avvelenato
        > > Giambo, lo sai?
        > > Java scorre, java scorre.
        >
        > The spice java must flow


        Java è un linguaggio vecchio, orribile e da lungo tempo sorpassato... inutilmente verboso e poco elastico e gli mancano funzionalità molto utili presenti in altri linguaggi.
        Se cerchi un linguaggio moderno ma simile a Java allora è meglio impararsi il C#. L'unica pecca è che non è multipiattaforma come Java, per il resto lo divora in 3 bocconi.

        Dopo che hai provato C# capisci subito cosa ti sei perso in tutti questi anni... quanti tasti hai dovuto premere inutilmente... quante complicazioni potevi lasciarti alle spalle.
        • Avatar
          ☺
          Scritto da
          il 2014-10-23 15:05:45.0 alle 2014-10-23 15:05:45.0
          Trollate totali: 42885
          Re: java scorre
          Scritto da:
          > Scritto da: Giambo
          > > Scritto da: avvelenato
          > > > Giambo, lo sai?
          > > > Java scorre, java scorre.
          > >
          > > The spice java must flow

          >
          > Java è un linguaggio vecchio, orribile e da lungo tempo sorpassato...

          Sorpassato da chi, e come Newbie, inesperto ?

          > inutilmente verboso

          Vero in parte.

          > e poco elastico

          Poco vero

          > e gli mancano funzionalità molto utili presenti in altri linguaggi.

          Per esempio ?

          > Se cerchi un linguaggio moderno ma simile a Java allora è meglio impararsi il C#.

          Praticamente il fratello scemo di Java (Quello che non ha la patente e quindi non si sposta da casa sua Sorride)

          > Dopo che hai provato C# capisci subito cosa ti sei perso in tutti questi anni... quanti tasti hai dovuto premere inutilmente... quante complicazioni potevi lasciarti alle spalle.

          Mi hai incuriosito, mi fai un paio di esempi ?
          `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
          • Avatar
            ☺
            Scritto da
            avvelenato
            un mezzo cavallo
            il 2014-10-23 15:45:17.0 alle 2014-10-23 15:45:17.0
            Trollate totali: 14239
            Re: java scorre
            Scritto da: Giambo
            > Scritto da:
            > > Scritto da: Giambo
            > > > Scritto da: avvelenato
            > > > > Giambo, lo sai?
            > > > > Java scorre, java scorre.
            > > >
            > > > The spice java must flow

            > >
            > > Java è un linguaggio vecchio, orribile e da lungo tempo sorpassato...
            >
            > Sorpassato da chi, e come Newbie, inesperto ?
            >
            > > inutilmente verboso
            >
            > Vero in parte.
            >
            > > e poco elastico
            >
            > Poco vero
            >
            > > e gli mancano funzionalità molto utili presenti in altri linguaggi.
            >
            > Per esempio ?
            >
            > > Se cerchi un linguaggio moderno ma simile a Java allora è meglio impararsi il C#.
            >
            > Praticamente il fratello scemo di Java (Quello che non ha la patente e quindi non si sposta da casa sua Sorride)
            >
            > > Dopo che hai provato C# capisci subito cosa ti sei perso in tutti questi anni... quanti tasti hai dovuto premere inutilmente... quante complicazioni potevi lasciarti alle spalle.
            >
            > Mi hai incuriosito, mi fai un paio di esempi ?


            scorrejjava fa cagare e in più lato consumer ti propongono ogni volta di installarci assieme quella merda di ask toolbar. Cioé, come se andassi in banca ad aprire un conto e l'impiegato mi dicesse "già che c'è signore, che ne direbbe di aderire a questo bellissimo schema ponzi che le porterà via tutti i suoi risparmi?"

            (ah in effetti sovente è capitato).

            sul lato programmazione non entro nel merito, ma se il buongiorno si vede dal mattino...
            I pedoni possono muoversi solo in avanti.
            • Avatar
              ☺
              Scritto da
              il 2014-10-23 16:12:01.0 alle 2014-10-23 16:12:01.0
              Trollate totali: 42885
              Re: java scorre
              Scritto da: avvelenato

              > > > Dopo che hai provato C# capisci subito cosa ti sei perso in tutti questi anni... quanti tasti hai dovuto premere inutilmente... quante complicazioni potevi lasciarti alle spalle.
              > >
              > > Mi hai incuriosito, mi fai un paio di esempi ?
              >
              > scorrejjava fa cagare e in più lato consumer ti propongono ogni volta di installarci assieme quella merda di ask toolbar. Cioé, come se andassi in banca ad aprire un conto e l'impiegato mi dicesse "già che c'è signore, che ne direbbe di aderire a questo bellissimo schema ponzi che le porterà via tutti i suoi risparmi?"

              Eh ? Mai vista 'sta cosa.
              Sara' che uso Linux ?
              Java su Linux e' diverso e migliore di Java su Windows Occhiolino ?

              > sul lato programmazione non entro nel merito, ma se il buongiorno si vede dal mattino...

              Se confondi un linguaggio di programmazione con il suo installer, allora fai bene a lavorare per le poste A bocca aperta
              `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
          • Avatar
            Scritto da
            Non Autenticato
            il 2014-10-23 16:46:43.0 alle 2014-10-23 16:46:43.0
            Re: java scorre
            Scritto da: Giambo
            > Scritto da:
            > > Scritto da: Giambo
            > > > Scritto da: avvelenato
            > > > > Giambo, lo sai?
            > > > > Java scorre, java scorre.
            > > >
            > > > The spice java must flow

            > >
            > > Java è un linguaggio vecchio, orribile e da lungo tempo sorpassato...
            >
            > Sorpassato da chi, e come Newbie, inesperto ?

            Da parecchi linguaggi.

            Prendi per esempio il discorso delle interfacce. Se implementi un'interfaccia devi stare a scrivere "implements " ecc.
            Perché? Che scopo ha una cosa simile?
            Se una classe implementa un'interfaccia non devo essere io programmatore a specificarlo... perché è già ovvio dai metodi che espone.

            In Go per esempio esiste il concetto di interfaccia esattamente come in Java, ma non sono costretto a specificare ogni singola interfaccia che uso.

            Questo non ha solo il vantaggio di dover scrivere meno inutili ovvietà... ma anche che in futuro posso creare interfacce nuove partendo dal codice che ho già scritto SENZA dover andare a ritoccare tutte le classi che implementano quei metodi per dire "implements nuovainterfaccia"... in pratica posso già usarle "as is" e scusa se è poco.

            Go poi ha diversi altri vantaggi soprattutto per quanto riguarda il supporto multiprocessore direttamente innestato nel linguaggio stesso (riesce a creare anche migliaia di processi lightweight con overhead minimo rispetto a quanto può fare C/C++ e Java)... Java bene o male è nato in un'epoca in cui i multi-core erano ancora qualcosa di sconosciuto e perciò usa tecniche da "vecchia scuola", Go invece è nato con il preciso scopo di avvantaggiarsi dell'hardware moderno.

            > > inutilmente verboso
            >
            > Vero in parte.

            No, vero una bella parte... il mio obiettivo, come sviluppatore, è quello di poter scrivere codice velocemente, massimizzare il mio profitto e minimizzare la quantità di lavoro che devo fare... oltre che cercare di difendere i miei tendini e quindi la mia salute. È anche mio interesse scrivere codice facilmente comprensibile (soprattutto a me stesso) e meno codice scrivo, meno devo stare a rileggermi in futuro e più velocemente sono produttivo. Questo ha anche implicazioni nella sicurezza delle mie applicazioni: più codice scrivi e più è facile che sputtani qualcosa.

            C'è anche poi una questione meramente economica... se a un cliente vado lì e dico "guarda, te lo faccio in Java e impiego 100 ore" e poi uno sviluppatore C# gli dice "io te lo faccio in 80" secondo te a chi darà il lavoro? Ai voglia a spiegargli che con Java, forse, un giorno lontano, potrà usare il programma anche su Linux se a lui di Linux non glie ne frega nulla...

            C# ha anche il concetto di extension methods che spiego più avanti e che mi permettono di aggiungere nuove funzionalità a classi vecchie o pre-esistenti o third-party (con o senza codice disponibile) semplicemente includendo la libreria che le contiene (che magari ho scritto per altre ragioni precedenti) al mio progetto.

            > > e poco elastico
            >
            > Poco vero
            >
            > > e gli mancano funzionalità molto utili presenti in altri linguaggi.
            >
            > Per esempio ?

            Vedi sopra l'esempio con Go... ma non è il solo. Un'altra funzionalità molto utile presente in C# è Linq.
            Con Linq posso eseguire "query" che funzionano su qualsiasi collezione IEnumerable ovvero qualunque collezione che esponga un enumeratore. Se creo una mia collezione basta che esponga un enumeratore e sarà utilizzabile da Linq.

            In Linq posso fare query fortemente tipizzate con un linguaggio simile ad SQL ma usando comandi riconosciuti nativamente da C#.

            Posso usare Linq su Liste, file XML, database... e Linq si arrangerà dei dettagli tecnici rendendomi di fatto trasparente la collezione e usando i metodi più efficienti per quel tipo di collezione per prelevare i dati a cui sono interessato (per esempio... se si tratta di dati provenienti da un database Linq convertirà la mia query nell'SQL specifico di quel database cercando di usare le query più efficienti).

            Esempio:
            Ho una tabella (DataTable in .NET) proveniente da un database, chiamiamola Employees, voglio trovare tutti gli Employees la cui età è > 25 e voglio come risultato una lista con nome e cognome. Una possibile query Linq potrebbe essere questa:
            var myEmployees = from e in Employees
                              where e.age > 25
                              select new {e.name, e.lastname};
            


            Ora myEmployees conterrà una Lista di oggetti con nome e cognome (sempre fortemente tipizzati).

            Nota che Linq fa parte del linguaggio C#, Visual Studio mentre scrivo la mia bella query, quando scrivo "e.", attiverà IntelliSense, andrà a vedere com'è la tabella Employees e mi suggerirà "name" e "lastname" oltre a tutti gli altri campi che posso scegliere.

            Come ho detto Linq funziona su qualunque collezione che esponga un enumeratore, nell'esempio che ho fatto era una tabella di un database (generico)... ma poteva essere un file XML... o una Lista... o un Array... o anche una qualche classe fatta da me ex-novo precedentemente sconosciuta a Linq.

            Linq è talmente utile che da solo potrebbe bastare a buttare Java per passare a C#. Da quando l'ho scoperto mi ha semplificato la vita enormemente.

            Linq funziona tramite una cosa chiamata "extension methods", altra cosa molto utile di C#. In altre parole posso "aggiungere" metodi e funzioni a tutte le classi che espongono una determinata interfaccia, come se quei metodi e quelle funzioni fossero nativi di quella classe... anche a classi di cui non ho accesso al loro sorgente.

            Supponiamo per esempio che io crei una nuova operazione aritmetica su tutte le classi che espongono un'ipotetica interfaccia IAddable. Potrei chiamare questa nuova operazione x2 per indicare la somma 2 volte dello stesso valore, potrei creare un'extension-method che aggiunge a TUTTE le classi IAddable il metodo .x2()

            Se ho la mia classe chiamata "Pippo" che implementa IAddable e "p" un'istanza di quella classe ora automaticamente potrei fare:

            var x = p.x2();

            Proprio come se .x2 fosse un metodo/funzione nativa di Pippo. Intellisense quando scrivo "p." mi mostrerebbe un elenco di metodi che quella classe espone... e anche .x2 proprio come se fosse nativa... l'unico modo che ho per sapere che NON è nativa è un'iconcina che Intellisense mette accanto al metodo.

            Linq funziona proprio così... ad ogni IEnumerable aggiunge metodi tipo .Where()... .Select()... .OrderBy()... ecc. che posso usare direttamente oppera nella forma che ho mostrato prima (ci sono due forme diverse in cui posso scrivere query Linq, quella a metodi o quella a linguaggio SQL, a volte una forma si presta meglio dell'altra).

            Posso quindi crearmi librerie di funzioni che aggiungono funzionalità a vecchio codice che ho scritto precedentemente o addirittura classi di terze parti di cui nemmeno posseggo il codice... e lo fanno praticamente "in automatico", senza che io debba specificare cast o robe simili.

            Poi c'è un altro vantaggio che ho usato fin'ora senza spiegarlo... quel "var".

            var x = blabla;

            Mi crea una variabile x fortemente tipizzata senza che io debba rompermi i coglioni a scrivere tutto esplicitamente:

            var miaLista = new List<int>();

            miaLista sarà ora una lista di interi.

            In Java avrei dovuto scrivere:

            List<int> miaLista = new List<int>();

            Qui non ci guadagno molto, ma posso avere situazioni molto molto più complesse... il punto però è lo stesso: perché devo stare a ripetermi? Ripetermi mi rompe i coglioni, non rende affatto il codice più comprensibile (anzi, tutto il contrario), mi fa perdere tempo, mi danneggia i tendini, e rompe le palle pure al cliente che deve pagarmi per aver scritto ovvietà.

            Ci sono una marea di altri punti che si possono citare non solo di C# vs Java ma solo per mostrari che Java è rimasto indietro.

            > > Se cerchi un linguaggio moderno ma simile a Java allora è meglio impararsi il C#.
            >
            > Praticamente il fratello scemo di Java (Quello che non ha la patente e quindi non si sposta da casa sua Sorride)

            Non credo proprio. Io ho programmato in entrambe e ti posso garantire che C# è di gran lunga superiore a Java. Gli esempi che ti ho fatto non sono altro che la punta dell'iceberg. Prova ad usarlo per diciamo 1 mesetto... non lo abbandonerai più e ogni volta che dovrai passare a sviluppare qualcosa in Java ti cadranno le palle.

            L'unico difetto di C# è che purtroppo il .NET non è portabile come invece è Java. Ovvero è portabile solo in teoria ma non in pratica (e no, Mono non è un port di .NET in Linux... semmai è un fork... il port vero lo avrai solo quando Microsoft rinsavirà e comincerà a sviluppare e distribuire .NET per Linux ad ogni nuova versione di .NET per Windows, proprio come fa Oracle con Java).

            Tieni conto però che Microsoft ha fatto passi avanti enormi in questi anni... tanto che anche sviluppare applicazioni WEB oggi ha senso farlo in Visual Studio. Con .NET MVC e l'Entity Framework sviluppare applicazioni WEB oggi in C# è molto più semplice e probabilmente più sicuro che svilupparle in Java o, dio ce ne scampi, PHP.

            Piano piano Java, soprattutto sotto Oracle, sta cercando di recuperare il tempo perso (vedi l'importante aggiunta di funzioni lambda in Java8) ma sono ancora troppo lenti, senza considerare che spesso e volentieri sulle macchine dei clienti non posso installare una nuova versione di Java senza rompere applicazioni scritte per una versione precedente (questo è particolarmente importante negli uffici dove si usano ancora app Java dello scorso secolo che richiedono Java 6 o inferiori e andare ad installare una nuova versione potrebbe sputtanarle in modo definitivo... e no, al cliente non glie ne frega nulla se è colpa di chi ha scritto quell'app... per il cliente prima funzionava, ora no, quindi sei stato tu a romperla). Quando potrò essere sicuro di poter usare Java8 senza che mi telefoni il cliente per dirmi "mi spiace, a noi serve che la sua app funzioni con Java6"... cosa che mi obbliga a riscrivere il codice rinunciando alle lambda e tutto il resto? Fra 2 anni forse? Fra 5? Con .NET questi problemi non esistono... un'applicazione scritta in .NET 2 continuerà a funzionare anche se ci installo .NET 4.5, senza alcun fastidio, la retrocompatibilità è garantita, quindi posso non farmi alcuno scrupolo e usare sempre l'ultima versione disponibile... so che funzionerà e basta.
            • Avatar
              Scritto da
              Non Autenticato
              il 2014-10-23 17:19:52.0 alle 2014-10-23 17:19:52.0
              Re: java scorre
              Riprendo un attimo la questione del "var"...

              Come dicevo var crea una variabile fortemente tipizzata dedotta da quanto sta a destra dell'uguale... ci sono casi in cui "var" non solo è utile per non dover stare a ripetersi inutilemente... ma è fondamentale per poter scrivere codice funzionante.

              Riprendiamo la semplice query Linq che ho presentato sopra:
              var myEmployees = from e in Employees
                                where e.age > 25
                                select new {e.name, e.lastname};
              


              myEmployees ora sarà una lista di oggetti anonimi che contengono due campi: name e lastname.

              supponiamo ora io voglia scorrere la lista e stamparne il contenuto a video... in C# userei var così:

              foreach (var e in myEmployees) {
                   Console.WriteLine(e.name + " " + e.lastname);
              }
              


              Nota che il mio codice è ancora fortemente tipizzato... seppur io non sappia quale è il tipo di "e" perché è un oggetto anonimo creato da quel "New" senza specificare una classe preesistente nella query sopra (il tipo esiste, ma è creato "on the fly" dal compilatore)... semplicemente non mi serve saperlo, basta che lo sappia il compilatore e mi impedisca di fare cazzate.
            • Avatar
              ☺
              Scritto da
              il 2014-10-23 17:20:25.0 alle 2014-10-23 17:20:25.0
              Trollate totali: 42885
              Re: java scorre
              Scritto da:

              > > > Java è un linguaggio vecchio, orribile e da lungo tempo sorpassato...
              > >
              > > Sorpassato da chi, e come Newbie, inesperto ?
              >
              > Da parecchi linguaggi.
              >
              > Prendi per esempio il discorso delle interfacce. Se implementi un'interfaccia devi stare a scrivere "implements " ecc.
              > Perché? Che scopo ha una cosa simile?
              > Se una classe implementa un'interfaccia non devo essere io programmatore a specificarlo... perché è già ovvio dai metodi che espone.

              Eh Newbie, inesperto ? Come fanno a sapere le classi "Pippo" e "Pluto" implementano l'interfaccia "Cane" ?

              > Go poi ha diversi altri vantaggi soprattutto per quanto riguarda il supporto multiprocessore direttamente innestato nel linguaggio stesso (riesce a creare anche migliaia di processi lightweight con overhead minimo rispetto a quanto può fare C/C++ e Java)... Java bene o male è nato in un'epoca in cui i multi-core erano ancora qualcosa di sconosciuto e perciò usa tecniche da "vecchia scuola", Go invece è nato con il preciso scopo di avvantaggiarsi dell'hardware moderno.

              Guarda che ne e' passato di tempo da Java Beta Version, siamo a Java8, e il fatto che non supporti multicore e' una boiata.

              > > > inutilmente verboso
              > >
              > > Vero in parte.
              >
              > No, vero una bella parte... il mio obiettivo, come sviluppatore, è quello di poter scrivere codice velocemente, massimizzare il mio profitto e minimizzare la quantità di lavoro che devo fare...

              Come sviluppatore dovresti usare un IDE.

              > È anche mio interesse scrivere codice facilmente comprensibile (soprattutto a me stesso) e meno codice scrivo, meno devo stare a rileggermi in futuro e più velocemente sono produttivo.

              La verbosita' serve proprio a rendere il codice piu' leggibile.

              > Questo ha anche implicazioni nella sicurezza delle mie applicazioni: più codice scrivi e più è facile che sputtani qualcosa.

              Verbosita' non e' uguale a quantita' di codice scritto.

              > C'è anche poi una questione meramente economica... se a un cliente vado lì e dico "guarda, te lo faccio in Java e impiego 100 ore" e poi uno sviluppatore C# gli dice "io te lo faccio in 80" secondo te a chi darà il lavoro?

              Vendere un prodotto non si limita al tempo impiegato per lo sviluppo, entrano in campo molti altri fattori.
              Infatti al momento Java ancora spopola sul WEB.

              > > > e gli mancano funzionalità molto utili presenti in altri linguaggi.
              > >
              > > Per esempio ?
              >
              > Vedi sopra l'esempio con Go... ma non è il solo. Un'altra funzionalità molto utile presente in C# è Linq.

              Se voglio usare SQL uso SQL: JOOQ, JPA ...
              Se voglio fare qualcosa di simile su altre strutture di dati, uso le stram api di Java con lambda.

              > Ho una tabella (DataTable in .NET) proveniente da un database, chiamiamola Employees, voglio trovare tutti gli Employees la cui età è > 25 e voglio come risultato una lista con nome e cognome. Una possibile query Linq potrebbe essere questa:
              >
              > var myEmployees = from e in Employees
              > where e.age > 25
              > select new {e.name, e.lastname};
              > 

              >
              > Ora myEmployees conterrà una Lista di oggetti con nome e cognome (sempre fortemente tipizzati).

              java.util.stream

              > In Java avrei dovuto scrivere:
              >
              > List<int> miaLista = new List<int>();
              >
              > Qui non ci guadagno molto, ma posso avere situazioni molto molto più complesse... il punto però è lo stesso: perché devo stare a ripetermi?

              Detto da una persona prolissa come te e' quantomeno ... Ironico A bocca aperta ?
              Comunque non e' una ripetizione, se tu conoscessi i generic in Java lo sapresti.
              E sapresti pure che gia' da Java7 esiste il diamond operator.

              > Ci sono una marea di altri punti che si possono citare non solo di C# vs Java ma solo per mostrari che Java è rimasto indietro.

              Tu sei rimasto fermo a Java5 mi sa A bocca storta

              > > > Se cerchi un linguaggio moderno ma simile a Java allora è meglio impararsi il C#.
              > >
              > > Praticamente il fratello scemo di Java (Quello che non ha la patente e quindi non si sposta da casa sua Sorride)
              >
              > Non credo proprio.

              C# e' quello che gira su Linux, giusto ? Linux, quello che spopola nel mondo server ...

              > Io ho programmato in entrambe e ti posso garantire che C# è di gran lunga superiore a Java.

              Perche' conosci poco e male Java.

              > Gli esempi che ti ho fatto non sono altro che la punta dell'iceberg. Prova ad usarlo per diciamo 1 mesetto...

              Perche' dovrei ? Non funziona su Linux, quindi e' totalmente inutile per il mio sviluppo professionale.

              > Quando potrò essere sicuro di poter usare Java8 senza che mi telefoni il cliente per dirmi "mi spiace, a noi serve che la sua app funzioni con Java6"... cosa che mi obbliga a riscrivere il codice rinunciando alle lambda e tutto il resto?

              Stai scherzando A bocca storta ?
              `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
              • Avatar
                Scritto da
                Non Autenticato
                il 2014-10-23 17:39:54.0 alle 2014-10-23 17:39:54.0
                Re: java scorre
                Bah, guarda, avevo anche cominciato a risponderti, ma mi rendo conto che è inutile.

                Non conosci C#, non sai di cosa sto parlando. Non sapendolo non hai idea di COME siano diversi (e migliori) gli approcci di C# rispetto a Java e perciò pensi che io stia parlando di cose quando sto parlando di tutt'altro (e hai anche l'arroganza di dirmi che non conosco Java o lo conosco superficialmente). Io francamente non ho tempo di stare a spiegarteli, ci ho provato, ho buttato 30 minuti per scrivere un post il più possibile chiaro ma non mi hai capito.

                Fatti un favore da solo... studiati C#, dai un'occhiata anche a Go, magari al lavoro non ti serve (oggi), ma è per la tua crescita personale e cultura generale. Giusto così poi puoi meglio capire quanto ristretto sia il tuo mondo e di tutte le possibilità che Java ti sta negando.

                L'unico modo per capire quanto piccolo sia il proprio mondo è uscire un attimo fuori dalla propria scatola e guardarla dal di fuori... io non posso farlo per te. Se vuoi continua a vivere nell'illusione che Java sia un linguaggio moderno, non so che farci.

                Stai scegliendo di relegarti in una scatola semplicemente per una questione ideologica. Non è necessario che passi a C#, a .NET o a Go... ma se sai che qualcosa esiste e sai quali vantaggi ti porta magari puoi anche pretenderli in qualche modo nelle future versioni di Java... se non le conosci non puoi pretendere niente.

                Te l'ho detto, aprendoti anche ad altro al di fuori di quello che ti serve meramente al lavoro stai facendo un favore prima di tutto a te stesso... non certo a me... continua pure a credere a quello che ti pare, non mi cambia la giornata.
                • Avatar
                  ☺
                  Scritto da
                  il 2014-10-23 18:45:53.0 alle 2014-10-23 18:45:53.0
                  Trollate totali: 42885
                  Re: java scorre
                  Scritto da:
                  > Bah, guarda, avevo anche cominciato a risponderti, ma mi rendo conto che è inutile.

                  Sono d'accordo, conoscendo poco Java non puoi fare dei paragoni senza rischiare di dire boiate (Cosa che pero' sei riuscito a fare Occhiolino)
                  `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
                  • Avatar
                    Scritto da
                    Non Autenticato
                    il 2014-10-23 19:10:53.0 alle 2014-10-23 19:10:53.0
                    Re: java scorre
                    Scritto da: Giambo
                    > Scritto da:
                    > > Bah, guarda, avevo anche cominciato a risponderti, ma mi rendo conto che è inutile.
                    >
                    > Sono d'accordo, conoscendo poco Java non puoi fare dei paragoni senza rischiare di dire boiate (Cosa che pero' sei riuscito a fare Occhiolino)

                    Non è vero, hai semplicemente capito quello che volevi tu.

                    Spiegami per esempio cosa c'entrano i generics con il "var" di C#.

                    Gli streams di Java sono una brutta copia (e attualmente molto limitata) di Linq ed è disponibile solo da Java 8 (e che ti piaccia o no non puoi installarlo dove ti pare). Linq esiste in .NET da almeno 5 anni.
                    Se ti leggi un po' di commenti in giro capirai anche perché sono una brutta copia.
                    Questo articolo è del 2013 http://blog.informatech.cr/2013/03/24/java-streams... magari nel frattempo qualcosa è migliorato... ma ne dubito. Leggiti anche i commenti.

                    All'obiezione circa le interfacce esplicitate nelle classi... come fai a sapere se una classe implementa un'interfaccia? Non entro nel merito (d'altra parte è una cosa abbastanza ovvia che non serve esplicitare le interfacce ma se non ci arrivi da solo...) comunque Go lo fa. Java no. Se Go lo fa significa che si può fare, evidentemente è una cazzata di Java quella di obbligarti a scrivere ovvietà nel tuo codice e tu sei così tanto abituato a scriverle che non sai immaginare un mondo in cui non si usano.

                    Per il resto come ho detto lascio perdere, ho già perso troppo tempo e non sono la tua maestrina. Fai quel cazzo che vuoi.
                    • Avatar
                      ☺
                      Scritto da
                      ::1
                      il 2014-10-23 20:04:58.0 alle 2014-10-23 20:04:58.0
                      Trollate totali: 12321
                      Re: java scorre
                      Scritto da:
                      >
                      > Non è vero, hai semplicemente capito quello che volevi tu.
                      >
                      > Spiegami per esempio cosa c'entrano i generics con il "var" di C#.
                      >
                      > Gli streams di Java sono una brutta copia (e attualmente molto limitata) di Linq ed è disponibile solo da Java 8 (e che ti piaccia o no non puoi installarlo dove ti pare). Linq esiste in .NET da almeno 5 anni.
                      > Se ti leggi un po' di commenti in giro capirai anche perché sono una brutta copia.
                      > Questo articolo è del 2013 http://blog.informatech.cr/2013/03/24/java-streams... magari nel frattempo qualcosa è migliorato... ma ne dubito. Leggiti anche i commenti.
                      >
                      > All'obiezione circa le interfacce esplicitate nelle classi... come fai a sapere se una classe implementa un'interfaccia? Non entro nel merito (d'altra parte è una cosa abbastanza ovvia che non serve esplicitare le interfacce ma se non ci arrivi da solo...) comunque Go lo fa. Java no. Se Go lo fa significa che si può fare, evidentemente è una cazzata di Java quella di obbligarti a scrivere ovvietà nel tuo codice e tu sei così tanto abituato a scriverle che non sai immaginare un mondo in cui non si usano.
                      >
                      > Per il resto come ho detto lascio perdere, ho già perso troppo tempo e non sono la tua maestrina. Fai quel cazzo che vuoi.
                      >

                      Per quanto trolloso nei modi, Giambo ha ragione. Dalle tue risposte si evince che non conosci java moderno e non hai sviluppato con java moderno.
                      È chiaro che avere un runtime veloce e multipiattaforma è stato il vantaggio iniziale di java, ma non puoi escludere dal confronto l'ecosistema di librerie.
                      Conosci lombok? Jooq? La pletora di utilities sotto il cappello apache commons? xstream/jackson? google guava?
                      Inoltre ci sono linguaggi che compilano bytecode interoperabile con java (java chiama $lang, $lang chiama java) con performances molto buone quali scala, jruby, groovy, clojure.
                      C'è anche un altro aspetto che vince su tutta la linea e non ha concorrenti: jta; è un api granulare che permette non solo di applicare il two phase commit, ma gestire transazioni distribuite su più server senza aggiungere una riga di codice rispetto a quanto faresti per singola macchina e singolo db, permette di stravolgere l'aspetto architetturale senza dover toccare mai il codice.
                      Java è verboso, ma per quanto è una features odiata in fase di scrittura del codice, diventa un innegabile vantaggio quando lo devi manutenere e riesci a capire con un colpo d'occhio cosa succede nel codice senza avere troppo contesto a disposizione.
                      È chiaro che non ci farei mai una applicazione client in java, ma sui server domina incontrastato, nonostante difetti innegabili legati comunque a un design che risale al 1995, dalle date api che hanno dovuto riscrivere 2 volte per arrivare alla volta buona, o la scandalosa api java.util.logging, o all'assenza delle lambda per quasi venti anni, o alla mancanza di syntactic sugar tipo hashtable literals e via discorrendo.
                      Young professional woman and busy mom.
                      • Avatar
                        Scritto da
                        Non Autenticato
                        il 2014-10-23 21:01:20.0 alle 2014-10-23 21:01:20.0
                        Re: java scorre
                        Scritto da: ::1
                        > Scritto da:
                        > >
                        > > Non è vero, hai semplicemente capito quello che volevi tu.
                        > >
                        > > Spiegami per esempio cosa c'entrano i generics con il "var" di C#.
                        > >
                        > > Gli streams di Java sono una brutta copia (e attualmente molto limitata) di Linq ed è disponibile solo da Java 8 (e che ti piaccia o no non puoi installarlo dove ti pare). Linq esiste in .NET da almeno 5 anni.
                        > > Se ti leggi un po' di commenti in giro capirai anche perché sono una brutta copia.
                        > > Questo articolo è del 2013 http://blog.informatech.cr/2013/03/24/java-streams... magari nel frattempo qualcosa è migliorato... ma ne dubito. Leggiti anche i commenti.
                        > >
                        > > All'obiezione circa le interfacce esplicitate nelle classi... come fai a sapere se una classe implementa un'interfaccia? Non entro nel merito (d'altra parte è una cosa abbastanza ovvia che non serve esplicitare le interfacce ma se non ci arrivi da solo...) comunque Go lo fa. Java no. Se Go lo fa significa che si può fare, evidentemente è una cazzata di Java quella di obbligarti a scrivere ovvietà nel tuo codice e tu sei così tanto abituato a scriverle che non sai immaginare un mondo in cui non si usano.
                        > >
                        > > Per il resto come ho detto lascio perdere, ho già perso troppo tempo e non sono la tua maestrina. Fai quel cazzo che vuoi.
                        > >
                        >
                        > Per quanto trolloso nei modi, Giambo ha ragione. Dalle tue risposte si evince che non conosci java moderno e non hai sviluppato con java moderno.
                        > È chiaro che avere un runtime veloce e multipiattaforma è stato il vantaggio iniziale di java, ma non puoi escludere dal confronto l'ecosistema di librerie.
                        > Conosci lombok? Jooq? La pletora di utilities sotto il cappello apache commons? xstream/jackson? google guava?

                        Io sto parlando del linguaggio java, non delle librerie che puoi aggiungerci PER AGGIUSTARLO.
                        Quello che ho menzionato in C#, come in Go, fa tutto parte del linguaggio DI BASE.
                        • Avatar
                          ☺
                          Scritto da
                          ::1
                          il 2014-10-23 21:08:17.0 alle 2014-10-23 21:08:17.0
                          Trollate totali: 12321
                          Re: java scorre
                          Scritto da:
                          >
                          > Io sto parlando del linguaggio java, non delle librerie che puoi aggiungerci PER AGGIUSTARLO.
                          > Quello che ho menzionato in C#, come in Go, fa tutto parte del linguaggio DI BASE.
                          >

                          Così però consideri quello che è un aspetto dominante dell'ecosistema java ed è invece carente in c#
                          Young professional woman and busy mom.
                          • Avatar
                            Scritto da
                            Non Autenticato
                            il 2014-10-23 21:19:56.0 alle 2014-10-23 21:19:56.0
                            Re: java scorre
                            Scritto da: ::1
                            > Scritto da:
                            > >
                            > > Io sto parlando del linguaggio java, non delle librerie che puoi aggiungerci PER AGGIUSTARLO.
                            > > Quello che ho menzionato in C#, come in Go, fa tutto parte del linguaggio DI BASE.
                            > >
                            >
                            > Così però consideri quello che è un aspetto dominante dell'ecosistema java ed è invece carente in c#

                            Ti dirò... il framework di .NET è molto ben fatto. Se c'è una cosa che Microsoft sa fare bene sono gli strumenti per i sviluppatori (e i quintali di documentazione dettagliata fino al capello).
                            Ci sono librerie esterne anche per .NET ma generalmente te la cavi benone con quello che .NET ti mette a disposizione di base.

                            Java lo critico perché _mi piacerebbe usarlo_ ma mi trovo spesso a preferire C# e .NET per tutta una serie di motivi, fra cui il linguaggio verboso e vecchio. Che ci siano più librerie disponibili per Java che per .NET sarà anche vero, ma come dicevi tu Java risale al 1995 e ha avuto tempo per crearsi un ampio parco di sviluppatori... ma come ho detto a Giambo prima... .NET sta velocemente recuperando terreno... con Visual Studio e .NET MVC ti fai un sito moderno (routing via url, web-api, autenticazione via Google e affini, gestione dei ruoli, template per l'HTML, ecc) in 4 e 4-8... PHP è già sorpassato da un pezzo e se continua così il prossimo sarà Java.

                            Purtroppo programmare in C# significa relegarsi a Windows, e onestamente aborro l'idea di server web Windows... però d'altro canto sviluppare un sito in .NET MVC mi costa molta meno fatica che svilupparlo con altri linguaggi e C# è un linguaggio piuttosto bello ed elegante che rende piacevole lavorarci sopra. Riesci facilmente a concentrarti sul problema anziché sui dettagli circa come risolverlo e questo è un bene.

                            Tappati il naso, fai finta che sotto non ci sia Windows e provalo... magari scaricati da Avaxhome la video-guida di MVC 4 di Scot Allen (ora siamo a MVC 6 ma le basi sono quelle) così in un paio di orette puoi vederti come si fa un sito WEB con .NET MVC senza doverti studiare tomi... è abbastanza chiaro anche per uno che non sa nulla del linguaggio.
                      • Avatar
                        Scritto da
                        Non Autenticato
                        il 2014-10-23 21:09:57.0 alle 2014-10-23 21:09:57.0
                        Re: java scorre
                        Scritto da: ::1
                        > Inoltre ci sono linguaggi che compilano bytecode interoperabile con java (java chiama $lang, $lang chiama java) con performances molto buone quali scala, jruby, groovy, clojure.

                        E che vuol dire? Anche per .NET ci sono altri linguaggi.
                        Io però NON sto parlando di questo... ma del fatto che Java, come linguaggio, è rimasto indietro e oggi spaccia cose (come gli streams e le lambda) come novità quando in altri linguaggi sono disponibili da un decennio.

                        Non sto parlando né di bytecode, né di librerie, né di altri linguaggi che compilano in Java... sto parlando del linguaggio in quanto tale.

                        > Java è verboso, ma per quanto è una features odiata in fase di scrittura del codice, diventa un innegabile vantaggio quando lo devi manutenere e riesci a capire con un colpo d'occhio cosa succede nel codice senza avere troppo contesto a disposizione.

                        Mi dispiace ma questo non è vero. È una sciocchezza che si legge spesso da parte di chi difende java... ma invece è vero il contrario.
                        Più un linguaggio è verboso più devi scrivere, più devi scrivere più devi leggere per capire che razzo stavi facendo con il rischio di perderti nel meandro di dettagli.

                        Confronta un pezzo di codice scritto in Scala con uno in Java... quello in Scala è a volte decine e decine di righe più corto, eppure è comprensibilissimo.

                        > È chiaro che non ci farei mai una applicazione client in java, ma sui server domina incontrastato, nonostante difetti innegabili legati comunque a un design che risale al 1995, dalle date api che hanno dovuto riscrivere 2 volte per arrivare alla volta buona, o la scandalosa api java.util.logging, o all'assenza delle lambda per quasi venti anni, o alla mancanza di syntactic sugar tipo hashtable literals e via discorrendo.

                        E io di queste mancanze sto parlando. Non ho detto che va buttato via... ho detto che è indietro e che questo suo ritardo sta andando in favore di altri linguaggio e framework come .NET

                        Se poi si vuole continuare a fare finta che il problema non esista allora è un altro paio di maniche.
                        • Avatar
                          ☺
                          Scritto da
                          ::1
                          il 2014-10-23 21:50:19.0 alle 2014-10-23 21:50:19.0
                          Trollate totali: 12321
                          Re: java scorre
                          Scritto da:
                          >
                          > E che vuol dire? Anche per .NET ci sono altri linguaggi.
                          > Io però NON sto parlando di questo... ma del fatto che Java, come linguaggio, è rimasto indietro e oggi spaccia cose (come gli streams e le lambda) come novità quando in altri linguaggi sono disponibili da un decennio.
                          >
                          > Non sto parlando né di bytecode, né di librerie, né di altri linguaggi che compilano in Java... sto parlando del linguaggio in quanto tale.

                          Non puoi valutare java senza il contesto.
                          Anche erlang è un linguaggio brutto, ma unito a otp diventa una macchina da guerra con affidabilità inarrivabile da tutte le altre piattaforme e che diventa il focus per la scelta della piattaforma rispetto alle altre.

                          > Mi dispiace ma questo non è vero. È una sciocchezza che si legge spesso da parte di chi difende java... ma invece è vero il contrario.
                          > Più un linguaggio è verboso più devi scrivere, più devi scrivere più devi leggere per capire che razzo stavi facendo con il rischio di perderti nel meandro di dettagli.
                          >
                          > Confronta un pezzo di codice scritto in Scala con uno in Java... quello in Scala è a volte decine e decine di righe più corto, eppure è comprensibilissimo.

                          Finché resti sul FizzBuzz posso darti ragione, ma quando hai una codebase grande hai bisogno di sempre maggior contesto per ricostruire l'algoritmo.
                          Io ho giornalmente a che fare con una codebase di decine di milioni (forse più di 100mln) di righe di codice, circa un migliaio di applicazioni ear (web e non) che convivono in un container distribuito, che parlano a vari database (20x nodi was divisi in cluster, 2x iis, 1x jboss, 2x oracle 10 in 3 istanze, 1x mysql, 1x mssql 2005, 1x mssql 2008, 1x mssql 2012, altro che non mi viene in mente); vengo giornalmente coivolto nell'analisi di svariati problemi, principalmente su codice che non ho mai visto, eppure nel giro di pochi minuti sono in grado di arrivare al nocciolo seguendo gli stacktrace proprio perché verbosi e solo guardando il codice parallelamente (il repository del codice di tutti i progetti è visibile a tutti nell'intranet), spesso privo di commenti e poco manutentuto e scritto principalmente per jre 1.4.
                          I problemi più difficili che abbiamo affrontato erano quasi esclusivamente dovuti all'architettura complessa, alla gestione delle transazioni jta e le implementazioni nei vari db; e c# tutto questo se lo sogna.

                          > E io di queste mancanze sto parlando. Non ho detto che va buttato via... ho detto che è indietro e che questo suo ritardo sta andando in favore di altri linguaggio e framework come .NET
                          >
                          > Se poi si vuole continuare a fare finta che il problema non esista allora è un altro paio di maniche.
                          Young professional woman and busy mom.
                    • Avatar
                      ☺
                      Scritto da
                      il 2014-10-23 20:22:57.0 alle 2014-10-23 20:22:57.0
                      Trollate totali: 42885
                      Re: java scorre
                      Scritto da:

                      > Per il resto come ho detto lascio perdere, ho già perso troppo tempo e non sono la tua maestrina.

                      Su questo punto hai perfettamente ragione A bocca aperta !

                      > Fai quel cazzo che vuoi.

                      Continuero' a guadagnarmi da vivere, senza troppi rosikamenti Occhiolino
                      `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
        • Avatar
          ☺
          Scritto da
          ::1
          il 2014-10-23 16:07:08.0 alle 2014-10-23 16:07:08.0
          Trollate totali: 12321
          Re: java scorre
          Scritto da:
          >
          > Java è un linguaggio vecchio, orribile e da lungo tempo sorpassato... inutilmente verboso e poco elastico e gli mancano funzionalità molto utili presenti in altri linguaggi.
          > Se cerchi un linguaggio moderno ma simile a Java allora è meglio impararsi il C#. L'unica pecca è che non è multipiattaforma come Java, per il resto lo divora in 3 bocconi.
          >
          > Dopo che hai provato C# capisci subito cosa ti sei perso in tutti questi anni... quanti tasti hai dovuto premere inutilmente... quante complicazioni potevi lasciarti alle spalle.

          builtin: java.concurrent.*, java.time.*, java.nio.*, @FunctionalInterface
          librerie: ∞
          Young professional woman and busy mom.
          • Avatar
            Scritto da
            Non Autenticato
            il 2014-10-23 16:48:27.0 alle 2014-10-23 16:48:27.0
            Re: java scorre
            Scritto da: ::1
            > Scritto da:
            > >
            > > Java è un linguaggio vecchio, orribile e da lungo tempo sorpassato... inutilmente verboso e poco elastico e gli mancano funzionalità molto utili presenti in altri linguaggi.
            > > Se cerchi un linguaggio moderno ma simile a Java allora è meglio impararsi il C#. L'unica pecca è che non è multipiattaforma come Java, per il resto lo divora in 3 bocconi.
            > >
            > > Dopo che hai provato C# capisci subito cosa ti sei perso in tutti questi anni... quanti tasti hai dovuto premere inutilmente... quante complicazioni potevi lasciarti alle spalle.
            >
            > builtin: java.concurrent.*, java.time.*, java.nio.*, @FunctionalInterface
            > librerie: ∞

            Ti dico solo una cosa... usa C#, studiatelo, dagli tempo un mese... poi ti scoprirai ad usare Java sempre meno fino ad arrivare a detestarlo. Provare per credere.
<softv>

Pagina generata in 251 millisecondi

Utenti attivi: 10 nell'ultimo minuto, 24 negli ultimi cinque minuti, 53 negli ultimi 15 minuti