Intramontabile Fortran

Ha settant’anni ma non li dimostra e viene tuttora utilizzato.
Ed è giusto che sia così, perché Fortran è il primo linguaggio di programmazione di alto livello, che usa un linguaggio quasi umano per creare programmi per computer.
E’ nato quando l’unico linguaggio per programmare un computer era il linguaggio Assembly, in mancanza del quale non c’era altro modo di programmare se non quello di scrivere le istruzioni direttamente in linguaggio macchina, cioè con una serie di 0 e 1: ciò che, francamente, non si può nemmeno chiamare linguaggio.
Se qualcuno ha idea di cosa si dovesse scrivere in Assembly per fare una semplice somma capisce la differenza col poterlo scrivere semplicemente ponendo l’operatore + tra due operandi, come si cominciò a fare con il Fortran, con la stessa semplicità di come lo si fa su un pezzo di carta.
Pare che, con la comparsa del Fortran, l’efficienza della programmazione per calcoli scientifici sia aumentata del 500%.
Utilizzarlo ancora oggi penso francamente sia un tantino da nostalgici, anche perché abbiamo ormai altri linguaggi che, per fare cose difficili, sono molto più facili da usare: basti pensare a Python e alle sue librerie.
Ma per fare cose facili, fino alla media difficoltà, è facile anche Fortran e lo dimostro nell’allegato manualetto, come sempre, liberamente scaricabile, stampabile e distribuibile.

fortran

Groovy, Java stenografato

In questo blog ho accennato al linguaggio Java in un articolo dell’aprile 2016 intitolato “Importante riconoscimento per OpenJDK” con allegato il manualetto “java_android” in cui ho presentato gli strumenti che il software libero ci fornisce per programmare con questo potentissimo linguaggio.
Non ho mai fornito manuali per l’apprendimento del linguaggio sia per la facilità con cui si può trovare documentazione anche alla portata di principianti sia perché si tratta comunque di un linguaggio alquanto difficile che ritengo riservi poche soddisfazioni ai dilettanti cui mi rivolgo.
Successivamente, nel luglio 2019 ho ritenuto invece di proporre un manualetto dedicato al linguaggio Kotlin, allegato all’articolo “Kotlin: Java facilitato”, un nuovo linguaggio ispirato a Java e che ne utilizza ampiamente le ricche librerie, con il quale possiamo realizzare progetti di impegno non inferiore a quello dei progetti abbordabili con Java faticando molto meno e utilizzando una sintassi molto più succinta e facile di quella richiesta dal linguaggio Java.
Visto il successo ottenuto da quel manualetto ho ritenuto di arricchirlo nell’aprile 2023 con l’allegato all’articolo “Grafica con Kotlin”, ove indico come sia possibile dotare di interfaccia grafica le applicazioni programmate con Kotlin.
Ora ritengo interessante proporre una modalità di utilizzo del patrimonio di librerie Java con un altro linguaggio, molto più semplificato anche rispetto a Kotlin, che non ci consente di affrontare progetti molto impegnativi ma ci può divertire.
Si tratta del linguaggio Groovy, un modo per programmare con librerie Java con la semplicità di un linguaggio di scripting.
L’allegato manualetto a ciò dedicato è liberamente scaricabile, stampabile e distribuibile.

groovy

Come reagire alla scomparsa di Windows 10

Il prossimo 14 ottobre Microsoft toglierà il supporto al sistema operativo Windows 10.
Nonostante questo sistema operativo pare sia ancora presente sul 53% dei personal computer in attività, Microsoft ha deciso che esso è superato e non vale più la pena di curarsene.
Visto, però, che sono ancora in molti che lo usano e che Microsoft è votata a fare soldi anche dal nulla, si è inventata un prolungamento di assistenza per chi lo voglia ancora usare: l’Aggiornamento di sicurezza esteso (ESU, che sta per Extended Security Updates), ovviamente a pagamento ($ 61 annui per le imprese, $ 30 annui per i privati).
Pertanto non è tanto fine del supporto ma è un tentativo di far pagare il supporto a chi lo voglia ancora.
Dopo che Comsumer Reports negli USA e Euroconsumers in Europa si sono fatti sentire, Microsoft si è dichiarata disposta al prolungamento gratuito dell’assistenza negli USA, a condizione che l’utente utilizzi la funzione di backup di Windows e nei Paesi dello Spazio Economico Europeo (i 27 Stati membri UE oltre a Norvegia, Islanda e Liechtenstein, fuori Gran Bretagna e Svizzera) a condizione che l’utente effettui un accesso al proprio account Microsoft ogni 60 giorni.
Che vi siano ancora tanti digiuni di informatica che si trovano la mercanzia Microsoft preinstallata su tutti i computer che si vendono e che sono disarmati di fronte a queste prese in giro è comprensibile ma che vi siano imprese, magari dotate di importanti reparti di Information Technology, che non si ribellano è incomprensibile.
Già, perché cessare di essere presi in giro sarebbe facilissimo: basterebbe sostituire al sistema operativo della Microsoft una delle tante versioni del sistema operativo Linux.
Ormai sui server, sui supercomputer e per fare cose serie si preferisce usare Linux, sugli smartphone ha ormai il predominio il sistema Android, figlio di Linux, ma per fare le cose di tutti i giorni su un personal computer, come navigare su Internet, gestire la posta elettronica, scrivere qualche documento, gestire un po’ di conticini si continua ad usare Windows ed a soggiacere ai capricci di Microsoft.
Ai tanti utenti di Windows 10 che si preoccupano suggerisco comunque di non preoccuparsi più di tanto. Anche se cessa il supporto Microsoft per gli aggiornamenti il sistema continuerà a funzionare: sarà forse un po’ meno sicuro.
Prima di passare a Windows 11, che pare non sia il massimo e sicuramente richiede più risorse, al punto da rendere magari necessario procurarsi un computer con più RAM, la cosa migliore da fare è scaricare l’immagine ISO di una distribuzione Linux, installarla su una pennetta USB avviabile e da lì provarla.
Se piace si può installare il sistema sul computer, anche di fianco al già presente sistema Windows, in modo da scegliere di volta in volta se usare Windows o Linux.
Molto probabilmente nel giro di qualche mese ci saremo dimenticati di Windows e della Microsoft.
Se così non fosse saremmo sempre in tempo per passare a Windows 11, in attesa che anche quello rimanga senza supporto: il prossimo mese di novembre verrà meno il supporto alla versione 23H2 di Windows 11 e in ottobre del 2026 verrà meno il supporto alla versione 24H2.
Ad evitare anche queste prossime prese in giro, una passeggiata in rete ci può aiutare a conoscere le caratteristiche delle varie distribuzioni del sistema Linux disponibili e a trovare istruzioni su come procurarsele e installarle.
E se abbiamo un vecchio computer possiamo risuscitarlo, perché possiamo trovare distribuzioni di Linux che funzionano anche su computer che hanno più di quindici anni.
Il tutto, se siamo in condizioni di utenza normale su personal computer, assolutamente gratis.

Calcolo simbolico con Julia

Nel febbraio 2021 ho presentato su questo blog il linguaggio Julia con l’articolo “Un nuovo linguaggio per la data science”, allegandovi un manualetto sulle basi del linguaggio.
In quel manualetto ho mostrato come creare con il linguaggio Julia programmi di calcolo simbolico grazie alla possibilità di utilizzare in questo linguaggio moduli Python: nel caso specifico utilizzando il modulo SymPy.
Già allora, per la verità, esisteva un package Julia destinato al calcolo simbolico, chiamato Symbolics, ma era appena stato rilasciato ed aveva potenzialità ancora limitatissime e nemmeno lontanamente paragonabili a quelle di SymPy, rilasciato nel 2006 ed ormai perfettamente maturo.
Per questo motivo non ne parlai allora, preferendo illustrare come utilizzare SymPy in Julia.
Ancora oggi Symbolics ha funzioni molto limitate ma si cerca di rimediare con patch di vario tipo e l’ambizione di avere un package per il calcolo simbolico nell’ecosistema Julia non è ancora soddisfatta.
Per una maggiore informazione propongo l’allegato manualetto.
Al solito esso è liberamente scaricabile, stampabile e distribuibile.

symbolics

Modificare PDF con OnlyOffice

Nell’allegato in formato PDF “onlyoffice” al mio articolo “Evoluzione delle suite per ufficio” pubblicato su questo blog nel dicembre 2022 ho presentato OnlyOffice.
A quel tempo le utilità di questo software erano sostanzialmente tre: Documento, Foglio di calcolo e Presentazione, in tutto simili agli omologhi che troviamo nelle suite MSOffice, OpenOffice, LibreOffice, ecc.
Ora, per la verità fin dal giugno del 2024, OnlyOffice si è arricchita della funzione Modulo PDF, pensata per creare moduli compilabili in formato PDF, come schemi di contratto, richieste di iscrizione, ecc.
Ho scoperto che utilizzando questa funzione si riesce anche a modificare file PDF e nel manualetto allegato spiego come.
Al solito, il manualetto è liberamente scaricabile, stampabile e distribuibile.

onlyoffice_pdf

GAMBAS, il visual BASIC di Linux

Nei primi anni ’80 del secolo scorso ho fatto la conoscenza con il linguaggio BASIC con cui si programmava il Commodore VIC20 che avevo acquistato per avviare all’informatica i miei figli e devo dire che mi ci sono appassionato, abituato come ero a lavorare su main fraim utilizzando programmi fatti da altri, su console o su postazioni di lavoro in time sharing.
Per cui devo dire che, più che per i mei figli, che, in realtà sul VIC20 ci giocavano soltanto, il BASIC è stato il primo linguaggio di programmazione per me.
Da lì è nata una mia particolare simpatia per questo linguaggio e, prima che Linux e il software libero mi conquistassero, devo dire che ne ho conosciuto tutte le evoluzioni in casa Microsoft, dal BASICA al GWBASIC al QBASIC al VISUAL BASIC.
Ovviamente, una volta convertito a Linux e al software libero, ho apprezzato la comparsa in questo mondo di GAMBAS, un software con cui si poteva fare tutto ciò che si poteva fare con VISUAL BASIC nel mondo Microsoft.
Dal momento che in questo blog ho parlato di tanti linguaggi e mai di questo, ho deciso di rimediare proponendo l’allegato manualetto.

gambas

Scrivere musica con Mup

In questo blog ho presentato due software liberi per scrivere musica e produrre spartiti e partiture musicali partendo da file di istruzioni scritte con la tastiera del computer: Lilypond e ABC.
Si tratta di due coetanei, disponibili dal 1997.
Visto che, nonostante sia sparita dal web l’azienda che lo ha prodotto e reso open source, lo si trova tuttora nel repository di Fedora Linux, mi sento in dovere di richiamare l’esistenza di un altro software di questo tipo, che si chiama Mup (per Music publication) e che ne è il decano, essendo distribuito dal 1995.
Per chi usa Debian e derivati, come Ubuntu, Linux Mint, MXLinux, ecc., prevedendo difficoltà a trovare un installer che funzioni per questi sistemi, ne propongo, nel link sottostante, uno che ho derivato da quello presente nel repository di Fedora, convertendolo da .rpm a .deb.
Perché funzioni anche l’editor incluso nel pacchetto (mupmate) è necessario verificare la presenza di alcune dipendenze, installandole se necessario, utilizzando il seguente comando a terminale
sudo apt install libfltk1.3 libfltk-images1.3 libjpeg62
A Mup dedico l’allegato manualetto, come sempre liberamente scaricabile, stampabile e distribuibile.

https://www.vittal.it/programmi/mup_7.0-2_amd64.deb

mup

 

Convertire packages per Linux

Sono ormai passati i tempi eroici nei quali per installare un software su Linux bisognava procurarci il source code e compilarlo.
Come ho mostrato nel manualetto “mondo_linux” allegato all’articolo “Le miniere del software libero” pubblicato su questo blog nell’aprile 2021, quasi tutto il software per Linux si trova ora già predisposto per l’installazione, addirittura, in molti casi, disponibile in forme che sono direttamente utilizzabili semplicemente copiando sul computer il file che le contiene, come nel caso delle Appimage.
Più spesso il software che ci interessa è disponibile su pacchetti (packages).
I pacchetti di più ricorrente utilizzo sono preinstallati e sono immediatamente disponibili appena installata la distro Linux, altri sono disponibili nel repository della distro e sono installabili utilizzando il gestore di pacchetti che ogni distro ci mette a disposizione.
Possiamo infine trovare pacchetti sul web, pronti per essere scaricati per l’installazione.
Fortunatamente, nonostante la miriade di distribuzioni Linux esistenti, le tipologie di pacchetto che troviamo sul web sono sostanzialmente due: quella che fa capo al sistema di installazione della distribuzione Red Hat (pacchetti caratterizzati dalla estensione .rpm del file che li contiene) e quella che fa capo al sistema di installazione della distribuzione Debian (pacchetti caratterizzati dalla estensione .deb del file che li contiene).
Nel primo caso (distro Red Hat, Fedora, SUSE, ecc.) l’installazione avviene con il comando a terminale
sudo dnf install <nome_pacchetto.rpm>,
nel secondo caso (distro Debian, Ubuntu e derivate, Linux Mint, MXLinux, Mauna Linux, ecc.) l’installazione avviene con il comando
sudo dpkg -i <nome_pacchetto.deb>.
Può capitare di trovare un pacchetto con estensione .rpm e volerlo installare su Ubuntu o di trovare un pacchetto con estensione .deb e volerlo installare su Fedora e per poter fare questo è necessario preventivamente convertire il pacchetto nel formato adatto all’installatore della distro che usiamo (dpkg o dnf).
Fortunatamente esiste un programma di utilità, che si chiama Alien, che rende facilissima questa conversione.
Troviamo Alien all’indirizzo
https://sourceforge.net/projects/alien-pkg-convert/
ma esso è presente praticamente in tutti i repository delle distro Linux e possiamo semplicemente installarlo con i comandi
sudo apt install alien
oppure
sudo dnf install alien
a seconda se siamo su derivate Debian o su derivate Red Hat.
Alien è uno script in linguaggio Perl, pertanto funziona solo se sul computer è installato un interprete Perl: ciò che avviene per default praticamente per tutte le distro Linux.
Possiamo comunque verificare la sua presenza con il comando a terminale
perl -v
ed eventualmente installarlo con
sudo apt install perl
oppure
sudo dnf install perl
Con il comando
alien -help
possiamo poi avere tutte le informazioni sul funzionamento di questo utilissimo software.
Le più usuali conversioni si ottengono con i comandi
sudo alien -d <nome_file.rpm> per convertire da .rpm a .deb
sudo alien -r <nome_file.deb> per convertire da .deb a .rpm
Il file convertito, oltre che con i comandi dpkg o dnf visti prima, può essere installato con il comando
sudo alien -i <nome_file>

 

Dart: un linguaggio per tutte le stagioni

Nato in casa Google per sostituire Javascript è diventato un linguaggio con il quale si può fare di tutto, persino programmare app che possono girare sia su smartphone euipaggiati Android sia su iPhone equipaggiati iOS.
Per capire di che cosa si tratta e per fare qualche sperimentazione facile facile propongo l’allegato manualetto, contenente anche indicazioni utili per chi voglia approfondire e fare cose più difficili.
Il documento è liberamente scaricabile, stampabile e distribuibile.

dart

Scrivere musica con LilyPond

Ho parlato in altre occasioni di LilyPond in questo blog, accennando in maniera molto sbrigativa alle basi del suo funzionamento e mi sto accorgendo che per fare qualche cosa di un tantino impegnativo con questo software ciò che ho detto finora non basta.
Dal momento che la documentazione completa occupa centinaia e centinaia di pagine e richiede ore di ricerca e consultazione, ho pensato di proporre un manualetto che contenga un po’ di più di quanto ho detto finora e che metta in grado anche un principiante di fare qualche cosa di compiuto senza bisogno di perdersi nella documentazione ufficiale.

L’allegato manualetto è liberamente scaricabile, stampabile e distribuibile senza problemi.

lilypond