Ho solo la terza media e tutto ciò che spiego nei mie paragrafi è frutto di un intuizione acquisita
dal 1996 ad oggi.
In questo paragrafo continuerò la storia iniziata nel paragrafo precedente, per comprendere l’evoluzione della
Programmazione, almeno in ambiente Windows, che è il Sistema che ho utilizzato dal 1996 ad oggi per Progettare e
Sviluppare Software.
In realtà scrivere un Sistema Operativo in puro C non è un impresa facile, anche se stiamo parlando di grandi
colossi del software che hanno a disposizione diversi ingegneri informatici specializzati. Comunque per loro
fortuna nel 1979 Bjarne Stroustrup riuscì ad estendere il Linguaggio di Programmazione C Trasformandolo da
Linguaggio Procedurale a Linguaggio a Oggetti. Qui le cose iniziano a diventare un tantino sottili e bisogna
comprenderle bene. A mio avviso il C creato da Dennis Ritchie agli inizi degli anni ’70 non aveva e non ha mancanze,
ma faceva e fa proprio quello che deve fare un Linguaggio di quel Livello. Il C è il livello più puro dei Linguaggi
Informatici, è un anima libera, rappresenterebbe la terra al suo stato brado. In questo modo l’evoluzione software
parte da qualcosa di cristallino. Quindi programmare in C significherebbe avere il Potere di Riscrivere l’Universo
Informatico. Il Problema, come spiegato in precedenza, è che il C è Pura Materia Prima e ogni pezzo d’hardware,
che costituisce un dispositivo, ha il suo Driver scritto C, ciò significa che per una singola persona è
impossibile riuscire a creare un nuovo sistema operativo, perché sarebbe necessario conoscere dettagli
sull’utilizzo dei vari driver molto difficili da comprendere, potrebbe anche essere che le case produttrici di
hardware abbiano accordi con i creatori di sistemi, in modo da creare codice in leggibile o comunque difficoltoso,
in modo da restare intrappolati nel cerchio consumistico. Ho detto questo perché non vorrei che qualcuno pensasse
che il C abbia delle mancanze; il C fa molto bene quello che deve fare. Il C++, anche se oggi è conosciuto come un
Linguaggio a se, in realtà è solo un estensione del C; di fatti le prime versioni del C++ venivano compilate
tramite il Compilatore C. I vantaggi del C++ sono notevoli, perché riesce ad organizzare il Codice C
(o C++) in delle Classi,
ogni Classe rappresenta un Oggetto che è il Contenitore di una determinata funzionalità di un Sistema, di un
Progetto o di un Nuovo Linguaggio. In altre parole tutto diventa più efficiente, più organizzato e diminuisce
drasticamente la possibilità di commettere errori, anche la manutenzione diventa più flessibile e possibile.
Naturalmente è importante avere una mentalità molto Sistemica, perché l’Organizzazione del Codice è un Fattore
primario, quando si tenta di realizzare progetti di un certo calibro. Fondamentalmente la Straordinarietà dello
Sviluppo del Software è che non sono necessari soldi per creare i propri progetti, ma è necessario un ingegno al
di fuori del comune per creare da soli qualcosa d’importante. Io credo fermamente che lo Sviluppo del Software sia
il tassello più alto per mettere in gioco il proprio intelletto ed è questo che mi stimola.
Essendo il C++ un Ibrido (C\C++), molti creatori d’Hardware lo utilizzano per scrivere Driver, facilitando
l’utilizzo del componente.
Tornando ai creatori di Sistemi Operativi, Fondamentalmente hanno gioito per la nascita del C\C++ e Microsoft per
tentare di facilitare lo Sviluppo in Windows, nel 1992 ha rilasciato, assieme al suo pacchetto di sviluppo, le
Librerie MFC (Microsoft Foundation Classes) che sono dei wrapper (del codice scritto in C\C++) che vela le più
importanti funzionalità di Windows per tentare di semplificare il loro utilizzo a programmatori di terze parti.
Ma sono state veramente una svolta?
Nel 1995 un vero Genio dell’Informatica
(James Gosling e il suo Team di Sun Microsystems) rilascio la prima versione di Java.
Per comprendere Java è necessario capire che programmare in C\C++ la Grafica (un ambiente a finestre) è
necessario avvalersi del Sistema e qui cominciano i dolori. Java, per semplificazione, ha un mini sistema
intrinseco volto esclusivamente al programmatore. Java è stato creato osservando attentamente il C\C++, cercando
di lasciare integro quel sapore potente e primitivo dello Sviluppo del Software, con l’abilità di implementare
nell’ambiente Java un Sistema Grafico Intrinseco al Linguaggio (Java Swing). Java ha anche altre deliziose
caratteristiche che scopriremo dopo, in modo da terminare e chiarire gli aspetti generali della programmazione
in questo paragrafo.
Microsoft, prendendo spunto da Java, nel 2002 rilasciò il .Net Framework, lanciando il suo nuovo Linguaggio C#.
Da quel momento in poi ho la sensazione che anche parti di Windows furono implementate tramite il .Net
Framework. Ma sotto il Cofano,
nelle loro Parti più intime, i Sistemi Operativi hanno puro Codice C.
In tutta questa storia le vere persone che considero dei veri Geni dell’Informatica sono: James Gosling e
Dennis Ritchie.
Nei paragrafi successivi vedremo molti straordinari dettagli di java; ma vorrei chiarire un punto, ad oggi
esiste un Linguaggio Perfetto? Un Linguaggio che ha quel sapore Primordiale e che dona la possibilità in modo
Fluido di amalgamare il tutto?
Diciamo che a mio avviso il Linguaggio che si avvicina di più a questa caratteristica è Java, ma vi è più di un
problema. Java come il .Net Framework, non hanno un modo naturale
per sfruttare gli acceleratori grafici. Diciamo che nel caso di Java potrebbe essere anche comprensibile, perché
parliamo degli inizi degli anni 90. Ma Microsoft ha rilasciato il .Net Frameworck nel 2002.
Comunque Microsoft per Sfruttare gli Acceleratori Grafici a introdotto WPF, invece Java si basa su JavaFX. Ma non
vi è una naturalezza intrinseca nell’utilizzo di queste funzionalità. Qui forse Microsoft si è distinta perché
creando un Progetto WPF si potrebbe avere la sensazione di una profonda amalgamazione, che in realtà non esiste
perché XAMEL rappresenta un linguaggio differente. Un'altra nota a favore di Microsoft, un
progetto WPF risulta estremamente leggero e comunque una volta presa la mano è anche bello programmarci.
Mentre in merito a Java ci sarebbe da considerare un aspetto da non sottovalutare. Premessa nella programmazione
capita spesso che si realizza qualcosa e poi si sottovaluta il proprio lavoro, per poi in un secondo momento
accorgersi di alcuni aspetti importanti che fanno un enorme differenza. Ci tengo a precisare, al contrario di
quello che si potrebbe immaginare, io scrivo e spiego non perché ho studiato, ma perché sono altamente percettivo
nei confronti di sistemi digitali, mediatici e ambientali, vivo di Connessioni e ho una mente altamente
predisposta alla creazione di Sistemi Gestionali. Volevo sottolineare questo aspetto perché ho notato
che i creatori stessi di Java non si sono accorti, oppure l’hanno fatto volutamente, di Cosa? Hanno presentato
Java sempre come un Linguaggio, ma io credo che sia qualcosa in Più. Se qualcuno prova ad imparare Java per
come viene spiegato, anche dagli stessi creatori (mi riferiosco a Sun Microsystems non ha Oracle), e riesce a
diventare bravo si rende conto che un Applicazione Java necessita di Tonnellate di Codice. Quindi penso che hanno
voluto spiegare Java in questo modo per Semplificazione, ma questa semplificazione ha un prezzo altissimo,
tonnellate inutile di codice. Java Filosoficamente (ma anche praticamente) non è un Linguaggio come lo presentano,
Java è molto simile al C, Java è un anima libera e se non si domina si rischia di scrivere tonnellate inutili di
codice. In Java prima di progettare e programmare è necessario creare un Nuovo Linguaggio nel Linguaggio, in questo
modo tramite un elevato sistema ingegnoso si possono scrivere applicazioni compatte ed efficienti. Sinceramente
apprezzo moltissimo questa chicca di Java e credo fortemente che sia i creatori di Java che i vari autori di
testi Java, presentano Java come un Linguaggio per semplificazione, perché
presentarlo come un ambiente per creare Linguaggi e estremamente difficile e ciò diventa talmente personale che
probabilmente è inutile farlo, uno ci deve arrivare da solo e se riuscite ad arrivare a quel punto, cioè riuscire
a utilizzare Java per creare un Vostro Linguaggio compattando in modo significativo la Programmazione Java, credo
fermamente che potete considerarvi dei Progettisti Senior, perché avete più o meno fatto quello che ha fatto
Bjarne Stroustrup con il C, siete riusciti a modificare la Natura di Java, creando un Nuovo Linguaggio Efficiente
e Compatto. Se qualcuno si sta chiedendo se io con la mai terza media ci sia riuscito, la risposta è si, ci sono
riuscito alla grande, infatti e una cosa che ho scoperto da solo e in questo corso vi svelerò importantissimi
altri aspetti di Java, con cui fare cose straordinarie. Ricordate sapere è Potere, anche se non conoscete ancora
la strada per arrivarci, ma avere la consapevolezza che si può fare è un grande vantaggio.
Java è il Linguaggio dei miei sogni? No
Diciamo che Java a mio avviso, al momento, è l’unico Linguaggio (assieme al C\C++) che appaga le mie
necessità mentali, ma spero che
riescano a fare di meglio o che riesco a fare di meglio. Il punto, per me, non è saperlo fare e avere la voglia di
farlo, perché spesso per realizzare software di questi livelli sono necessarie delle ripetizioni e sono quelle che
mi demoralizzano, anche perché nessuno mi paga per farlo e nessuno mi cerca o mi vuole perché ho solo la terza
media. Poi ci sarebbe da aggiungere che ho quasi 56 anni e se mi ricapitasse di lavorare in azienda di Sviluppo
Software, non credo proprio che riuscirei ad adattarmi al loro lavoro, perché ho le mie abitudini e non credo
proprio, anche se gli converrebbe, che loro si adattino alle mie. Ma se troverò la voglia di fare questo progetto
(un nuovo linguaggi) ve lo farò sapere. Comunque e bene che voi sappiate che le mie spiegazioni non vi sono molto
utili per trovare un lavoro in questo campo, perché l’attenzione del piccole Software House si sta spostando su
Programmi di Sviluppo Semplificati, in modo da assumere incompetenti, pagarli poco e tentare di avere efficienza.
Io invece cerco tutt’altro: Ingegno, Professionalità, Progettazione di Sistemi Complessi. Ad esempio mi piace
molto insegnare perché riesco con naturalezza a semplificare concetti complessi e ciò mentalmente mi appaga
moltissimo.
Per chiudere questo paragrafo, grazie al .Net Framework oggi windows è altamente programmabile ed è divertente
farlo, come pure e semplice e divertente programmare il Web tramite Asp.Net.
Sinceramente a me la Programmazione Web, anche se la faccio per motivi di Condivisione, non mi stimola moltissimo.
Invece lavorare su PC e Progettare Ambienti e Linguaggio mi piace un sacco.
Paragrafo Scritto e Pubblicato il 22 Agosto 2026
Aggiornato il 30.08.2026
|