Archivi categoria: Linguaggio di Programmazione Java

Articoli, Video e tutorial sul linguaggio Java

Libro Java – Capitolo 1

Indice degli argomenti:

  1. Hardware e Software
  2. Sistema Operativo
  3. Teoria dei linguaggi di programmazione
    • Linguaggio Macchina
    • Linguaggio Assembly
    • Linguaggi ad alto livello
    • Linguaggio java e confronto con altri linguaggi ad alto livello
  4. Programmazione orientata agli oggetti introduzione
  5. Il linguaggio UML per la programmazione ad oggetti 2.0
  6. Fasi di sviluppo software
  7. Esempio di sviluppo di una classe in Java
  8. Proviamo la prima  classe Java

Introduzione
L'obiettivo di questo libro strutturato sotto forma di capitoli, è quello di introdurti alla programmazione in Java secondo la metodologia orientata ad oggetti, già per altro esposta nell'introduzione all'opera. Ritengo utile, quindi effettuare una breve introduzione a concetti fondamentali dell'informatica. Se sei un lettore che ha già un minimo di conoscenze sugli argomenti, puoi tranquillamente saltare questa prima parte e passare direttamente alla parte di introduzione "Programmazione orientata agli oggetti". Al termine di ogni capitolo, sarà possibile verificare le conoscenze, le competenze e le abilità raggiunte attraverso test, prove strutturare e anche esercizi di codice che saranno tutti rivolti nell'appendice delle soluzioni.

Hardware e Software

Quando si parla di un computer o in generale di un calcolatore occorre terner presente, che esso è sempre formato da due parti ben distinte l'Hardware e il Software, il primo è l'insieme delle componenti elettroniche composte ad tantissimi circuiti elettronicii di varia tipologia che discuteremo più avanti, il secondo è l'insieme delle istruzioni o comandi per rendere diciamo così "vivo" e "intelligente" il nostro computer. L'hardware può funzionare senza software ma lavora in linguaggio binario ovvero da sequenze lunghissime di "0" e "1" che a secondo della rappresentazione adottata dal calcolatore delle informazioni possono essere testi, valori numerici, immagini, suoni, ecc. La rappresentazione delle informazioni è una parte importante dell'informatica senza la quale tutto il sistema informatico non potrebbe funzionare in modo così perfetto. Su questo argomento, farò qualche accenno quando parleremo più avanti delle variabili e delle costanti e del loro uso in Java.
Però una causa la possiamo dire, per far si che il calcolatore possa elaborare qualsiasi tipo di informazione deve essere presente un software che sia in grado di effettuare la traduzione in binario e viceversa. Possiamo quindi affermare che quando un'informazione di varia tipologia deve essere trasformato in binario si parla di "codifica". mentre il processo inverso si chiama "decodifica".
Il calcolatore quindi per essere utilizzabile in modo produttivo ha bisogno di software. Ora la struttura hardware di un computer è formata da:

  • CPU acronimo di "Central Processing Unit" che è il cuore pulsante del calcolatore che ha il compito di elaborare le informazioni, di trasferire da e verso altri dispositivi e di controllare l'intero sistema di calcolo nel suo funzionamento.
  • Memoria Centrale RAM è una memoria temporanea del calcolatore ove sono memorizzati i dati e le istruzioni che di volta in volta sono lette e e scritte dalla cpu. L'acronimo RAM sta per "Random Access Memory" è sta indicare che il tempo di lettura e scrittura dei dati è indipendente dalla posizione in cui essi sono locati. La memoria RAM è organizzata in un insieme di celle contigue ciascuna delle quali è individuata da un indirizzo unico. La cpu quando deve leggere o scrivere dati verso la memoria centrale deve conoscere gli indirizzi dove svolgerà tale operaizone.
  • Dispositivi di Input/Output non si tratta di un solo dispositivo ma di una serie di dispositivi hardware. Qualli presenti sempre nel calcolatore sono la tastiera e il mouse (entrambi di input), il monitor (output) e almeno una memoria di massa (input/output) necessaria alla memorizzazione definita dei dati. Abbiamo affermato che la memoria RAM è temporanea, ovvero i dati al suo interno sono cancellati al termine dell'elaborazione o allo spegnimento del calcolatore. Occorre una memoria secondaria permanente che possa memorizzare i dati in modo definitivo, sarà solo l'utente a decidere quando questi dati eventualmente dovranno essere cancellati.

La trattazione sull'hardware è molto sintetica in quanto non è l'argomento principale del nostro testo. Il software quindi a sua volta si distingue in software di base detto anche sistema operativo, e software applicativo.

Sistema operativo

Il sistema operativo ha tre compiti precisi:

  • Gestire la comunicazione uomo macchina mediante l'uso di un'interfaccia grafica o testuale che chiameremo "Console"
  • Gestire e risolvere eventuali malfunzionamenti dell'hardware e dei software
  • Garantire il funzionamento alle massime prestazioni dell'hardware a disposizione

Ciao devi sottoscrivere un abbonamento per poter visualizzare l'intero articolo.

Approfitta dei numerosi vantaggi per gli iscritti ! Test, Video Lezioni esclusive senza pubblicità oltre tanti articoli sull'informatica dalla programmazione alla sistemistica.
Per poter sotto scrivere un abbonamento devi prima registrati e poi sotto scrivere un piano di abbonamento.
Buon proseguimento !

Corso Web 2021 – Lezione n.1 – Javascript e HTML

Corso Web 2021 - Lezione n.1 - Javascript e HTML

In questo video, è spiegato in modo molto dettagliato come scrivere i primi Javascript.
Inoltre è spiegato anche l'interazione fra Javascript e HTML, in particolare con i Form HTML.
Inoltre, è inserita una breve esercitazione pratica, per mostrarti quali possono essere i problemi legati alla scrittura dei primi Javascript.

Ciao devi sottoscrivere un abbonamento per poter visualizzare l'intero articolo con il relativo video.

Approfitta dei numerosi vantaggi per gli iscritti ! Test, Video Lezioni esclusive senza pubblicità oltre tanti articoli sull'informatica dalla programmazione alla sistemistica.
Per poter sotto scrivere un abbonamento devi prima registrati e poi sotto scrivere un piano di abbonamento.
Buon proseguimento !

La programmazione ad oggetti -2

Indice dei Contenuti

Il linguaggio UML

La classe in UML si rappresenta con un rettangolo diviso in tre aree nella prima il nome della classe, nella seconda gli attributi, nella terza i metodi.

UML della classe auto

Lo schema UML, mostra quanto affermato in precedenza, vi è un solo elemento di novità è il segno “+” davanti agli attributi e ai metodi che indica la modalità di accesso agli attributi e i metodi della classe che sono discussi più avanti in modo dettagliato.

Ora se nella classe definiamo un oggetto specificando valori per gli attributi e invocando metodi quando richiesto per compiere delle operazioni, significa che avremo definito istanza della classe. Ora una classe essendo astratta anche se definita a livello di codice nel nostro programma non allocherò risorse in termini di memoria fin quando non verrà istanziata.

Lo schema UML, di un oggetto quale istanza di una classe è sotto rappresentato:

UML di un oggetto

Le classi e gli oggetti sono quindi le fondamenta della programmazione OOP, ma non sono l’unico elemento di novità introdotto nella metodologia. Abbiamo detto che la classe è composta da attributi e metodi; quest’ultimi rappresentano gli algoritmi che implementano le azioni sulle istanze (oggetti) della classe e solo attraverso di loro è possibile modificare gli attributi.
Questa proprietà degli oggetti è detta incapsulamento.
Da qui discende, che una classe che incorpora

Per vedere il Video dei essere abbonato !
Ciao devi sottoscrivere un abbonamento per poter visualizzare l'intero articolo con il relativo video.

Approfitta dei numerosi vantaggi per gli iscritti ! Test, Video Lezioni esclusive senza pubblicità oltre tanti articoli sull'informatica dalla programmazione alla sistemistica.
Per poter sotto scrivere un abbonamento devi prima registrati e poi sotto scrivere un piano di abbonamento.
Buon proseguimento !

La programmazione oggetti – 1

Indice dei contenuti

Introduzione

I vantaggi dell’approccio OOP

Elementi fondamentali della Programmazione ad oggetti

Introduzione

Nel corso dell’evoluzione tecnologica che è intercorsa dalla nascita dei primi calcolatori anni post II guerra mondiale ai giorni nostri, anche le modalità di sviluppo del software sono cambiate, spesso integrandosi fra di loro; il motivo è da ricercare nella crescente complessità dei compiti che in epoca moderna si affidano ai computer richiedendo loro di risolvere problemi sempre più complessi.
Negli anni ‘70 si sviluppano diversi linguaggi di programmazione come il Fortran, il Pascal, il C, il Basic, Cobol che poi nei decenni successivi saranno protagonisti in specifici settori dell’informatica e delle tecnologie ICT in generale.
Tutti i linguaggi sopra menzionati, hanno come visto nel caso del C++ che è una naturale estensione del linguaggio C approccio procedurale che possiamo riassumere nelle fasi di realizzazione di un programma:

  • Analisi: si definiscono i dati che devono essere elaborati, il come devono essere elaborati, e i risultati attesi, anche dettagliando le soluzioni in termini di algoritmi;
  • Implementazione: definiti gli algoritmi risolutivi e i dati coinvolti si passa alla codifica in linguaggio di programmazione. La scelta non è sempre semplice anche perché nella fase di analisi devono essere definite le piattaforme hardware/software che devono poi eseguire i programmi.
    Su quest’ultimo aspetto farei attenzione in quanto, prima i software non sono facilmente multipiattaforma. Un programma scritto in C eseguito in ambiente Windows non può essere eseguito in ambiente Linux, nemmeno se si prende il codice sorgente si ricompila il codice.
    Nei capitolo “tecniche di sviluppo software avanzate” saranno chiariti anche questi aspetti.
  • Test e Collaudo: è una fase molto delicata in quanto i programmatori devono ricercare errori logici e di funzionamento non sempre prevedibili, questo è uno dei motivi per i quali il software spesso è mantenuto e sono rilasciati aggiornamenti.
  • Distribuzione: è l’atto finale nel quale il software viene distribuito ai clienti finali, è quindi deve essere corredato di manuale d’uso per l’utente finale e di licenza (commerciale, open source, ecc.)

Orbene a metà anni ‘70 con l’introduzione del C++, si comincia ad intravedere un altro aspetto della programmazione, legato ad una nuova modalità di sviluppo del software la programmazione ad oggetti, che sposta completamente il modello di sviluppo dei programmi su una base moderna è più efficiente.
Il punto di vista del programma orientata agli oggetti (che d’ora in poi chiameremo brevemente OOP), risiede nel definire degli oggetti della realtà che ci circonda e di definire le interazioni che possono avvenire fra essi. In altri termini il problema da risolvere non è visto unicamente come una sequenza prefissata di istruzioni anche lunga, ma è costituito da un insieme di oggetti che interagiscono fra loro per risolvere il problema.


Questo approccio, all’apparenza più complesso (e in parte lo è), stravolge il concetto di programma come entità derivante da uno o più algoritmi, aumentando il livello di astrazione talvolta necessario nella risoluzione di problemi più complessi.
In quest’ottica come vedremo cambiano gli strumenti concettuali anche di analisi e progettazione, che non sono più il flow-chart, ma una serie di schemi concettuali che sono definiti nell’ambito dell’UML, Unified Modelling Language che sarà discusso più avanti.
La domanda che allora viene spontanea, ma allora tutto quello che è realizzato con il procedurale è da ritenersi superato ?
La risposta è assolutamente no, in quanto nell’implementazione, di questo nuovo metodo, l’approccio procedurale è l’aspetto tecnico maggiormente rilevante all’implementazione di tale stile di programmazione, come vedremo più avanti.

I vantaggi dell’approccio OOP