Sono un Autodidatta in Informatica dal 1996 e ciò che spiego deriva da un intuizione maturata negli anni.
Come già accennato nei precedenti paragrafi Java è stato Creato osservando attentamente il C\C++. Il C più che
un Linguaggio è un Potentissimo Alfabeto Informatico per Creare Linguaggi, ciò significa che programmando in C
si Crea un Progetto Chiarificandolo nel modo in cui si desidera. Questo vuol dire che mentre si programma, si
Crea il Linguaggio Espressivo Desiderato, per rendere Autoesplicativo il Proprio Progetto C. Anche se spesso
questa potenza viene utilizzata male e il tutto diventa una Confusione Totale, a volte desiderata, ma nella
maggior parte dei casi accade per mancanza d’esperienza e per mancanza di una visone sistemica e dinamica che
determina la Costruzione di Progetti Emergenti, una delle forme Ingegneristiche Più Alte dell’Informatica.
In sostanza nella maggior parte dei casi non è il C il Colpevole dell’illeggibilità ma è Colpa del Progettista o
dei Programmatori. Il C dona il Potere di avere un Controllo Totale sull’Hardware Sottostante, ma dona anche la
possibilità di esprimersi nel modo in cui si desidera per Scrivere le Proprie Applicazioni.
Il C++ rafforza questa Potenza e dona il Potere di Organizzare il Codice in Blocchi chiamati Classi, che
definiscono un Pensiero (un Idea) Umano Trasformandolo in un Ingranaggio Potente e riutilizzabile, senza la
necessità di riscriverlo in più parti del Progetto. Fondamentalmente l’informatica da la possibilità di far
diventare del Codice, del Testo, un Motore di Istruzioni Ingegnerizzato dal Progettista/Programmatore; in
definitiva ogni rigo di Codice diventa una micro funzionalità racchiusa in una Routine. La Classe definisce
un insieme di Routine (di Funzionalità) che possono restituire valori che definiscono un risultato o un nuovo
percorso che l’Applicazione deve percorrere. Fondamentalmente all’avvio dell’Applicazione Parte un Flusso che
percorre il codice, nel modo in cui il Progettista/Programmatore ha deciso quella partenza. Poi il Flusso si
sposterà in base alle scelte del l’Utente e ai risultati delle funzionalità delle varie Classi del Progetto. In
questo senso si è raggiunto il massimo Livello Applicabile e Programmabile, anche da un Punto di vista
Organizzativo. Naturalmente i Risultati di quest’Organizzazione dipendono dalla Bravura del
Progettista/Programmatore. Fondamentalmente per un Enorme e Complicato Progetto la Bravura, non risiede
tantissimo nell’implementazione, ma nel modo in cui si sceglie di Implementare e l’Organizzazione che si Applica
all’intero Complesso, è questo che Rimprovero a Microsoft nelle sue Prime Versioni di Windows, che hanno reso
quasi Impossibile la Programmazione C\C++ in Windows. Molti credono che la Progettazione Emergente si applichi
solo sul Progetto e in quanto molto complessa, perché è una forma di progettualità dinamica non prestabilita, ma
emerge dinamicamente sotto gli occhi di un eventuale osservatore, senza la necessità di utilizzare Mappe Concettuali
o roba simile, molti la evitano pensando che si possa evitare, soprattutto in mondo accademico. Ma il vero punto
che una delle forme più elevate di Progettazione Emergente si deve Applicare necessariamente nel momento in cui si
decide di iniziare a scrivere del codice e questa responsabilità in saputamente ricade sul’programmatore che è
la figura meno adatta per Implementare Dinamicamente questo tipo di Ingegno. Per un Grosso Progetto è
indispensabile che una Figura Senior dia Input sull’organizzazione del Codice, perché l’organizzazione del codice è
l’Autostrada del Flusso dell’Applicazione e anche se stiamo parlando degli anni ‘80, un azienda del calibro di
Microsoft doveva avere figure in grado di percepire tutto ciò, anche perché quando si produce un importante
progetto, dinamicamente è necessario prevedere il Futuro dell’Applicazione e il suo vario utilizzo, quindi sarebbe
stato necessario pensare che un Sistema Operativo non è rivolto solo agli Utenti, ma il suo successo deriva anche
dalle Aziende o dai Progettisti Privati, che intendono Creare Software per quel determinato Sistema. Con ciò non
intendo demotivare, va super bene curare la propria passione, anche amatoriale nei confronti dell’Informatica, ma
quando si parla di Progetti Seri è Indispensabile Agire in determinati modi. Per avere un altro esempio di
progettualità vissuta e utilizzata, basta pensare a youtube di Google, ormai si è abituati, ma un Senior direbbe
che nel Progetto Globale vi è una Disorganizzazione Maestosa, almeno questo è il mio punto di vista, perché non
esiste un focus fondamentale che è l’Auto esplicazione dei contenuti, tutto viene basato sulla ricerca dinamica,
ma non esiste una via percorribile manualmente per accedere in modo fluido e veloce ai vari contenuti. Io ho solo
la terza media e le masse credono che questi colossi siano il massimo che ci potrebbe essere, ma è cosi solo
perché molti non sono più abituati ad utilizzare bene il proprio ingegno.
Tutto ciò per un Aspirante Progettista, anche autodidatta (e indipendentemente dalla sua età), non deve essere una
demotivazione, ma al contrario, la vostra autostima dovrebbe salire alle stelle, perché avete deciso di
intraprendere una carriera intellettuale, anche da semplici amatoriali, che porta agli apici possibili
dell’immaginazione dei massimi livelli intellettuali, leggendo i mie paragrafi (forse ricchi di errori),
inconsapevolmente la vostra mente si sta dilatando esponenzialmente. L’Informatica è quella materia che fa da
Integratore Intellettuale, senza la necessità di ricorrere a sostanze chimiche e come ho accennato all’inizio la
capacità d’Analisi è un fattore primario che si acquisisce nel tempo, quindi la fretta è l’errore principale; se
notate i miei paragrafi sono altamente innovativi, niente riassunti, zero copie, perché io no studio, non l’ho mai
fatto; Analizzo e Spiego.
Comunque Java è stato creato con l’Abilità di ereditare tutto ciò che c’è di Buono nel C\C++, rendendo ancora
Più Fluido il Flusso tra Classi e Più Organizzato il Lavoro, ed Eliminando i Problemi di Sicurezza che può
scaturire il Codice Nativo, perché Java ha un suo Territorio e tutto avviene nel suo mondo, anche se come
spiegherò a breve dona l’opportunità di spaziarsi e invadere qualsiasi territorio.
Infatti Java ha un Supporto per l'Interoperabilità, tra Linguaggi Differenti, Molto Semplice da Implementare e
Utilizzare; Riuscendo in questo modo a Unificare e Utilizzare Linguaggi di Differente Natura in un unico contesto.
In più offre la possibilità al Programmatore di Compilare (anche codice C\C++) Dinamicamente (mentre
l’Applicazione e tra le mani dell’Utente) del Codice Creando l’Eseguibile di una nuova Applicazione creata
dall’Utente, tramite delle Scelte o facendogli implementare del codice, mettendo a disposizione il Compilatore
Java in modo Dinamico e di Settare un Percorso per un eventuale Compilatore C\C++ che l’Applicazione può
utilizzare. Inoltre offre una Profonda Amalgamazione, basata anche su Eventi, per HTML. In sostanza tramite Java,
se si è in grado di farlo, si può anche amalgamare Codice Esterno tipo OpenGL o addirittura, attraverso delle
dll (delle Librerie di Codice Dinamico) scritte in C\C++, si può inserire in un Progetto Java anche Codice C#,
quindi Codice del .Net Framework; e offre un supporto molto semplice da utilizzare per strutturare tutto ciò.
Infatti JavaFX, la Grafica Java che Supporta gli Acceleratori Grafici Moderni, arriva ad essi tramite questo
supporto e Implementando C\C++ e OpenGL. Tutto ciò accade sotto il Cofano; anche se ci sarebbe da aggiungere che
se si tenta (che è quello che adoro fare) di amalgamare codice JavaFX in un Progetto Swing nascono dei problemi,
che per risolverli è necessaria una notevole esperienza in Java e nella Programmazione in generale. In sostanza
partono due Thread, uno per Swing e uno per JavaFX, ed entrano in Conflitto. I Thread servono per stabilire la
Programmazione Parallela, no so se nelle versioni più recenti di Java questo problema è stato risolto. Io utilizzo
il JDK 25 e Apache Netbeans IDE 28.
Una cosa molto importante Apache Netbeans IDE è Gratuito e anche il JDK; fate attenzione nella creazione di un
progetto di settare, tramite le proprietà, la versione del JDK che utilizzate, deve essere uguale alla
versione della JVM installata altrimenti non compila il .jar.
Io adoro i progetti Swing (e non FX) perché Java dovrebbe essere osservato (ed è stato creato con questa abilità)
in due importanti prospettive:
La prima è la sua parte Elaborativa che è molto simile al C\C++.
La seconda è un tantino più complessa ed è necessario sapere che le prime versioni di Java la Implementavano Male.
Infatti nelle prime versioni la Grafica di Java si Basava su degli oggetti grafici che prendeva in prestito dal
Sistema Operativo Sottostante, solo che in questo modo la grafica era lenta e si portava dietro le incoerenze
del Sistema, non era il massimo. Poi questa parte grafica è stata riscritta, con l’abilità di incorporare in Java
la Grafica di Sistema, partendo dal Punto Più Basso Possibile, che è quel Specifico Punto dove il Sistema inizia
a Toccare l’Hardware per estrarre grafica. Da quel Punto Java Implementa la Nuova Grafica in Swing e Ridisegna
Tutti i Componenti Grafici di Swing. Questo significa che Creare Grafica in Java, il Progettista/Programmatore,
ha il Potere di Utilizzare quello Specifico Punto Grafico, per realizzare Grafica 2D. In altre parole a partire
da quel punto, se si è in grado di Disegnare qualsiasi cosa, Sviluppare Giochi o Applicazioni Grafiche di
qualsiasi portata. Molti credono che non si possa Realizzare Grafica 3D, ed è completamente errato, perché si
possiede l’abilità per farlo si può Realizzare anche Grafica e Applicazioni Grafiche 3D. Il punto è che a questo
Livello di Implementazione non si possono sfruttare gli Acceleratori Grafici, che non Servono per Realizzare
Grafica 3D, anche se hanno dei supporti per farlo, ma il loro compito è appunto accelerare i processi grafici,
quindi un gioco o un Applicazione che Utilizzano Pesantemente la Grafica, utilizzandoli, la Grafica Scorre con
Naturalezza. In sostanza in Swing non si hanno Matrici Grafiche Pronte, ma bisognerebbe crearsele e comunque
scorrerebbero in modo lento. Ma in Swing, Graficamente parlando, se si è in grado di farlo, si può realizzare
qualsiasi cosa. In quanto oggi giorno Swing ha una Stabilità Enorme, adoro Utilizzarlo.
Paragrafo Scritto e Pubblicato il 24 Agosto 2026
|