Come configurare smartphone e PC. Portale informativo
  • casa
  • OS
  • Perché hai bisogno di Java su un computer o laptop. Ho sentito i termini Java Virtual Machine e JVM

Perché hai bisogno di Java su un computer o laptop. Ho sentito i termini Java Virtual Machine e JVM

  • Traduzione

È facile dimenticare il significato della tecnologia non appena attraversa la coscienza collettiva come una cometa e si spegne come una morte infuocata all'orizzonte. Ad esempio, Cobol - una volta questa lingua era un culto per un'intera epoca, ma ora può essere paragonata solo a un pesce marcio. In questi giorni, qualsiasi programmatore hipster ti fregherà che Cobol è fa schifo, una lingua vecchia e inutile. Java potrebbe essere la prossima vittima di giudizi "topici".

Le vendite di punta dei libri Java sono nel passato. Le inveterate utility Java non sono più abbastanza sexy per le copertine delle riviste. Java ha già 19 anni e gli sviluppatori progressisti sono appassionati di questo tipo di tendenza e le più moderne tecnologie come Node.js, Objective-C, Dart, Go, ecc., chiedendosi "Java? Questo artefatto dell'era del Web 1.0 è ancora vivo?"

Una rapida ricerca su Dice.com rivela che i lavori Java sono alla rinfusa. Se per iOS ci sono circa 2500 proposte, per Java - più di 17000. Naturalmente, non si può fare affidamento interamente su questi numeri. Ma il fatto che su Dice.com il mercato di Java sia potenzialmente sette volte più grande di quello dell'iOS più trendy suggerisce che il "vecchio Java" se la cava piuttosto bene.

Forse è perché Java offre un business plan più convincente che regalare il 30 percento delle entrate di Apple e incrociare le dita nella speranza che la tua applicazione arrivi nella Top 25. Nella maggior parte dei casi, Java risolve problemi più utili che aiutare gli uccelli malvagi a vendicarsi di maiali altrettanto malvagi. Java è la spina dorsale di una serie di piattaforme di sviluppo software che forniscono lavoro efficace su sistemi con architetture di chip differenti. Java aiuta gli sviluppatori di server, client e sistemi embedded a risolvere i problemi.

Prima di dimenticare l'enorme contributo di Java all'industria IT e il suo ruolo odierno, vorrei esprimere 12 buone ragioni per cui Java non solo sopravvive, ma prospera attivamente oggi.

Non chiamarlo ritorno; Java non è andato da nessuna parte, domina qui e ovunque.

Motivo n. 1: Inaffondabile nel mondo della politica (spesso sporco)

Il mondo della tecnologia non ha mai dato a Java un respiro di un giorno, i suoi nemici erano numerosi e ben armati. Nonostante questo, la lingua fiorì. Molti dei suoi detrattori sono sorpresi che Java sia ancora in buona salute. Hanno troppo spesso ascoltato le opinioni degli odiatori di Java e non hanno cercato di capire le ragioni del suo successo.

Il primo grande nemico di Java è stato Microsoft. Questa società vedeva in Java il più degno successore dell'unità che solo MS-DOS offriva all'epoca. Redmond ha criticato e combattuto Java fin dall'inizio. Java non ha avuto successo per lo sviluppo di applicazioni desktop, in parte perché la magia virtuale macchina Java iniziato troppo lentamente. Nonostante i leggeri ritardi, in generale, le applicazioni Java su Windows sono abbastanza utilizzabili.

Per qualche inspiegabile ragione, Steve Jobs Java non mi è mai piaciuto. Anche quando il Mac è stato in gran parte ignorato da tutti tranne Adobe, a Java non è stata data alcuna possibilità. La compatibilità con Java potrebbe stimolare lo sviluppo per Mac, ma per Apple Java è sempre stato un attore di supporto. (Fondamentalmente, gli smartphone iOS funzionano meglio del mio Android, quindi forse Steve aveva ragione)

Java ha anche sofferto di numerosi showdown interni. IBM amava la lingua, ma ha sempre combattuto contro Sun. La decisione di IBM di chiamare il suo eccellente IDE "Eclipse" è stata una decisione piuttosto fredda da parte delle persone di Sun (i ragazzi di Sun non hanno mai capito il business così come IBM).

Nonostante tutti gli errori dei suoi creatori, Java stava rapidamente rafforzando la sua posizione sui server e diventando adatto all'uso nel segmento desktop. Ogni tecnologia deve nuotare contro le correnti politiche e, nel caso di Java, ha continuato a fluttuare costantemente, dimostrando che è un ottimo strumento per risolvere i problemi.

Motivo n. 2: La magia dei flussi

Uno di punti di forza la macchina virtuale Java ha sempre avuto la sua capacità di destreggiarsi tra più thread con facilità. La JVM è ottimizzata per grandi macchine multicore e può gestire centinaia di thread senza alcun problema. Grazie a questa capacità, sulla JVM sono apparsi altri linguaggi: vengono creati cross-compilatori ed emulatori che funzionano sulla JVM.

Queste magiche possibilità sono utilizzate da molti siti web ad alto traffico. Gli sviluppatori scrivono il codice sul proprio laptop e quindi distribuiscono l'applicazione su server potente dove fa pieno uso della potenza multicore.

Ruby è uno dei moderni concorrenti di Java. Ha un ambiente più pulito, simile a una vita lingua inglese, sintassi. Tuttavia, quando gli amanti di Ruby hanno bisogno di prestazioni elevate, si rivolgono a JRuby. Questa è una versione di Ruby che funziona sulla JVM, fornendo molto di più alta produttività sotto carichi pesanti con più filettature. Avendo investito molti sforzi per lavorare in modo affidabile con i thread, gli ingegneri di Sun non hanno fallito.

Motivo n. 3: Java come primo linguaggio di programmazione

Java è il linguaggio principale per Advanced Placement Computer Science (Advanced Placement (AP) - programma di allenamento ed esami per studenti Scuola superiore negli Usa). Ciò significa che Java è spesso il primo linguaggio di programmazione per gli studenti. Così, Java continua con loro "nel dolore e nella gioia". Quando gli studenti in seguito imparano nuovi linguaggi di programmazione, si confrontano con ciò che è in Java. Anche se cambiano Java per qualcos'altro, la loro opinione è ancora basata su ciò che hanno imparato "in prima elementare".

Java ha molti vantaggi per l'apprendimento dell'informatica. Alcuni programmatori odiano specificare i tipi di dati, spesso riferendosi ad esso come "cuscinetto di sicurezza" nella programmazione. Può sembrare strano, ma questo ottimo modo per i principianti per capire come funziona il computer. L'obbligo di specificare i tipi di dati li fa riflettere struttura interna sistemi.

Alcuni dei linguaggi più alla moda non usano le parentesi graffe perché è fastidioso per gli sviluppatori formattarli correttamente. Questo può essere vero in alcuni casi, ma queste stesse parentesi graffe possono essere utili per i programmatori alle prime armi per capire come sono nidificati i blocchi di codice.

Qualcuno sta cercando di promuovere il proprio linguaggio e nella maggior parte dei casi crea un linguaggio con una sintassi meno rigida di Java. Questo è fantastico, ma la sintassi più semplice e pulita ha i suoi pericoli, che appaiono in seguito. Alcune persone pensano che gli "airbag" limitino la loro libertà nella programmazione, ma Java instilla buone abitudini fin dall'inizio. In futuro, dopo aver acquisito esperienza, gli ex "neofiti" saranno in grado di domare progetti più eleganti e pericolosi.

Motivo n. 4: compatibilità (quasi) multipiattaforma

Java non è stato il primo linguaggio per scrivere applicazioni multipiattaforma, ma è diventato il più popolare. Questo non significa piena compatibilità su diverse piattaforme- librerie mancanti o versioni incompatibili le librerie seppelliranno facilmente il tuo codice. Non puoi prendere un codice di un'applicazione desktop compilato per JRE 1.7 ed eseguirlo su un telefono in Java ME. Nessun miracolo accadrà.

Sun, e ora Oracle, sta tirando fuori il meglio per il multipiattaforma. Quando il codice non funziona, di solito è chiaro quale sia il problema. Se stai usando versioni corrette Java e hai abbastanza memoria, il tuo codice funzionerà. Gli sviluppatori Java possono sviluppare un'applicazione sul proprio computer e quindi distribuirla su una piattaforma di destinazione, sia essa un telefono o un server. Se il compilatore ha a disposizione librerie richieste, il codice funzionerà. Non ha prezzo.

Motivo n. 5: il continuo successo di Java sui microchip

Java non è mai stato uno strumento popolare per lo sviluppo di applicazioni desktop, ma è fiorito nel segmento mobile del mercato, che è recentemente esploso. Piattaforma Android costruito in Java dentro e fuori, e attualmente Dispositivi Android vendendo più degli iPhone.

Questo dominio non è una novità. Una versione ridotta del linguaggio e della macchina virtuale nota come Java ME è stata ampiamente utilizzata in molti cosiddetti feature phone, che sono milioni in tutto il mondo.

Nel loro insieme, il dominio di Java è schiacciante.

Motivo n. 6: Blu-ray

Il linguaggio Java, un tempo chiamato "Oak", era destinato ai ricevitori TV in cui Sun voleva dominare. Non si è esattamente attenuto al piano, ma Java è riuscito comunque a trovare un posto accogliente nel soggiorno. Lo standard Blu-Ray è costruito attorno a Java e per coloro che desiderano aggiungere contenuto aggiuntivo su Blu-Ray dovrai usare il compilatore Javac.

Dischi Blu-ray Non è solo un video crudo. Con il codice Java, puoi modificare/aggiungere funzioni aggiuntive e interattività. I dischi Blu-ray sono un misto di video compresso e bytecode Java.

Motivo n. 7: le parentesi graffe funzionano e basta

I fan di linguaggi fantasiosi come Ruby, Python o CoffeeScript osservano con condiscendenza mentre Java (e C) costringono i programmatori a inserire parentesi graffe indicando esplicitamente l'inizio e la fine di ogni blocco di codice. Rotondo, riccio e uniforme parentesi quadre- tutto questo è una maledizione per questi sviluppatori progressisti. (Io stesso non mi piacciono le parentesi, e ancora nostalgico di come in alcune versioni di Lisp puoi chiudere tutte le parentesi aperte con una parentesi quadra)

Ma cambiare la punteggiatura non rimuove la complessità, la nasconde. L'uso dello spazio bianco per indicare gli allegati ti fa vedere intuitivamente ciò che non puoi vedere. L'annidamento con spazi funziona alla grande se la tua espressione si adatta a una riga, ma diventa terribile se hai più livelli di annidamento. Quando scrivo in Python, mi accorgo di contare e ricalcolare i rientri. Solo perché il codice sembra inglese non significa che sia facile da capire come la frase in inglese.

Motivo n. 8: Groovy

Se i programmatori Java vogliono una sintassi più pulita e semplice, una digitazione dinamica, questo non è un motivo per scappare a linguaggi nuovi. Possono usare Groovy, un accurato hack del preprocessore Java che produce bytecode JVM. Il linguaggio è completamente integrato con Java: puoi chiamare in sicurezza le librerie Java dal codice Groovy. È come Java con alcune chicche.

Questa flessibilità consente ai programmatori di progettare le proprie soluzioni ai propri problemi. Quando Groovy è più lento (questo accade spesso quando si utilizzano chiamate a metodi dinamici), il programmatore può sempre riscrivere le parti di codice critiche per le prestazioni nel core Java.

Motivo n. 9: JVM

La JVM è stata creata e ottimizzata per il codice digitato con un contesto statico generato dal compilatore javac, ma nel tempo i progettisti del linguaggio si sono resi conto che la JVM può eseguire codice scritto in più di Java. Se il compilatore genera il codice byte Java corretto, alla JVM non interessa in quale lingua è stato scritto. Gli sviluppatori di Haskell, Scala, Clojure e sono saliti sul carro della "potente locomotiva elettrica Java" creando i propri compilatori.

Il ricorso è ovvio. Sun/Oracle fa la sua parte per creare un ambiente multipiattaforma e tutti gli altri ne approfittano. Gli ingegneri Sun/Oracle stanno setacciando la piattaforma e si preoccupano della compatibilità, e scriviamo il codice nella lingua che ci piace.

Microsoft ha preso in prestito questa idea (e altro) con C# e il suo approccio alla creazione di compilatori per linguaggi in esecuzione su C# VM (CLR). I programmatori C# dicono che possono scrivere lingue differenti- tuttavia, solo su una VM in Windows. Incredibile flessibilità!

Motivo n. 10: una rivoluzione NoSQL costruita pesantemente in Java

Molto tempo fa, il database era una scatola nera incomprensibile che memorizza le informazioni e risponde alle domande in modo rapido ed efficiente. Poi è arrivata la rivoluzione NoSQL: i programmatori si sono resi conto che potevano scrivere i propri database e adattare il codice alle proprie esigenze. La maggior parte dei principali attori nel mercato NoSQL sono stati scritti in Java. Cassandra, Lucene, ElasticSearch, HBase e neo4j sono solo alcuni esempi. Inoltre, ci sono alcune basi conformi ad ACID scritte in Haskell che girano sulla JVM.

Queste basi sono solitamente open source e facilmente integrabili. Qualcuno li esegue come servizi indipendenti, qualcuno costruisce il proprio codice (sotto forma di librerie) nel proprio stack. In ogni caso, lo stato di Java come linguaggio di lavoro a livello di database assicura che gli sviluppatori Java troveranno più facile capire e lavorare con questi database. Le codifiche oi separatori di riga non preoccupano gli sviluppatori Java.

Motivo n. 11: Minecraft regna in questo secolo

Mentre Ruby continua a guadagnare la sua giusta quota di fan, la prossima generazione si innamora di Java. Come mai? Una parola: Minecraft. È scritto in Java. I giovani giocatori che desiderano estendere Minecraft devono conoscere Java per scrivere plugin per Minecraft. Ciò garantisce che i "bambini" maturi scriveranno sicuramente in Java.

Motivo n. 12: open source

Sun è sempre stato uno dei leader in Open source community, ma non ha mai deciso di liberare completamente Java. Ciò non ha impedito ai programmatori Java di scrivere gratuitamente un sacco di fantastiche librerie e progetti licenze aperte... Il progetto Apache continua a fornire molti progetti Java con una licenza che non richiede molto in cambio.

Sun ha terminato di rilasciare la maggior parte del suo codice sotto licenza GPL nel 2007. Da allora, Sun e il suo nuovo proprietario, Oracle, hanno cercato di essere buoni manager per linguaggio Java... Oracle ha indubbiamente offuscato la sua reputazione con azioni legali contro Google, ma per il resto la piattaforma può essere ampiamente considerata aperta e gratuita.

Gli haters abbondano, ma Java sta andando avanti

Java ha certamente i suoi problemi. Gli odiatori di Java continueranno a sputare e battere sulla tastiera, pubblicando commenti dannosi su Internet. Il netturbino può causare singhiozzi e brividi. La digitazione dei dati è un lavoro ingrato e non può eliminare un codice davvero scadente. Le annotazioni sono troppo complesse. Le nuove funzionalità Java non si stanno evolvendo così rapidamente come in passato. Le parentesi graffe aggiungono un po' di disordine. La lista potrebbe continuare all'infinito.

Tuttavia, nessuna delle tecnologie concorrenti è stata in grado di atterrare così ampiamente e profondamente sulle coste del settore IT. Mentre alcuni dei problemi Java sono abbastanza facili da risolvere, le correzioni di solito portano i propri problemi.

Dopotutto, questo è uno dei vantaggi di Java. Può essere modificato e utilizzato per quasi tutte le attività. Puoi sostituire la maggior parte delle librerie con il tuo codice se ne hai bisogno di speciali. funzionalità... Java è un linguaggio open source molto flessibile. Indipendentemente dalle limitazioni della lingua e della piattaforma, quasi tutti i problemi possono essere risolti in modo relativamente semplice. Ciò significa che i programmatori Java continuano ad essere tra i più produttivi. Nonostante i libri Java non dominino più l'elenco dei bestseller e Oracle non rilasci aggiornamenti con la frequenza che vorremmo, Java continua a prosperare e non solo a vivere.

Forse la domanda più comune tra le persone che vogliono iniziare a programmare, ma non hanno ancora deciso in quale linguaggio farlo. Le battaglie sui forum non si placano ancora. Java o C++? Forse Python? Diciamo subito: questi confronti sono come confrontare il verde con uno rotondo. si Alcuni lingue moderne programmazione sono simili tra loro. Sì, alcuni sono più bravi a gestire la memoria rispetto ad altri. Ma su alcuni è meglio implementare applicazioni server... Ma questo non è perché alcuni sono migliori di altri.

E perché ogni lingua è progettata per i propri scopi! E in generale: "L'odio per un linguaggio di programmazione è inversamente proporzionale alla conoscenza di questo linguaggio, alla conoscenza e comprensione dei problemi per i quali è stato creato e alla capacità di applicarlo nella pratica". ©

Ma torniamo ai nostri arieti. Perché vale la pena iniziare la tua carriera con Java e quali vantaggi ha rispetto ad altri linguaggi orientati agli oggetti? Non approfondiremo la teoria e i termini non familiari ai principianti, ma forniremo semplicemente alcuni argomenti chiari a tutti.

1. Soglia di ingresso bassa.

Grazie alla semplicità della sintassi, a molti libri e forum eccellenti, puoi iniziare a imparare Java da zero senza avere alcuna conoscenza di programmazione. Inizia il tuo viaggio con il più semplice "Hello, World!" E finisci con una conoscenza sufficiente per trovare uno stage presso una delle tante aziende IT.

2. Disponibilità.

... ovunque, in qualsiasi momento e su qualsiasi piattaforma. Inoltre, gli strumenti per la programmazione in Java sono assolutamente gratuiti, ce ne sono molti (così come le informazioni su di essi). Oltre al JDK, si può anche evidenziare Eclipse, un ambiente di sviluppo a distribuzione gratuita che ha ampie funzionalità e un discreto livello di qualità (sebbene, secondo Lurkmore, Eclipse sia sempre lo stesso editor di testo, ma con preferenze e mademoiselles. E è anche multipiattaforma, ma ne parleremo più avanti).

3. Un insieme di librerie di classi standard.

Un sacco di documentazione e classi standard per semplificarti la vita mentre impari e toglierti la noia di scrivere i metodi più semplici ma ampiamente utilizzati. Non sei soddisfatto delle classi standard? Prendi tutto nelle tue mani e crea (riscrivi) la tua versione di una classe o di un metodo di cui hai bisogno in una determinata situazione.

4.Piattaforma completa.

Un'applicazione progettata correttamente funzionerà ugualmente bene su Windows, macOS, Linux e una varietà di altri sistemi operativi. Scrivi il codice una volta, per un sistema. E poi avvialo facilmente su qualsiasi altro.

5. L'ultimo della lista, ma forse il più importante, è la necessità dello scambio di lavoro.

La necessità di programmatori Java non è diminuita da diversi anni. Inoltre, cresce solo. Nella misura in cui la migliore soluzione per server aziendali databases - Java, ti prenderanno volentieri come stagista anche con conoscenza iniziale OOP (per l'ulteriore istruzione e formazione come specialista IT), molte aziende sia in Ucraina che all'estero.

In questo articolo farò un piccolo confronto di java con altri linguaggi di programmazione e descriverò i vantaggi più significativi, a mio avviso, di questo linguaggio.

1.Java è il linguaggio di programmazione più popolare/richiesto.

E nel prossimo futuro, penso che sia improbabile che questo cambi perché

2.in Java scrivono applicazioni mobili (Per il sistema operativo Android, la cui audience nella primavera del 2013 è stata di oltre 162 milioni di utenti), soluzioni web e desktop. Puoi scrivere per molto tempo separatamente su ciascuna categoria, mi limiterò a un piccolo numero di numeri e ai miei pensieri.
Se non sbaglio, la piattaforma Android è apparsa nel 2005, ad es. ha solo 8 anni (!) e durante questo periodo è riuscita a conquistare un tale numero di utenti. La sua crescita per L'anno scorsoè quasi l'80 per cento. È possibile visualizzare statistiche più dettagliate
E leggi di Android vooot
Applicazioni desktop e web già creato su Java un gran numero di anni e molti progetti hanno bisogno di supporto, i clienti vogliono vedere nuove versioni, aggiornamenti, ecc., Il che parla della necessità di sviluppatori che forniranno supporto. Inoltre, java viene regolarmente aggiornato (un altro vantaggio :)) e fornisce al mondo nuove tecnologie molto richieste! E naturalmente abbiamo bisogno di persone che possiedono queste "cose".

Voglio anche notare che occhiali Google(un prodotto di un'azienda che, ne sono certo, promuoverà presto il prodotto alle masse) utilizzano il sistema operativo Android! Penso che a tempo debito ci sarà un picco per questo aggeggio e i giovani si sforzeranno sicuramente di comprarlo, ad es. il pubblico aumenterà notevolmente.

3. Java è un linguaggio di programmazione multipiattaforma(di seguito JP). Quelli. i programmi che vengono scritti possono essere eseguiti su diversi OS (windows, linux...).

4. Sviluppo per lavoro Java la raccolta dei rifiuti viene eseguita automaticamente. Personalmente non mi è piaciuto molto e ho dimenticato di cancellare la memoria durante la programmazione in C (ad essere onesti, non puoi nemmeno chiamarla programmazione). Non c'è nessun lavoro di memoria a tutti! (Non ho nemmeno fatto amicizia con i puntatori). Tradotto in un linguaggio semplice, lavorare con Java è più facile, non è necessario preoccuparsi e preoccuparsi di alcune cose (linguaggio di livello superiore rispetto a C \ C ++).

5. Uno dei fattori principali per me è stato lo stipendio. Lo stipendio del programmatore Java è solitamente più alto di uno sviluppatore di un altro software Java, a quel tempo erano numeri massimi, e ora, se non sbaglio, la situazione è la stessa.
Collegamenti con altro descrizione dettagliata situazioni:

6. Java è facile da imparare... Il mio primo studente in poco più di mezzo anno, praticamente da zero, ha studiato Java a un livello tale che è stato accettato per una formazione retribuita in un'azienda informatica, studiando principalmente una volta alla settimana. Anche nel recente futuro, sono stato complice di come i ragazzi hanno imparato a programmare da zero in 2 mesi sui miei corsi da zero e hanno anche trovato un lavoro. Java è particolarmente facile per chi conosce l'inglese. E per chi non lo sapesse, consiglio di iniziare a studiarlo con urgenza. dopo java questo è il primo lingua richiesta per la maggior parte dei programmatori =).

7. JAVA è una piattaforma open source gratuita.
(Qui è necessario chiarire un po' che Java è un PL, ma allo stesso tempo è un'intera piattaforma - molte classi create dagli sviluppatori del linguaggio per svilupparlo e semplificarne il lavoro).

L'elenco continua. Mi sono soffermato su quelle cose che sono state fondamentali per me, in futuro, forse scriverò i miei pensieri in modo più dettagliato, anche se ora sono più lunghi di quanto mi aspettassi.

Nell'articolo, non ho menzionato la crescente popolarità del rubino sui binari. Purtroppo non ho lavorato con lui e non posso dire nulla, so che la domanda e gli stipendi stanno crescendo molto velocemente.

E qualche altra piccola aggiunta: ovviamente Java non è l'unico linguaggio di programmazione con montaggio automatico spazzatura e applicazioni per Android possono essere scritte, ad esempio, in C++ e ce ne sono altre lingue libere eccetera. eccetera. MA java rientra in tutte queste categorie contemporaneamente, a differenza di altre lingue.

AMO JAVA! =)


Questo articolo esplorerà otto dei miti e delle idee sbagliate più comuni su Java.

Java è lento

È carino vecchio mito ma una volta era proprio vero. Inizialmente, le macchine virtuali che eseguivano il bytecode Java erano imperfette e il linguaggio Java e macchina virtuale sono stati sviluppati non per i computer nel loro senso comune, ma come una sorta di ambiente universale per vari dispositivi, dove la velocità dei programmi non era critica e la quantità di dati era insignificante. La differenza nella velocità di esecuzione delle stesse attività tra codice compilato ordinario e codice Java interpretato potrebbe raggiungere centinaia di volte.

Ma nonostante ciò, al momento, la velocità dell'operazione di bytecode sulle moderne macchine virtuali è inferiore ai migliori compilatori di codici macchina solo di poche decine di percento e in alcuni casi li supera persino! L'interpretazione può davvero superare il programma compilato? Ovviamente no.

Il fatto è che il bytecode Java non viene più interpretato dalla macchina virtuale, ma viene compilato e addirittura ottimizzato, e dinamicamente, in base ai dati raccolti macchine virtuali dati sullo stato di avanzamento del programma.

Java è abbastanza buono in termini di velocità di fuoco, ma che dire? applicazioni reali? Sfortunatamente, le cose non stanno andando molto bene con le app personalizzate. La ragione di questo è lavoro lento componenti grafici sistemi.

I programmatori Java sanno che ce ne sono due caratteristiche standard lavorare con interfaccia utente- AWT e Swing. AWT è un'implementazione specifica della piattaforma di un'interfaccia utente grafica. La velocità della maggior parte delle sue implementazioni è abbastanza soddisfacente, ma il numero di funzioni è molto limitato. La libreria Swing è stata sviluppata come alternativa ad AWT. È interamente basato sulle capacità del linguaggio, ha molte funzioni ed è indipendente dalla piattaforma, ma la sua velocità è bassa.

Java è difficile da programmare

Il mito della programmazione Java si basa in gran parte sul fatto che libreria standard ha una struttura ad albero multilivello e include un numero enorme di oggetti diversi e algoritmi applicati. Ma è proprio grazie alle classi standard che è più facile creare e mantenere le applicazioni.

Il linguaggio di programmazione Java è completamente orientato agli oggetti. È simile nella sintassi a C++. Allo stesso tempo, le funzionalità C++ ridondanti e soggette a errori (come l'overload degli operatori o l'ereditarietà multipla) sono state eliminate.

Invece dell'ereditarietà multipla, Java utilizza un concetto molto più semplice di "interfaccia", ovvero una convenzione denominata per chiamare un insieme di funzioni. Java utilizza la tipizzazione forte e non consentirà il passaggio di parametri errati, inoltre è molto più rigoroso del C++ per quanto riguarda la negligenza nel codice sorgente e, ad esempio, non consentirà di creare un metodo con un pezzo di codice volutamente inutilizzato. Inoltre Java non compilerà un programma con una variabile non inizializzata.

Una delle principali fonti di problemi nello sviluppo del programma è l'uso scorretto della memoria heap, o meglio, il rilascio errato di blocchi precedentemente occupati. Java utilizza il concetto di "spazzino". Ciò significa che il programmatore non deve preoccuparsi affatto di liberare l'area di memoria occupata. Il sistema lo aggiungerà automaticamente a memoria libera quando scopre che i collegamenti dal programma a questo oggetto già no.

Java utilizza il concetto alla moda di "eccezioni" per segnalare errori. Un'eccezione è un evento speciale che segnala un errore nel programma. La maggior parte dei linguaggi di programmazione (e delle API) comunicano il risultato di una chiamata di funzione ("cattiva" o "buona") al chiamante per segnalare un errore. Di conseguenza, il codice per l'analisi del valore restituito viene mescolato con il codice per la normale esecuzione del programma, il che rende difficile leggere i programmi e modificarli.

Ancora più importante, tuttavia, le eccezioni non si limitano a migliorare la leggibilità. testi di origine ma anche impedire al chiamante di ignorare l'errore. Il programmatore deve "catturare" l'eccezione o trasferire questa responsabilità alla funzione chiamante.

A quanto sopra, possiamo aggiungere che Java ha il supporto integrato per il multitasking. Quando si creano applicazioni multi-thread, lo sviluppatore di solito deve utilizzare gli strumenti del sistema operativo (semafori, mutex) per sincronizzare le attività. Offerte Java soluzione unica basandosi sui costrutti del linguaggio stesso.

Riassumendo, possiamo dire che Java non può essere paragonato a C++ o Pascal in termini di complessità della programmazione. Funzionalità linguistiche sviluppate, supporto per la raccolta dei rifiuti, una libreria di classi standard unificata, controllo del compilatore: tutto ciò semplifica notevolmente la creazione di applicazioni e ne accelera il debug.

Java funziona allo stesso modo ovunque

"Crea una volta - usalo ovunque" ("Scrivi una volta - esegui ovunque"). La seconda parte di questo slogan dei creatori di Java contiene l'affermazione che un programma Java funziona allo stesso modo ovunque. Sfortunatamente, la realtà non è così semplice. Macchine Java di varie aziende su diverse piattaforme NON compatibili al 100% tra loro.

Esistono differenze nel funzionamento delle macchine Java su piattaforme diverse sia nell'implementazione del multitasking che nel funzionamento della libreria di finestre (AWT). I programmi Java complessi devono essere eseguiti su piattaforme per assicurarsi che tutto sia in ordine. In generale, anche sulla stessa piattaforma, ma su auto diverse, tali programmi possono essere eseguiti in diversi modi.

Ad esempio, un programmatore può trovarsi di fronte a una situazione in cui il suo codice su una macchina multiprocessore si comporta in modo diverso rispetto a una macchina uniprocessore. Di particolare nota è la macchina Java creata da di Microsoft(di seguito MS JVM). Si chiama Java non è del tutto legale (cosa che è stata confermata da una recente decisione del tribunale).

In MS JVM non vedrai il supporto per le tecnologie RMI o CORBA, ma qui puoi usare oggetti ActiveX, una tecnologia che è specifica solo per la piattaforma Windows e non esiste da nessun'altra parte. Microsoft ha esteso la libreria di classi standard Java con tipi che riflettono alcune delle modalità di funzionamento della piattaforma Windows.

Inoltre, non dobbiamo dimenticare le diverse velocità delle macchine Java. Questa differenza può portare a ritardi inaccettabili o altri problemi. La conclusione di quanto sopra è semplice: quando si creano programmi Java, è necessario testarli su un'ampia gamma di piattaforme e non utilizzare estensioni di linguaggio non standard.

Java è un linguaggio di programmazione

C'è un'opinione secondo cui Java è solo una sorta di linguaggio di programmazione. Ma questa è solo un'illusione. Sì, Java è anche un linguaggio di programmazione. Questa è tutta una serie di altre tecnologie.

Java è una piattaforma moderna piattaforma software, nel complesso cercando di sostituire tutte le funzioni del sistema operativo. Forse questo accadrà nel prossimo futuro (sebbene tali tentativi siano già stati fatti, ma falliti). Il principale punto di forza di Java è l'indipendenza dalla piattaforma, ovvero l'indipendenza strumenti software in esecuzione su una macchina virtuale da hardware e sistema operativo.

Va notato che per Piattaforme Java ce ne sono diverse dozzine lingue differenti programmazione. Alcuni di essi possono essere compilati dallo stesso compilatore Java, mentre altri sono in grado di lavorare direttamente con la macchina virtuale.

Java è la sorellina di C++

Il linguaggio di programmazione Java è davvero derivato da C++? Più probabilmente no che sì. L'idea di Sun era di rendere più semplice l'apprendimento di Java rendendo la sua sintassi simile a quella utilizzata nel linguaggio di programmazione più comune. Questo per stimolare e semplificare la transizione a Java per i programmatori C.

Allo stesso tempo, Java contiene idee e meccanismi tratti da una serie di altri sistemi e linguaggi di programmazione. Prendi almeno il controllo sul confine dell'array (Pascal). O il fatto che la compilazione dei programmi Java sia separata, le classi sono suddivise in pacchetti. Questa è una delle opzioni di programmazione modulare (come, ad esempio, nel Modulo-2), che differisce dal concetto di compilazione indipendente di file C++.

Alcune novità sono state prese da linguaggi e sistemi sconosciuti al grande pubblico.

Ad esempio, il principio dell'interfaccia di classe è ripreso dal linguaggio Objective C sviluppato da NeXT. Meccanismo di elaborazione situazioni eccezionali quasi interamente mutuato da Modula-3. I principi dell'implementazione interna di una parte così importante del linguaggio Java come la raccolta dei rifiuti vengono raccolti principalmente da Lisp. Anche alcuni dei linguaggi "normali", come Eiffel, Modula-3, Oberon, avevano inizialmente questo meccanismo.

Riassumendo quanto sopra, possiamo concludere che Java ha assorbito un gran numero di idee e approcci da vari sistemi di programmazione, inclusa la sintassi del linguaggio C++.

Java è adatto solo per applet e Internet

Java è indissolubilmente legato alle applet. In effetti, le applet sono parte integrante sia del linguaggio che della piattaforma Java nel suo insieme. Inoltre, la loro creazione è una mossa di marketing di successo per Sun. Senza applet, il mondo non avrebbe imparato a conoscere Java così rapidamente.

L'idea di applicazioni incorporate nei documenti ipertestuali (HTML) non è poi così nuova. Molte aziende hanno cercato di commercializzare la loro tecnologia in questo settore di mercato, ma attualmente Java ha pochi concorrenti. Oggi è, forse, la tecnologia JavaScript, ActiveX e Flash. Gli ultimi due, invece, funzionano solo sotto Windows.

Cosa attrae i programmatori in Java? Potente modello di sicurezza, codice unico per tutte le piattaforme, ampie possibilità di utilizzo di librerie già pronte, facilità di programmazione. In realtà, non tutto è roseo come vorremmo. Il modello di sicurezza non è certo male, ma le sue implementazioni differiscono da un produttore all'altro. Di conseguenza, il codice che funziona alla grande in un browser non funziona in un altro.

Bene, se in Browser Javaè, allora come vanno le cose con le applicazioni che funzionano senza un browser e sotto il controllo di una macchina virtuale direttamente in? sistema operativo? Qui la situazione è simile, ogni sistema operativo moderno ha già una versione della JVM installata. E gli utenti sono in grado di eseguire con il suo aiuto le loro applicazioni esistenti per la JVM, sebbene la maggior parte non sia nemmeno a conoscenza di questa possibilità.

Non dimenticare le applicazioni server, che includono l'accesso ai database e applicazioni di rete... E questa è la principale area di applicazione delle tecnologie Java in il tempo dato... Questa classificazione include non solo le applicazioni middleware, ma anche le applicazioni server stesse.

E se aggiungiamo anche qui applicazioni client o anche applet, si scopre set completo per l'automazione.

La piattaforma Java non riguarda solo le applet. Viene utilizzato ovunque, dal client al server. E se ricordi che Java è usato non solo sui computer, ma anche sui cellulari, elettrodomestici e smart card, sembra che sia già penetrato in tutti i settori del mercato dove la programmazione è in qualche modo possibile.

Java è l'ideale, non ha bisogno di miglioramenti

Java è stato creato nel 1994-1995. A quel tempo, la tecnologia dell'informazione era intensamente sviluppata sia a causa della "personalizzazione" dei computer, sia in parte a causa della diffusione di Internet. Gli autori di Java hanno cercato di incorporare tutti i risultati dell'industria dell'informazione, ma l'ideale, come sai, è irraggiungibile. Qualcosa è ancora tralasciato, compreso il controllo delle condizioni per la corretta esecuzione del programma, la "programmazione per contratto", i modelli, ecc.

In C++ esiste un controllo delle condizioni chiamato asset. Questa funzione controlla alcune condizioni impostate dal programmatore per "vero". Se la condizione è falsa, asset interrompe il programma e indica che sono state violate le condizioni operative accettabili, mentre il compilatore scarta le chiamate all'asset durante la creazione della versione finale del programma. Questa funzione non esiste in Java. Ovviamente è possibile utilizzare il controllo delle condizioni e generare eccezioni basate su di essi, ma di conseguenza tutti questi controlli rientreranno nel codice eseguibile del programma.

Esiste una tecnologia più potente della risorsa. Questo è Design By Contract, "programmazione a contratto" per semplificare la creazione di grandi applicazioni che utilizzano il codice generato in precedenza. Java non supporta nemmeno la "programmazione per contratto".

I modelli di classe in C ++ sono la capacità di generare codice "sotto" specificato dall'utente class (in effetti, gli sviluppatori Java hanno abbandonato deliberatamente i modelli, credendo che da loro più problemi che buono. - Circa. ed.). Una raccolta di oggetti implementati con un modello verrà compilata ogni volta per ogni tipo di oggetto archiviato in questa raccolta. Una tipica raccolta di oggetti in Java memorizza istanze della classe Object, l'antenata di tutte le classi Java.

Il programmatore, quando recupera oggetti dalla collezione, è costretto a usare il typecasting per sfruttare la sua classe "lavoratrice". Tale applicazione funziona correttamente finché un altro programmatore non aggiunge accidentalmente un'istanza di una classe completamente diversa alla raccolta. Quindi, in fase di compilazione, non si verifica un errore, ma si verifica in seguito, quando l'istanza viene recuperata e si tenta di eseguire il cast al tipo sbagliato.

Attualmente Java continua ad evolversi. È possibile che nel prossimo futuro vedremo alcune delle possibilità sopra menzionate in esso.

Java costa un sacco di soldi

La tecnologia Java è davvero costosa? Tutto dipende dalla complessità del software che si sta sviluppando. Diciamo che per una piccola applicazione (da uno a tre mesi uomo) Java potrebbe non costare nulla. Naturalmente, questa tecnologia non è completamente gratuita. Un abile programmatore Java costa denaro.

Sono inoltre necessari strumenti di progettazione di applicazioni, profilazione di programmi Java e altri strumenti utilizzati per creare progetti di grandi dimensioni. Ma, in generale, la concorrenza nel mercato di tale software è piuttosto elevata e, di conseguenza, i prezzi sono in calo. La scelta è varia e lo sviluppatore non è legato a una specifica azienda.

Java è un linguaggio di programmazione e una piattaforma di elaborazione rilasciati per la prima volta da Sun Microsystems nel 1995. Esistono molte applicazioni e siti Web che non funzionano senza Java installato e il numero di tali siti Web e applicazioni aumenta ogni giorno. Java è veloce, alto livello protezione e affidabilità. A partire dal computer portatili ai data center, da console di gioco ai supercomputer utilizzati per lo sviluppo scientifico, da telefono cellulare a Internet - Java è ovunque!

Java è scaricabile gratuitamente?

Sì, Java è scaricabile gratuitamente. Scarica ultima versione sul sito.

Se stai sviluppando in linea o elettrodomestico e desideri utilizzare le tecnologie Java al suo interno, contatta gli specialisti Oracle e ottieni informazioni dettagliate sull'integrazione di Java in tipi diversi dispositivi.

Perché aggiornare all'ultima versione di Java?

L'ultima versione di Java contiene importanti miglioramenti per migliorare le prestazioni, la stabilità e la sicurezza delle applicazioni Java eseguite sul computer. Impostazione di questo pacchetto gratuito gli aggiornamenti garantiranno il funzionamento sicuro ed efficiente delle applicazioni Java installate sul computer.

DETTAGLI TECNICI
Ho sentito i termini Java Virtual Machine e JVM. Questo è quello che è Software Giava?

La Java Virtual Machine è solo un aspetto del software Java coinvolto nella comunicazione su Internet. La Java Virtual Machine è integrata direttamente nel download del software Java e viene utilizzata per supportare l'avvio di applicazioni Java.

Principali articoli correlati