The Top Programming Languages 2016

di il
6 risposte

The Top Programming Languages 2016

Vi segnalo questa interessante analisi fatta da IEEE Spectrum sui linguaggi di programmazione utilizzati nel 2016, in base a varie metriche. E' possibile dividerli anche per tipo di utilizzo nelle varie aree: Web, Mobile, Enterprise, Embedded.

Interessante analizzare anche la top five secondo la metrica IEEE Spectrum ranking (si possono selezionare in maniera interattiva anche le altre).
1) C
2) Java
3) Python
4) C++
5) R

La prima cosa che mi è saltata all'occhio è il vedere come C# sia stato scavalcato da R nella classifica, a causa dei big data, come afferma anche IEE Spectrum.

Per maggiori dettagli eccovi il link: http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2016

6 Risposte

  • Re: The Top Programming Languages 2016

    1) C: usato nel mondo IoT. A livello mooolto basso, si usa il C
    2) sia in ambito Web che BigData
    3) Python: usato in ambito scientifico perche' lo scienziato medio, di programmazione non ci capisce un'acca
    4) C++: per applicazioni real time
    5) Statistica: Data Scientist, analisi dei dati.

    Considerazione:

    3) Python: linguaggio MONOTHREAD. Fondamentalmente usato per fare script/programmazione procedurale
    5) per fare analisi sitatistiche su PICCOLE (KB/MB) quantita' di dati. Certamente non processi GB/TB/PT/EB di dati. Per questi si usano altri strumenti
  • Re: The Top Programming Languages 2016

    migliorabile ha scritto:


    5) per fare analisi sitatistiche su PICCOLE (KB/MB) quantita' di dati. Certamente non processi GB/TB/PT/EB di dati. Per questi si usano altri strumenti
    E' chiaro che non viene usato R da desktop come è noto usarlo in genere, ma vengono usati strumenti come pbdR.

    Secondo IEEE Spectrum "[...] C# has fallen out of the top five to be replaced with R. R is following its momentum from previous years, as part of a positive trend in general for modern big-data languages [...]".
    Fonte: http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages (è la stessa classifica ma senza il pannello interattivo).

    A proposito dei Big-Data, @migliorabile, ti segnalo anche questo link che veniva linkato sempre da nell'articolo di IEEE Spectrum.
    Come si può leggere : In this article I’m going to focus on so-called big-data languages, such as Julia, Python, R, and Scala. Most of these are purpose-built for handling large amounts of numeric data, with stables of packages that can be tapped for quick big-data analytic prototyping. These languages are increasingly important, as they facilitate the mining of the huge data sets that are now routinely collected across practically all sectors of government, science, and commerce.

    Buona lettura
  • Re: The Top Programming Languages 2016

    Ciao!
    Haskell quinto negli embedded come si spiega? Viene veramente usato in ambiti produttivi? Sapete dirmi qualcosa di più preciso?
  • Re: The Top Programming Languages 2016

    Grazie per il link. Credo di non avere mai riso tanto dalla prima proiezione di "Febbre da cavallo".

    Tanto per sottolineare la boiata più colossale: il 97% del mercato dei device embedded propriamente detti è composto unicamente da core con datapath a 4, 8 e 16 bit con al più poche decine di migliaia di locazioni RAM. Nel restante 3% si trovano confinati i 32 bit: prevalentemente DSP e motion controller, più qualche esotico core e SoC per TLC, e poco altro.
    Eccetto questi ultimi spiccioli di statistica, praticamente nessun altro dei chip venduti in quantità massive possiede anche solo una frazione delle risorse necessarie ad ospitare un interprete Java o Python, che invece sono ampiamente usati ad esempio sui numerosissimi core ARM (nessuno dei quali è certificato per usi embedded minimamente critici) presenti in device mobili, appliance di rete, consumer e quant'altro, tutti mercati che semplicemente non sono embedded. Quanto ad Arduino e C++, ROFLASTC, una risata li seppellirà. Arduino è solo la balia asciutta dei pasticcioni insipienti e degli smanettoni che sanno poco e nulla sia di elettronica che di software, nessun professionista minimamente serio lo prenderebbe in considerazione, senza contare i vincoli normativi.
    L'analfabeta embedded neolaureato che usa gpp per compilare qualche accrocco destinato a core ARM non fa assolutamente testo: la breve e tormentata storia del C++ in ambito embedded coincide con quella del comitato SC22/WG21 ed è riassunta integralmente qui. A fronte di oltre 400 cross-compiler C commerciali (peraltro parzialmente compatibili solo con C89), esistono solo due crosscompilatori commerciali per EC++ e hanno percentuali d'uso omeopatiche tra gli addetti ai lavori, anche per vincoli normativi.
    Appare palese come IEEE ha mescolato inopinatamente le fonti, il sacro col profano, il dilettantesco con l'embedded realtime critico, anche considerando altre barzellette presenti in classifica, vedi ad esempio VB.

    Invece è vero che l'ampio uso di linguaggi funzionali, constrained, dichiarativi, algebrici, ibridi... e di formalismi come i BDD, come peraltro ho innumerevoli volte spiegato in passato (ad esempio recentemente qui), è assolutamente fondamentale in ambito embedded per il supporto alla verifica e specifica formale del software, assieme ad altri strumenti come l'interpretazione astratta, le suite di testing, le environment simulation, la full code coverage e molto, molto altro.
    Ogni singola riga di firmware e software embedded, come già genialmente anticipato da Dijkstra, assieme al relativo silicio e hardware in generale, è frutto di un lungo lavoro di derivazione da una specifica formale, e se ne dimostrano altrettanto formalmente e rigorosamente le proprietà su scala locale e globale, grazie appunto all'uso di ambienti e linguaggi dedicati come quelli sopra menzionati e molti altri, in un processo solo parzialmente automatizzabile.
  • Re: The Top Programming Languages 2016

  • Re: The Top Programming Languages 2016

    Che mi dite di Apex?
Devi accedere o registrarti per scrivere nel forum
6 risposte