Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [OT] Sviluppo con linguaggio Java in modo interpretato

    ciao non sono un programmatore java anche se ogni tanto lo utilizzo con tomcat

    ho una curiosità sullo sviluppo web in java vorrei una vostra opinione

    il fatto che java è compilato e non è possibile eseguire un’applicazione in modalità interpretata comporta che anche per una piccola modifica al codice bisogna ricompilare, riavviare il webserver,
    e per il deploy bisogna anche rifare il war/jar.
    Non è un po scomodo, non ne sentite l'esigenza?

    Tutto questo mentre i linguaggi più di moda (phyton, angular, ...) sono di script

    e se anche java si dotasse della possibilità di eseguire in modalità interpretata?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Ho spostato la discussione nell'area dedicata a Java.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da lafranca Visualizza il messaggio
    ciao non sono un programmatore java anche se ogni tanto lo utilizzo con tomcat

    ho una curiosità sullo sviluppo web in java vorrei una vostra opinione

    il fatto che java è compilato e non è possibile eseguire un’applicazione in modalità interpretata comporta che anche per una piccola modifica al codice bisogna ricompilare, riavviare il webserver,
    e per il deploy bisogna anche rifare il war/jar.
    Non è un po scomodo, non ne sentite l'esigenza?

    Tutto questo mentre i linguaggi più di moda (phyton, angular, ...) sono di script

    e se anche java si dotasse della possibilità di eseguire in modalità interpretata?
    in realtà java è una specie di ibrido, non è interamente interpretato e non è interamente compilato.
    Partendo dai .java (che sono i sorgenti che tu scrivi) questi vengono compilati e fai conto che viene fuori un prodotto "intermedio", il bytecode. La jvm interpreta il bytecode in fase di runtime.

    Passando al web, il web server vedilo come un contenitore di servizi, in fase di avvio riferisce (a volte carica proprio) una serie di riferimenti al jar, quindi una modifica richiede lo stop globale (ecco perché in fase di web deploy le modifiche si fanno in modo da avere un senso in quello che si scrive e si logga con una certa frequenza). La scomodità c'è, lo ammetto, ma ci sono strumenti (non gratuiti) come JRebel che permettono il deploy a caldo della tua applicazione (anche se ha dei limiti pazzeschi).

    Lo scripting è un'altra cosa e non lo confondere con la stesura di un programma in un linguaggio di alto livello
    RTFM Read That F*** Manual!!!

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da valia Visualizza il messaggio
    La scomodità c'è, lo ammetto, ma ci sono strumenti (non gratuiti) come JRebel che permettono il deploy a caldo della tua applicazione (anche se ha dei limiti pazzeschi).
    Piccolo OT
    Lo avevo provato in ufficio l'anno scorso: per un mese sono stato tartassato di telefonate da un loro "markettaro" che cercava in tutti i modo di farmi comprare millemila licenze

    Come tool non è male, peccato che in molti casi semplicemente non è utilizzabile e diventa inutile...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Piccolo OT
    Lo avevo provato in ufficio l'anno scorso: per un mese sono stato tartassato di telefonate da un loro "markettaro" che cercava in tutti i modo di farmi comprare millemila licenze

    Come tool non è male, peccato che in molti casi semplicemente non è utilizzabile e diventa inutile...
    no io no (ho messo NO al consenso di proposte commerciali ecc quindi nessuna chiamata).
    L'ho trovato inutile per via del javaagent, lo avevo adorato (e ti giuro mi è tornato utilissimo e mi ha fatto risparmiare una marea di tempo), ma poi ho dovuto abbandonarlo ed ero disperata


    edit: in dettaglio la mia app la caricavo con l'opzione Xbootclasspath che fa a pugni con il javaavent di jrebel. Non potendo togliere la prima, ho dovuto rinunciare (a malincuore) all'aiuto in fase di deploy offerto dal tool
    Ultima modifica di valia; 08-09-2014 a 16:29
    RTFM Read That F*** Manual!!!

  6. #6
    ciao grazie per le risposte

    se esistono dei tool a pagamento evidentemente esiste l'esigenza, a questo punto gli sviluppatori di java potrebbero internalizzare queste funzionalità

    sopra ho citato dei linguaggi di script (per script intendo i linguaggi non compilati dallo sviluppatore a prescindere che lo siano runtime) che vengono utilizzati per applicazioni di qualsisi complessità, ma il fulcro del discorso è java

    per andare sul pratico, è possibile per esempio impostare tomcat (o altro servlet container) in modalità sviluppo, in modo quantomeno da non dovere riavviare? ho l'ipressione che non sia solo una questione di abilitare disabilitare la cache
    da una ricerca superficiale nn ho trovato la risposta

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,319
    Ma a me risulta che, a parte Tomcat, che è solo un "Servlet Container", tutti gli altri Application Server permettano il deploy a caldo: io uso GlassFish (gratuito) e non ho mai dovuto staccare nulla per ri-deployare le applicazioni...


    Ciao. ciauz:
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    dipende sempre da come il classloader gestisce le dipendenze: se la classe era già stata caricata, devi forzare il reload per essere sicuro che veda la modifica e non tutti i servlet container lo fanno a caldo (tomcat no).

    A sto punto, vedi se puoi usare jrebel, altrimenti puoi sempre avviare tomcat in debug e cercare di capire con quello che succede.
    Poi aiutati loggando su file
    RTFM Read That F*** Manual!!!

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