Le Migliori Certificazioni sullo Sviluppo App su cui investire

Le Migliori Certificazioni sullo Sviluppo App su cui investire

I datori di lavoro che assumono sviluppatori di app solitamente cercano candidati con esperienza nella creazione di queste. Spesso sono alla ricerca di candidati che possiedano una vasta gamma di conoscenze su svariati concetti come, ad esempio, le interfacce di programmazione delle applicazioni (API), nell’esperienza utente (UX), e linguaggi di programmazione quali: Python, C#, PHP, JavaScript, HTML5/CSS3 e Swift.

I datori di lavoro tendono a preferire o richiedere un diploma di laurea in scienze informatiche o in una disciplina correlata, ma data l’elevata richiesta di sviluppatori per dispositivi mobili, alcuni sono disposti a formare internamente (o a pagare un ente di formazione) i candidati che magari già possiedono un background in un’area IT collegata, come la creazione di reti o di ingegneria, o addestrare gli sviluppatori esperti all’utilizzo di altre piattaforme o tools utili allo sviluppo mobile.

Come in altri settori, anche nel mondo dello sviluppo mobile esistono svariate certificazioni che si possono conseguire di altrettante famose corporate come IBM, Oracle, Red Hat che, però, nonostante l’interessante bagaglio formativo trasmesso ai candidati interessati, non attraggono l’interesse dei datori di lavoro.

Nell’elenco che vi proponiamo di seguito troverete esposte solamente quelle certificazioni di cui si trova maggiore richiesta nelle offerte di lavoro, quindi, senza dilungarci oltre, andiamo a vedere quali sono le Top certificazioni per lo sviluppo mobile.

 

Associate Android Developer

In breve:
Certificazione: Associate Android Developer
Prerequisiti e corsi obbligatori: Nessun prerequisito richiesto
Numero di esami: Un esame pratico basato su un progetto di codifica e un colloquio di uscita
Costo per esame: € 150,00
Sito web: https://developers.google.com/training/certification/associate-android-developer/
Materiale didattico: Il sito di formazione per sviluppatori di Google offre diverse risorse, come corsi base, intermedi e avanzati in lingua inglese. Workbooks e guide di studio sono disponibili nella maggior parte dei corsi.

Come prima certificazione abbiamo inserito la certificazione ufficiale di Google relativa ad Android; il sistema operativo di Big G copre l’85% del mercato mobile e sia la domanda di applicazioni che di sviluppatori è sempre in forte crescita.

Associate Android Developer fa parte del ristretto, ma significativo, gruppo di certificazioni di Google assieme a Mobile Web Specialist, Google Certified Professional – Cloud Architect, and Certified Professional – Data Engineer certifications (di cui parleremo presto nel dettaglio).

La certificazione di Associate Android Developer certifica le competenze nella progettazione, costruzione e debugging di applicazioni Android, progettazione di soluzioni per l’archiviazione e progettazione di applicazioni per l’integrazione con interfacce esterne all’applicazione core di Android. L’esame basato su prestazioni singole richiede anche i candidati a mettere concetti di interfaccia utente (UI) e user experience (UX) per creare funzionalità di layout standard e personalizzati utilizzando il codice XML e Java.

Sebbene non sia necessaria la formazione per lo sviluppatore Android Associate di Google, Google offre un sacco di risorse tramite le quali è possibile preparasi.

 

MTA Developer: Microsoft Technology Associate Developer

In breve:
Certificazione: MTA Developer
Prerequisiti e corsi obbligatori: Nessuna. Microsoft consiglia tre o cinque giorni di formazione con istruttore e esperienza nella programmazione con qualche linguaggio e/o tools di programmazione specifici.
Numero di esami: Esame 98-361: Software Development Fundamentals
Esame 98-375: HTML5 App Development Fundamentals
Esame 98-380: Introduction to Programming with Block-Based Languages
Costo per esame: € 127,00 a esame, erogati da Pearson VUE
Sito web: https://www.microsoft.com/it-it/learning/mta-developer-certification.aspx
Materiale didattico: Microsoft Virtual Academy ha risorse aggiuntive e Born to Learn offre gruppi di studio e forum. I libri di preparazione per gli esami in inglese possono essere trovati su Amazon e in altri negozi di libri online.

inizialmente Microsoft aveva creato le certificazioni MTA come aiuto agli studenti delle scuole superiori e dei college per iniziare a possedere una certificazione IT. Ma nel corso del tempo, le certificazioni si sono dimostrate essere anche un trampolino di lancio sia per tutte quelle persone che cercano di entrare nel settore IT sia per i professionisti IT che vogliono cambiare carriere (o specializzazioni).

Anche se non risulta essere un prerequisito, il conseguimento di una certificazione MTA può anche aiutare i candidati a prepararsi a certificazioni Microsoft di livello superiore, come Microsoft Certified Solutions Developer (MCSD), soprattutto grazie all’esperienza pratica con prodotti e tecnologie applicabili.

Il programma di certificazione MTA offre certificazioni orientate verso infrastrutture IT, database e sviluppatori. Dato l’obiettivo che si pone questo articolo, per ora ci concentreremo sulla certificazione MTA Developer. Solo un esame è richiesto dai tre seguenti:

  • Software Development Fundamentals
  • HTML5 App Development Fundamentals
  • Introduction to Programming with Block-Based Languages

Microsoft suggerisce che la maggior parte dei candidati dovrebbero prendere in considerazione, per primo, il conseguimento della MTA Software Development Fundamentals. Potranno poi scegliere un’altra certificazione MTA più specifica in base ai propri obiettivi di carriera oppure passare direttamente ad una certificazione di livello superiore. I candidati per la credenziale MTA Developer devono aspettarsi di comprendere e utilizzare la versione più recente di Microsoft Visual Studio come strumento di sviluppo primario. A differenza di molte altre certificazioni, quelle MTA non scadono. Una volta ottenuta una certificazione, è riconosciuta per la vita.

 

MCSD App Builder: Microsoft Certified Solutions Developer App Builder

In breve:
Certificazione: MCSD: App Builder
Prerequisiti e corsi obbligatori: Possesso di una certificazione tra:

  • MCSA: Web Applications
  • MCSA: Universal Windows Platform

Formazione raccomandata ma non obbligatoria

Numero di esami: Un esame a scelta tra:

  • Esame 70-534: Architecting Microsoft Azure Solutions
  • Esame 70-532: Developing Microsoft Azure Solutions
  • Esame 70-487: Developing Microsoft Azure and Web Services
  • Esame 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
  • Esame 70-489: Developing Microsoft SharePoint Server 2013 Advanced Solutions
  • Esame 70-496: Administering Microsoft Visual Studio Team Foundation Server
  • Esame 70-497: Software Testing with Visual Studio
  • Esame 70-498: Delivering Continuous Value with Visual Studio Application Lifecycle Management
Costo per esame: € 165,00
Sito web: https://www.microsoft.com/it-it/learning/mcsd-app-builder-certification.aspx
Materiale didattico: Su Microsoft Learning si possono trovare video di preparazione agli esami, test pratici,informazioni su corsi in aula e corsi di formazione on-demand, libri, risorse online e altro ancora.

Microsoft offre alcune delle certificazioni di livello avanzato rivolte agli sviluppatori di applicazioni, sia mobile che web, sviluppatori di software, sviluppatori web e ingegneri per il controllo qualità.

Quindi, dopo aver preso in considerazione la certificazione MTA, ci è sembrato doveroso parlare di Microsoft Certified Solutions Developer, la top level delle certificazioni Microsoft.

Nello specifico parliamo della MCSD App Builder: per accedervi è necessario che i candidati già dispongano di una certificazione Microsoft Certified Solutions Associate (MCSA), Web Applications o Universal Windows Platform e superino uno degli esami scegliendo tra una di queste aree:

  • Microsoft Azure (2 esami disponibili),
  • Microsoft SharePoint (2 esami disponibili),
  • Microsoft Visual Studio (2 esami disponibili)
  • Microsoft Visual Studio Team Foundation Server (2 esami disponibili)

La formazione è raccomandata ma non è richiesta prima di un esame MCSD, ma potrebbe essere d’aiuto che il candidato possieda già un po’ di esperienza (uno o due anni) nel lavorare con Azure, C #, SharePoint, Office client, Visual Studio, .NET o HTML5 che sono gli argomenti che si ritrovano negli esami e assicurarsi di superare l’esame al primo colpo.

Con le novità introdotte da Microsoft in tema di certificazioni, una volta che un candidato ottiene una delle certificazioni MCSD: App Builder, non ha l’obbligo di ricertificarsi entro tre anni come succedeva in passato. Tuttavia si consiglia di sostenere e superare un esame elettivo ogni anno civile per dimostrare il proprio impegno nel restare costantemente aggiornati.

 

Salesforce Certified Platform App Builder

In breve:
Certificazione: Salesforce Certified Platform App Builder
Prerequisiti e corsi obbligatori: Nessun prerequisito. Salesforce consiglia due corsi:
• Corso DEV-402: Declarative Development for Platform App Builders
• Corso CRT-402: Certification Preparation for Platform App Builder
Numero di esami: Un esame:

  • 60 domande a scelta multipla * (saranno aggiunti 5 domande non classificate)
  • 105 minuti assegnati per completare l’esame (il tempo comprende anche le domande non classificate)
  • Il 63% di risposte esatte per superare l’esame
Costo per esame: La tassa di registrazione è di circa € 200,00, più le tasse applicabili secondo le leggi locali
La tassa di ripetizione è di circa € 100,00, più le tasse applicabili secondo le leggi locali
Sito web: http://certification.salesforce.com/appbuilder
Materiale didattico: Salesforce mette a disposizione del materiale didattico qui.

Salesforce è un’azienda leader nel settore del customer relationship management (CRM) e vanta più di 150.000 clienti in tutto il mondo. Salesforce supporta i suoi clienti con una varietà di soluzioni, dalle vendite e dal servizio, alla produttività, all’analisi e all’Internet of Things (IoT).

Con tanti prodotti e servizi disponibili, non sorprende che il programma di certificazione Salesforce sia ampio e ben sviluppato, e include una credenziale di Builder di applicazioni che genera un grande interesse nelle offerte di lavoro.

Il Salesforce Certified Platform App Builder è rivolta a professionisti che progettano, costruiscono e implementano applicazioni personalizzate per la piattaforma Force.com. La certificazione richiede ai candidati di passare un singolo esame, che riguarda la modellazione e la gestione dei dati, la sicurezza, la logica aziendale, le interfacce utente e i casi di utilizzo per le funzioni sociali per applicazioni personalizzate. I candidati devono inoltre sapere come personalizzare le applicazioni per l’utilizzo e la distribuzione delle applicazioni mobili, nonché i report di progettazione e i dashboard.

Salesforce richiede agli App Builder di mantenere le attuali competenze. I titolari di credenziali devono sostenere degli esami con ogni nuovo ciclo di rilascio del prodotto (tipicamente in primavera, estate e inverno).

 

OutSystems – Associate​ ​Mobile​ ​Developer​ ​Certification

In breve:
Certificazione: Associate​ ​Mobile​ ​Developer​ ​Certification
Prerequisiti e corsi obbligatori: Non ci sono requisiti per sostenere l’esame di certificazione.
Numero di esami: Un esame composto da domande a scelta multipla
Costo per esame: € 200,00 circa
Sito web: https://www.outsystems.com/learn/certifications/
Materiale didattico: Outsystems invita a studiare online con il seguente materiale:
Formazione online
Documentazione di OutSystems 10
Best practice di OutSystems Mobile
Best practice della piattaforma OutSystems
Master Class su OutSystems 10 Sviluppo mobile

OutSystems 10 è una piattaforma che sfrutta un’architettura completamente ridisegnata e completamente ottimizzata per l’esecuzione su dispositivi mobili con prestazioni ottimali, ritardi pari a zero, transizioni e animazioni più fluide. È possibile costruire l’App un’unica volta con un unico sorgente e distribuirla sia piattaforme iOS che Android.

Se si desidera ottenere la certificazione come Associate​ ​Mobile​ ​Developer​, bisogna registrarsi sulla pagina delle certificazioni utilizzando l’apposito modulo di registrazione.

L’esame di certificazione Associate Mobile Developer consiste in domande a scelta multipla. L’esame si concentra su conoscenze pratiche e scenari che convalidano le proprie conoscenze e la propria esperienza professionale. Ogni domanda ha solo una risposta corretta e le risposte errate non influenzano il punteggio. L’esame è disponibile online, il che significa che si può sostenere l’esame senza viaggiare. Gli esami sono controllati da una terza parte, che garantisce l’integrità dell’ambiente fisico e virtuale. Fare l’esame è semplice: basta pianificare l’esame con almeno 72 ore di anticipo, visitare l’URL fornito e confermare i dettagli. Quindi scegliere il momento più conveniente per sostenere l’esame.

La certificazione non scade mai. La certificazione Associate Mobile Developer è associata a una versione specifica della piattaforma OutSystems. Ad esempio, se si ottiene la certificazione Associate Mobile Developer per la piattaforma 10, non è possibile richiedere la certificazione per le versioni successive: 11, 12, ecc. Le certificazioni saranno limitate alle versioni principali della versione. La certificazione per una singola versione è sufficiente per la maggior parte degli sviluppatori. Tuttavia, se desideri ricevere la certificazione per l’ultima versione, bisogna sostenere un nuovo esame di certificazione.

Con questa certificazione si chiude il nostro breve viaggio tra le migliori certificazioni legate allo sviluppo di App; ci aggiorniamo alla prossima guida.

Linguaggi di Programmazione: La top 10 Tiobe di fine anno.

Linguaggi di Programmazione: La top 10 Tiobe di fine anno.

Siamo giunti ormai alla fine di questo 2017, e per concludere l’anno lanciando uno sguardo alla programmazione, vi proponiamo l’indice Tiobe relativo ai linguaggi di programmazione.

Quello di Tiobe, è un indicatore riguardante la popolarità dei linguaggi di programmazione, la classifica è compilata grazie ai dati ricavati dai tre motori di ricerca Google, MSN e Yahoo! valutando la disponibilità mondiale di esperti programmatori, corsi a tema e a richiesta.

L’indice completo comprenderebbe richieste relative ai primi 50 linguaggi (nella tabella sono riportati solo i primi 20). Anche questa volta ci occuperemo di analizzare nel dettaglio solamente quei linguaggi che occupano la Top Ten della classifica.

Dando un primo sguardo alla classifica, rispetto all’inizio dell’anno, si può notare come tengano ben strette le loro posizioni linguaggi come Java, ancora al primo posto, C, sempre stabile al secondo e C++ anche lui sempre stabile al terzo posto. Un leggero cambio lo vediamo tra Python e C# che occupavano nei primi mesi del 2017, rispettivamente la quinta e la quarta posizione e che ora si sono scambiati le posizioni.

Cala, inoltre, l’interesse per Visual Basic .NET e PHP, quest’ultimo scende addirittura di due posizioni, mentre Javascript ne guadagna altrettante; Delphi e Swift escono dalla Top Ten, al loro posto si vedono comparire R e MATLAB.

Prima di passare ad esporre i linguaggi che occupano i primi dieci posti, vorrei spendere una nota particolare per Objective-C che dal 16° posto è salito fino ad arrivare all’11°, segno questo che il vecchio linguaggio di casa Apple sta riscuotendo maggior interesse rispetto a Swift. Lo vedremo approdare in Top Ten? Vedremo cosa ci diranno i primi mesi del 2018.

E adesso, senza dilungarci ulteriormente, andiamo ad analizzare i Top Languages:

Java:

Cos’è: Java è un linguaggio di programmazione il cui sviluppo comincia agli inizi degli anni ‘90. Nonostante il linguaggio sia open source, per cui chiunque può utilizzarlo liberamente, è attualmente di proprietà e gestito da Oracle Corporation. Java è stato progettato per essere un linguaggio che possa funzionare su qualsiasi dispositivo, e di conseguenza si presta allo sviluppo non solo di software per PC, ma anche di App per Smartphone, Tablet e persino TV intelligenti.

Buone ragioni per impararlo e usarlo: Java è uno dei linguaggi maggiormente in-demand. Aziende di qualsiasi dimensione utilizzano applicazioni scritte in Java. Se avete un’idea per un software innovativo per il business o per App innovative per Android, Java è probabilmente la scelta migliore per svilupparlo. Molte delle applicazioni più popolari Android come Angry Birds, Temple Run e Candy Crush Saga sono state scritte in Java. Lo stesso vale per la maggior parte dei software proprietari che compagnie aeree, agenzie governative e aziende Fortune 500 utilizzano ogni giorno.

 

C:

Cos’è: Molte persone nella comunità dei programmatori considerano C il nonno di tutti i moderni linguaggi di programmazione. Questo fondamentalmente per due motivi:

1) Il linguaggio C è stato sviluppato nel 1970, quando ancora alcuni computer erano le dimensioni intere stanze.

2) Molti linguaggi moderni come Java, C++ e Python sono stati direttamente influenzati da C.

Nonostante la sua età C resta però ancora molto utilizzato, e probabilmente rimarrà tale per molti anni a venire, anche perché C implementa una procedura che mira ad utilizzare meno memoria possibile.

Buone ragioni per impararlo e usarlo: la maggior parte dei buoni programmatori conoscono più di un linguaggio. Se avete intenzione di impararne più di uno C potrebbe essere una buona scelta. Alcuni corsi di sviluppo C hanno un metodo di insegnamento che può apparire ostico per alcuni, tuttavia, questo non dovrebbe essere preso come deterrente perché, dopo che avrete appreso C, imparare linguaggi più moderni come Objective-C, C++, PHP e molti altri vi risulterà molto più facile.

Come probabilmente avrete capito, C è un linguaggio piuttosto potente e, proprio grazie alla sua potenza, risulta essere il linguaggio perfetto quando è necessario avere un controllo assoluto sul software. Questo è il motivo per cui è la spina dorsale di molti dei sistemi operativi più diffusi oggi, quali Windows, OSX e Linux. Quasi tutti i dispositivi informatici sono scritti interamente o in parte in C. Microonde, calcolatori elettronici, banche dati, controlli di navette spaziali, hanno probabilmente una componete C.

 

C++:

Cos’è: A tutti gli effetti C++ è C con più funzioni. Mentre entrambe queste tecnologie sono considerate lingue di uso generale, C è di solito utilizzato per il software ” close to the machine” come i sistemi operativi, mentre C++ è di solito utilizzato per le applicazioni di alto livello come software di contabilità o come motore per videogiochi.

Buone ragioni per impararlo e usarlo: C++ è spesso la prima scelta per sviluppare grandi progetti software come browser web, driver grafici per computer e algoritmi di negoziazione finanziaria. Questo linguaggio sfrutta la metodologia della Programmazione Orientata a Oggetti (OOP) che C non supporta facilmente. Per questo motivo C++ risulta essere più appropriato per svolgere quelle attività dove C risulterebbe eccessivamente difficile o troppo dispendioso da utilizzare in termini di tempistica.

I motori di molti degli più popolari videogames, come Call of Duty, Halo, e Fifa sono stati scritti in C++. Anche i grandi studi di animazione come Pixar, Disney e DreamWorks usano C++ per lo sviluppo di funzioni particolari dei loro software di animazione. Grazie alla sua robustezza e alla sua velocità, C++ è usato anche per scrivere algoritmi di negoziazione ad alta frequenza che consentono alle imprese di Wall Street di scambiare migliaia di azioni in frazioni di secondo.

 

Python:

Cos’è: Python è un linguaggio general purpose che vede la sua origine nel 1991. Questo linguaggio è stato progettato per essere altamente leggibile, il che lo rende molto facile per i principianti. E’ un linguaggio dall’alto potenziale attraverso il quale si può spaziare dalla creazione di software scientifico, allo sviluppo web fino al rendering 3D.

Buone ragioni per impararlo e usarlo: A differenza dei linguaggi di livello più basso come C o Java, Python può essere appreso ad un ritmo relativamente veloce. Questo rende Python un linguaggio estremamente friendly per i neofiti alla programmazione.

Applicazioni come Instagram, Dropbox, YouTube e Reddit sono tutti esempi di ciò che si potrebbe essere in grado di realizzare con una buona conoscenza di Python.

 

C#:

Cos’è: C# è un linguaggio di programmazione sviluppato fin dai primi anni del 2000. Facente parte della famiglia .NET, agli inizi fu destinato ad essere unicamente utilizzato per lo sviluppo di prodotti Microsoft. Oggi C# viene utilizzato per sviluppare non solo applicazioni Windows standard, ma anche web applications lato server o come motore nello sviluppo di videogiochi.

Buone ragioni per impararlo e usarlo: Se siete interessati a sviluppare applicazioni specifiche per Windows o allo sviluppo di web applications che verranno eseguite su server Windows, C# è una buona scelta. Anche se attualmente non è così popolare come PHP o Java, la sua popolarità è in continuo aumento.

C# è stato progettato da Microsoft per venire eseguito senza problemi sui loro server, web applications come Bing e MSN sono costruiti con codice C# così come lo sono la maggior parte delle applicazioni sviluppate per Windows Phone.

Javascript:

Cos’è: Coloro che si avvicinano per la prima volta alla programmazione spesso non sanno che c’è una differenza tra Java e JavaScript. Questo linguaggio era originariamente chiamato ECMAScript, tuttavia a causa della popolarità di Java, i creatori cambiarono il nome per attirare più persone. A parte il nome, questi linguaggi hanno ben poco in comune.

Buone ragioni per impararlo e usarlo: Se siete interessati a diventare front-end web design dovreste imparare JavaScript, perché viene utilizzato per aggiungere interattività alle pagine web. Prive del suo utilizzo, le pagine possono risultare piuttosto blande, mentre l’utilizzo di JavaScript sui siti consente la creazione di animazioni e un migliore controllo dell’interfaccia web. Anche se viene utilizzato principalmente per lo sviluppo front-end, framework come Node.js permettono ai programmatori di scrivere anche software di back-end. JavaScript è utilizzato dall’88% di tutti i siti web. Se consideriamo la vastità del web, vi potete renderete conto che 88% è un’altissima percentuale. Effetti speciali al passaggio del mouse, menu a discesa, e altre animazioni nella pagina sono alcuni esempi dell’utilizzo di JavaScript.

 

Visual Basic.Net:

Cos’è: Visual Basic .NET (VB.NET) è un linguaggio di programmazione orientato agli oggetti multi-paradigma,implementato su Framework .NET. Microsoft ha lanciato VB.NET nel 2002 come successore del noto Visual Basic. Insieme con C#, è uno dei due principali linguaggi rivolti al framework .NET.

Buone ragioni per impararlo e usarlo: Visual Basic presenta un’alta facilità d’uso, non utilizza la formalità di punteggiatura tipica di quasi tutti gli altri linguaggi e il suo ambiente di lavoro RAD permette di realizzare in breve tempo interfacce GUI anche complesse; inoltre è pratico nella creazione di accessi alle basi dati e nella creazione di controlli ActiveX.

Oltre tre milioni di programmatori utilizzano Visual Basic, e molti di loro lo hanno imparato come primo linguaggio.

 

R:

R è, oltre ad un linguaggio di programmazione, anche un ambiente di sviluppo specifico per l’analisi statistica dei dati. È un software libero, distribuito con la licenza GNU GPL, disponibile per diversi sistemi operativi come Unix, Linux, Mac, Windows.

È un linguaggio object oriented e deve la sua popolarità ad un’ampia disponibilità di moduli distribuiti con licenza GPL (General Public License, software libero) che possiamo reperire con facilità (data anche la loro organizzazione) sul sito CRAN – The Comprehensive R Archive Network (https://cran.r-project.org).

Questi moduli servono sostanzialmente per espandere le capacità del programma, oltre alle molte funzioni statistiche aggiuntive, esistono moduli che permettono la comunicazione con database (sia con driver specifici che tramite connessioni ODBC) o con sistemi GIS (Geographic Information System – Sistema informativo territoriale).

R viene fornito principalmente con un’interfaccia a riga di comando, ma per chi lo volesse sono disponibili diverse interfacce grafiche tra cui RStudio, (https://www.rstudio.com), l’ide grafico più comunemente usato oppure R Tools per Visual Studio.

 

PHP:

Cos’è: PHP è un altro discendente di C poiché è stato sviluppato utilizzando il linguaggio C e come conseguenza ne ha ereditato alcune potenzialità. PHP è stato progettato per rendere possibile la creazione di web applications come Facebook.

Buone ragioni per impararlo e usarlo: Se avete un’idea per un nuovo sito web, un linguaggio come PHP risulta molto pratico. PHP è il linguaggio ideale per le persone che vogliono andare da nessuna esperienza allo sviluppo di applicazioni web in un breve lasso di tempo. PHP è utilizzato su oltre duecento milioni di siti web il che dimostra come sia veramente popolare questo linguaggio. Viene anche utilizzato su alcuni dei siti più visitati al mondo come Yahoo o da CMS come WordPress e Magento.

 

MATLAB:

Abbreviazione di “MATrix LABoratory“, MATLAB fu creato alla fine degli anni settanta da Cleve Moler, il presidente del dipartimento di scienze informatiche dell’Università del Nuovo Messico; è un ambiente per il calcolo numerico e l’analisi statistica scritto in C. Grazie a MATLAB è possibile manipolare matrici, visualizzare funzioni e dati, implementare algoritmi, creare interfacce utente, e interfacciarsi con altri programmi.

MATLAB può chiamare funzioni e subroutine scritte nei linguaggi di programmazione C o Fortran. Dal 2014 è stato aggiunto l’aumento dell’interfaccia bidirezionale con Python. Inoltre librerie scritte in linguaggi come Perl, Java, ActiveX o .NET possono essere chiamate direttamente da MATLAB, e molte librerie MATLAB (ad esempio supporto XML o SQL) sono implementate come wrapper attorno alle librerie Java o ActiveX.

MATLAB è usato da milioni di persone nell’industria e nelle università per via dei suoi numerosi strumenti a supporto dei più disparati campi di studio applicati e funziona su diversi sistemi operativi, tra cui Windows, MacOS, Linux e Unix.

 

E con questo la nostra esposizione si chiude, ci aggiorniamo nel 2018 con le novità sull’indice Tiobe.

miniBloq

miniBloq

miniBloq è un linguaggio di programmazione visuale open source in fase di sviluppo per Multiplo ™, Arduino ™ e dispositivi fisici di calcolo e robot. Minibloq nasce nel 1997 quando lo sviluppatore Juliàn da Silva Gillig pubblica Minibloques, una versione gratuita ma non aperta, utilizzata nelle scuole elementari e medie in Argentina.

Tra maggio e giugno del 2011, miniBloq partecipa ad una raccolta fondi su KickStarter  con il progetto chiamato “Minibloq: graphical programming environment for Arduino” raggiungendo e oltrepassando di molto il traguardo di 4.300$.

Non ho compreso a quale versione del programma fossero quando hanno lanciato la raccolta fondi, fatto è che gli obiettivi proposti erano molti e le persone gli hanno effettivamente dato fiducia. Ad oggi però, ancora non esiste la versione 1.0 e molti degli obiettivi proposti (tra i quali il miglioramento della GUI) non sono stati ancora raggiunti.

La versione 0.83 attualmente disponibile, che ho personalmente testato, presenta un ambiente a mio parere stabile ma molto scomodo e poco intuitivo. La scelta delle icone che rappresentano i “blocchi” sono poco comprensibili e la loro dimensione, quando vengono inseriti nell’area di sviluppo, risulta a mio parere inappropriata alla programmazione. Con il comando Mouse wheel + Ctrl: Zoom in / Zoom out, è possibile  ingrandire e rimpicciolire i blocchi presenti nell’area di sviluppo ma non sembra risolvere il problema, solo cambia la loro dimensione e questa pratica di rimpicciolire i blocchi può solo aiutare la navigazione del codice ma non la sua comprensione.

Un’altro problema è la rappresentazione delle strutture di controllo, in quanto l’unica via per riconoscere dove inizia e finisce una struttura è osservando la posizione dei blocchi e quindi la loro indentazione. Però l’indentazione è una soluzione di leggibilità tipica dei linguaggi puramente testuali, dove si cerca in tutti i modi di migliorare la leggibilità del testo anche attraverso colori e dimensioni. Nel caso di Scratch e Snap!, l’indentazione viene usata in modo marginale, in quanto il codice contenuto all’interno di una struttura di controllo viene letteralmente avvolto dalla stessa. Questo approccio permette di avere la percezione che il codice è effettivamente contenuto ed eseguito al suo interno e, se il fine è quello di educare i giovani alla programmazione, credo sia indispensabile alleggerire la lettura e la comprensione del codice.

Anche se vi sono molti altri problemi legati all’ambiente di sviluppo, credo non sia necessario sottolinearli in quanto stiamo parlando di una versione in corso d’opera che spero di vedere un giorno conclusa.

Parlando invece degli aspetti positivi su cui investirei, ho trovato molto utile l’accesso agli esempi suddivisi secondo l’hardware utilizzato, mi piace che si possa fare un confronto diretto tra il codice sviluppato graficamente ed il codice in formato testuale e trovo importante avere una lista ragguardevole di possibili piattaforme hardware da poter utilizzare.

Hardware supportato:

  • AERobot v1.0
  • Arduino Leonardo
  • Arduino Mega 2560 o Mega ADK
  • Arduino Uno
  • DuinoBot Kids v1.x.HID
  • DuinoBot v1.x -> 2.3 HID
  • DuinoBot c2.3.CDC
  • miniSim v0.2
  • Pi-Bot v1.0
  • RedBoard
  • RedBot v1.0
  • Seeeduino 328/Arduino Duemilanove
  • Seeeduino Mega 1280 / Arduino Mega
  • Sparki v1.0
  • Ta-Bot v1.0

In casa, l’unico Hardware ora a mia disposizione per testare le funzionalità di miniBloq, è una scheda Arduino Uno, delle resistenze e tanti LED. La mia iniziale intenzione era quella di poter scrivere un programma per costruire un orologio binario. Dopo però essermi reso conto che l’unico tipo di variabile disponibile è di tipo float, che le uniche strutture di controllo sono if/else, while e for, che non si può lavorare con gli array, che non vi è il modulo per calcolare il resto e che l’unico modo per poter inserire nel codice questi elementi era quello di scriverli a mano, decisi di desistere con il mio progetto e di testare alcuni esempi tra i quali quello che vedete nell’animazione che si chiama 310.FiveLEDs.

In conclusione, credo che attualmente miniBloq sia ad un ottimo punto di partenza per la creazione di un IDE che possa un giorno raggiungere i livelli di altri ambienti di sviluppo come Snap!, ma penso che per ora sia più utile come banco test dove poter improvvisare alcune semplici automazioni.

 

Link:

Sviluppo Applicazioni Android: alla fine la spunta Kotlin

Sviluppo Applicazioni Android: alla fine la spunta Kotlin

Era nell’aria già da un po’. Da tempo si vociferava che Google, a seguito della disputa legale con Oracle, avesse in programma l’adozione di un nuovo standard per lo sviluppo di applicazioni. Un breve riassunto per chi si fosse perso le puntate precedenti: Oracle ha sempre accusato Google di aver utilizzato volutamente parte del proprio codice Java per la creazione del suo sistema operativo, arrivando a dichiarare recentemente che senza “le stringhe incriminate”, Android non avrebbe potuto nemmeno esistere. Google ha cosi deciso di modificare il codice di Android ed a partire dalla versione N , eliminare tutte quelle API rivendicate da da Oracle e sostituirle con OpenJDK, un linguaggio JavaSE, rilasciato nel 2007 da Sun Microsystems sotto licenza GNU GPL (libera e senza royalty da pagare).

 

Per un po’ si era parlato della possibile adozione di Swift come linguaggio di programmazione di prima classe per lo sviluppo Android, ma alla fine la casa di Mountain View ha deciso di mantenere una netta differenziazione tra la sua piattaforma e quella concorrente di Apple. L’accoglienza di questa novità da parte degli sviluppatori è stata molto calorosa. Immaginiamo non sia stata invece molto apprezzata da parte delle software houses: l’adozione dello standard Swift avrebbe avuto come conseguenza una riduzione netta dei costi di sviluppo. Ma tant’è, Google ha scelto diversamente, e dall’alto del suo 86% di quota di mercato, se lo può anche permettere.

 

Entrando un po’ più nel tecnico, Kotlin è un progetto recente, sviluppato da JetBrains, che sfrutta la Java Virtual Machine. Questo significa che può essere utilizzato insieme a Java nello sviluppo delle applicazioni. La sua elasticità potrebbe portare molte case di sviluppo a sostituire il codice già presente con Kotlin, comunque tenendo una struttura basata su Java. A partire da Android Studio 3.0, questo nuovo linguaggio sarà incluso senza la necessità di installare tool di terze parti esterne all’IDE.

 

Certo le novità potrebbero però non finire qui. L’annuncio di Microsoft di mandare in pensione Windows 10 Mobile, e la sospetta solerzia con cui sia il fondatore Bill Gates che il top Manager Joe Belfiore si sono premurati di annunciare al mondo di utilizzare device Android, fa pensare che nel prossimo futuro altri linguaggi della galassia Microsoft (C# ?) possano essere supportati ufficialmente da Google come linguaggi di sviluppo di prima classe.

 

Staremo a vedere, nel frattempo l’incubo “Internet Explorer per Android” continua a perseguitarmi…