La continua evoluzione dei linguaggi di programmazione

La continua evoluzione dei linguaggi di programmazione

La figura del programmatore software da diversi anni mantiene la sua posizione tra i lavori più pagati al mondo ma è difficile che si possa guadagnare da vivere con i linguaggi appresi all’università. È, invece, molto probabile che egli debba aggiornare le proprie competenze. Secondo l’ufficio di statistica del lavoro americano (Us Bureau of Labor Statistics) la richiesta di sviluppatori web è incrementata del 20% negli ultimi 10 anni, raddoppiando l’indice di crescita di ogni altra occupazione. Vediamo dunque quali sono i linguaggi più richiesti nel 2018:

-SQL: vince a mani basse, da anni. Se il web è un database, il linguaggio più richiesto in assoluto non può che essere quello per la realizzazione di database;

-JAVA: dopo i database, sul secondo gradino del podio si posiziona IoT, ossia un’evoluzione della rete che si integra con gli oggetti, dandogli la possibilità di comunicare tra loro attraverso un’intelligenza intrinseca;

-PHYTON: linguaggio di programmazione moderno e potente ma allo stesso tempo abbastanza facile da imparare. Prende il nome dalla passione per i Monty Python del suo creatore Guido van Rossum;

-JAVASCRIPT: a differenza di Java, è utilizzato soprattutto nello sviluppo della parte esteriore di siti e pagine web. La sua popolarità continua a crescere, grazie alla semplicità e alla versatilità che ne consente l’utilizzo anche per le app;

-C++: l’erede del C, il padre di tutti i linguaggi di programmazione, mantiene alta la reputazione di una concezione geniale, sublimazione tra semplicità e potenza. Il C++ è molto utilizzato soprattutto per costruire i motori grafici dei videogiochi ma anche per servizi web. Se lo si impara bene, Python o JavaScript saranno una passeggiata;

-C# e SWIFT: chiunque decida di programmare in Windows e iOS dovrà mettere in conto di imparare rispettivamente C# e Swift perché questi due ambienti necessitano di competenze particolari;

-PHP: da una recente stima, circa l’80% dei siti Internet utilizza PHP principalmente perché è stato uno dei primi linguaggi di programmazione a diffondersi in quello specifico ambito;

-GO: è uno degli ultimi linguaggi di programmazione presentato da Google con l’intento di realizzare un modo di programmare adatto a computer e dispositivi con scarse capacità di calcolo.

Dunque l’informatica è un campo in continuo aggiornamento, l’hardware si evolve continuamente così come i linguaggi di programmazione. La figura del programmatore prevede un continuo apprendimento.  Quello che oggi il programmatore apprende potrebbe non servire più nei prossimi 10 anni, ma d'altronde il cambiamento è l’unica costante della nostra vita ed è anche un prezzo da pagare per il successo!

Pubblicato il 6 lug 2018

Tags

Potrebbero interessarti

ARRIVA CHIP, IL PC LOW COST

Quella dei computer da una manciata di dollari è una categoria molto interessante che apre a scenari d'uso particolarmente variegati. CHIP è un nuovo computer presentato dai simpatici ragazzi di Next Thing , tre amici che costruiscono hardware e software, caratterizzato da un prezzo di listino di 9$. Dimensioni ridottissime e la potenzialità di essere integrato all'interno di un dispositivo mobile. Già installata nativamente troveremo una distribuzione Linux basata su Debian in grado di ricevere aggiornamenti via OTA (è un metodo che permette di aggiornare un dispositivo ricevendo via wireless il nuovo software.) . Saranno disponibili alcune applicazioni installate già al primo avvio, ma è previsto naturalmente anche il funzionamento con migliaia di applicazioni aggiuntive. L'utilizzatore finale potrà scegliere di installare un sistema operativo alternativo, come ad esempio qualsiasi altra distribuzione di Linux compilata per il funzionamento su architetture ARM basata su una famiglia di microprocessori RISC a 32-bit. Molto interessante, anche se in effetti dal sapore un pò vintage, l'accessorio Pocket CHIP che, con un esborso complessivo di 49$, consentirà di trasformare CHIP in un dispositivo mobile a tutti gli effetti. Integra una batteria da 3.000 mAh e un display da 4,3" sensibile al tocco, oltre ad una tastiera QWERTY.  Il progetto è stato finanziato dalla campagna su Kickstarter, che ha raccolto fondi per 983 mila dollari.    

Bug dei microprocessori

Meltdown e Spectre sono vulnerabilità hardware scoperte dai ricercatori di Project Zero di Google, rese pubbliche il 3 gennaio 2018 tramite rumors diffusi su social, web e programmi tv. Google spiega che malintenzionati possono sfruttare la "speculative execution". Questa consiste nell'esecuzione di frammenti di codice il cui risultato è utile solo quando l'esecuzione anticipata delle istruzioni utilizza meno spazio e meno tempo in fase di lettura della memoria di sistema. Tale procedura è utilizzata in maniera malevola per leggere dati sensibili nella memoria di sistema, come password, chiavi crittografiche o eventuali informazioni sensibili nei software “aperti”. Tali vulnerabilità interessano molte CPU e inoltre coinvolgono i dispositivi e i sistemi operativi da esse eseguiti. A seguito di alcuni aggiornamenti e di alcuni studi effettuati nell’ultimo periodo, le case produttrici stanno correndo ai ripari. Ad esempio, AMD afferma che i propri processori sono risultati vulnerabili a Spectre ma non a Meltdown. Le GPU Nvidia, invece, non sono colpite da Meltdown e Spectre ma comunque Nvidia ha aggiornato i propri driver per mitigare l'impatto dell'attacco Spectre. Apple ha confermato che le vulnerabilità interessano tutti i dispositivi presenti sul mercato che eseguono iOS e macOS ma sta rilasciando continui aggiornamenti per arginare il problema. Per verificare se il proprio sistema è colpito da tale bug si può seguire questa semplice guida: Aprire una finestra di PowerShell con i permessi di amministratore (tasto destro, Esegui come amministratore)  (clicca immagine per ingrandire) Digitare il comando "Install-Module SpeculationControl". Quando richiesto, confermare (digitando S e premendo Invio) l'utilizzo del provider NuGet e in un secondo momento dell'archivio non attendibile.  (clicca immagine per ingrandire) Digitare il comando "Get-ExecutionPolicy" per verificare se si hanno i permessi di esecuzione degli script esterni. Nel caso in cui non si abbiano i permessi, digitare "Set-ExecutionPolicy RemoteSigned"  (clicca immagine per ingrandire) Successivamente, si può avviare lo script vero e proprio, tramite i comandi "Import-Module SpeculationControl" e in seguito "Get-SpeculationControlSettings"  (clicca immagine per ingrandire) La voce "Windows OS support for branch target injection mitigation"  con valore True indica che si sono installate le patch Microsoft. Il valore False indica invece l'assenza dell'aggiornamento. "Hardware support for branch target injection mitigation" suggerisce l’installazione dell'aggiornamento del firmware (UEFI/BIOS) per proteggersi da Spectre. Per una protezione completa, quindi, basterà far riferimento al sito ufficiale del produttore del PC, dispositivo o scheda madre cercando un aggiornamento del BIOS che nel proprio "changelog" presenti un riferimento all'introduzione del "microcode Intel aggiornato a gennaio 2018". In alternativa è possibile affidarsi ad un’azienda informatica che sia in grado di garantire la protezione dell’integrità fisica (hardware) e logico-funzionale (software) dei sistemi coinvolti.

D-WAVE 2X - IL NUOVO COMPUTER QUANTISTICO DI GOOGLE

Da circa due anni, il team Google Quantum AI ha avviato avanzate ricerche per dimostrare che un computer quantistico è in grado di risolvere problemi di ottimizzazione ad una velocità molto superiore a quella dei computer tradizionali. L’azienda di Mountain View ha ora pubblicato i primi risultati positivi ottenuti con il D-Wave 2X, ospitato dalla NASA nell’Ames Research Lab in California. Un computer quantistico è un nuovo dispositivo per il trattamento e l’elaborazione delle informazioni che per eseguire operazioni si basa sulla meccanica quantistica. La meccanica quantistica o fisica quantistica è la teoria fisica che descrive il comportamento della materia, della radiazione e le reciproche interazioni con particolare riguardo ai fenomeni caratteristici della scala di lunghezza o di energia atomica e subatomica. Invece di utilizzare i bit dei classici computer, convenzionalmente indicati dalle cifre 0 ed 1, un computer quantistico utilizza i qubit, ovvero quantum bit o bit quantistico. Le informazioni vengono dunque codificate dallo stato quantistico di una particella o di un atomo. Tuttavia, né la manipolazione controllata di atomi e particelle né la loro reciproca comunicazione né infine la stesura di algoritmi adatti allo scopo sono obiettivi facili da raggiungere nel calcolo quantistico. Il D-Wave 2X è un sistema di calcolo quantistico costituito da un processore con oltre 1.000 qubit che opera ad un temperatura prossima alla zero assoluto. Il computer può quindi valutare tutte le 21000 possibili soluzioni simultaneamente, trovando quella ottimale con prestazioni 600 volte superiori a quelle dei computer tradizionali. Il chip, denominato quantum annealer, viene sfruttato per risolvere problemi di ottimizzazione, molto frequenti nel campo del machine learning e dell’intelligenza artificiale. Google afferma che per problemi che coinvolgono quasi 1.000 variabili binarie, il quantum annealing del computer quantistico supera nettamente il simulated annealing del computer tradizionale con prestazioni circa 100 milioni di volte superiori. [youtube]https://www.youtube.com/watch?v=-LhPE6FpJYk[/youtube] Ovviamente c’è ancora molto da lavorare in questa tecnologia, ma siamo fiduciosi nello sviluppo e miglioramento di questa nuova tecnologia che può portare a grossi passi in avanti ad applicazioni come l’intelligenza artificiale, la simulazione di intere missioni spaziali e la gestione del traffico aereo.