SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Dalmine, 22 ottobre 2016
I linguaggi di programmazione
e il mondo open source
Carlo Milanesi
SQL, HTML, XML, JSON
non sono linguaggi di programmazione
Esistono numerosi
Domain-Specific Languages,
ma adesso parliamo invece
dei linguaggi
“general-purpose”
Ambiti applicativi (1)
● Didattica dell'informatica
● Software di sistema
Sistemi operativi, driver di dispositivi, antivirus,
interpreti, librerie di base, debugger, emulatori,
browser Web, DBMS, ecc.
● Software di controllo
● Software di calcolo
● Scripting DBMS
● Scripting desktop
Ambiti applicativi (2)
● Applicazioni client
Riga di comando, schermate in modalità testuale,
schermate in modalità grafica, finestre in ambiente
grafico
● Applicazioni server
● Applicazioni Web lato server
● Applicazioni Web lato client
● Applicazioni per dispositivi mobili
● Ricerca scientifica
Didattica dell'informatica
● Pascal
● BASIC
● C
● C++
● Java
● Logo
● Scratch
Software di sistema e di controllo
● Assembly
● C
● C++
● Ada
● D
● Rust
Software di calcolo
● FORTRAN
● C
● C++
● R
● Julia
● Wolfram
(Mathematica)
● Matlab
● Scilab
● Octave
Scripting DBMS
● PL/SQL
● Transact-SQL
Scripting desktop
● Shell Unix
● AWK
● Perl
● Visual Basic for
Applications
● Lua
● Python
● Tcl
● VimL
● JavaScript
● CoffeeScript
● TypeScript
Applicazioni client
● BASIC
● Pascal (Delphi)
● C++
● C#
● VB.NET
● Java
● Python
● COBOL
● xBase
● JavaScript
● CoffeeScript
● TypeScript
Applicazioni server
● Java
● JavaScript
● CoffeeScript
● TypeScript
● Perl
● Python
● Go
● C#
● Scala
● Swift
● Erlang
Applicazioni Web lato server
● Ruby
● Scala
● Swift
● C#
● Java
● JavaScript
● CoffeeScript
● TypeScript
● Perl
● Python
● PHP
Applicazioni Web lato client
● JavaScript
● CoffeeScript
● TypeScript
● ActionScript
● C#
● Java
Applicazioni per dispositivi mobili
● Objective-C
● Swift
● Java
● JavaScript
● CoffeeScript
● TypeScript
● C#
Ricerca scientifica
● Common Lisp
● Scheme
● Clojure
● Prolog
● Python
● Haskell
● C
Linguaggi “free” emergenti
● Scratch: scuola dell'obbligo
● Rust: infrastruttura
● Lua: scripting embedded
● TypeScript: applicazioni
● Python: applicazioni
Grazie per l'attenzione

Weitere ähnliche Inhalte

Was ist angesagt?

Qt mobile PySide bindings
Qt mobile PySide bindingsQt mobile PySide bindings
Qt mobile PySide bindingsPyCon Italia
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazioneDaniele Costarella
 
Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017MongoDB
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxDeveler S.r.l.
 
Da JavaScript a TypeScript
Da JavaScript a TypeScriptDa JavaScript a TypeScript
Da JavaScript a TypeScriptRoberto Messora
 
Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...
Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...
Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...AVi LUG - Alto Vicentino Linux User Group
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio CodeRoberto Messora
 
Introduzione a Git e GitLab
Introduzione a Git e GitLabIntroduzione a Git e GitLab
Introduzione a Git e GitLabYefry Figueroa
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
 
Debian translation party 2
Debian translation party 2Debian translation party 2
Debian translation party 2Stefano Canepa
 
Qt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt FrameworkQt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt FrameworkAndrea Grandi
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migrationAndrea Cirioni
 
NethServer Linux Day 2016
NethServer Linux Day 2016 NethServer Linux Day 2016
NethServer Linux Day 2016 Davide Principi
 
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014Giorgio Cefaro
 
#vBrownBag.IT - Session 2
#vBrownBag.IT - Session 2#vBrownBag.IT - Session 2
#vBrownBag.IT - Session 2Andrea Mauro
 

Was ist angesagt? (20)

Qt mobile PySide bindings
Qt mobile PySide bindingsQt mobile PySide bindings
Qt mobile PySide bindings
 
Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
 
Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017
 
Introduzione a Docker
Introduzione a DockerIntroduzione a Docker
Introduzione a Docker
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
 
Docker
Docker Docker
Docker
 
Da JavaScript a TypeScript
Da JavaScript a TypeScriptDa JavaScript a TypeScript
Da JavaScript a TypeScript
 
Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...
Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...
Aule informatiche libere e a basso costo con LTSP (by Umberto Peserico & Dari...
 
Docker & DevOps
Docker  & DevOpsDocker  & DevOps
Docker & DevOps
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio Code
 
Introduzione a Git e GitLab
Introduzione a Git e GitLabIntroduzione a Git e GitLab
Introduzione a Git e GitLab
 
Git in 5 minuti
Git in 5 minutiGit in 5 minuti
Git in 5 minuti
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziare
 
Debian translation party 2
Debian translation party 2Debian translation party 2
Debian translation party 2
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
 
Qt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt FrameworkQt Mobile: Sviluppo mobile con Python e Qt Framework
Qt Mobile: Sviluppo mobile con Python e Qt Framework
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
 
NethServer Linux Day 2016
NethServer Linux Day 2016 NethServer Linux Day 2016
NethServer Linux Day 2016
 
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
I came, I saw, I GO! - Golangit meetup @ Codemotion Rome 2014
 
#vBrownBag.IT - Session 2
#vBrownBag.IT - Session 2#vBrownBag.IT - Session 2
#vBrownBag.IT - Session 2
 

Andere mochten auch

Liberta digitali: Introduzione al software libero, LibreOffice e Libreitalia
Liberta digitali: Introduzione al  software libero, LibreOffice e LibreitaliaLiberta digitali: Introduzione al  software libero, LibreOffice e Libreitalia
Liberta digitali: Introduzione al software libero, LibreOffice e LibreitaliaBergamo Linux Users Group
 
Elaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando LinuxElaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando LinuxBergamo Linux Users Group
 
curriculum_italiano_dicembre_2016
curriculum_italiano_dicembre_2016curriculum_italiano_dicembre_2016
curriculum_italiano_dicembre_2016sabino massaro
 
Corso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insiemeCorso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insiemeStudiabo
 
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiBusiness Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiSMAU
 
Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3Matthias Broecheler
 

Andere mochten auch (15)

Security Capture the Flag
Security Capture the FlagSecurity Capture the Flag
Security Capture the Flag
 
Giochiamo ... in codice
Giochiamo ... in codiceGiochiamo ... in codice
Giochiamo ... in codice
 
oVirt – open your virtual datacenter
oVirt – open your virtual datacenteroVirt – open your virtual datacenter
oVirt – open your virtual datacenter
 
OpenWRT - Router wifi open
OpenWRT - Router wifi openOpenWRT - Router wifi open
OpenWRT - Router wifi open
 
Copyrights = diritto alla copia?
Copyrights = diritto alla copia?Copyrights = diritto alla copia?
Copyrights = diritto alla copia?
 
Il progetto OpenOSB
Il progetto OpenOSBIl progetto OpenOSB
Il progetto OpenOSB
 
L'orologio Nixie
L'orologio NixieL'orologio Nixie
L'orologio Nixie
 
Liberta digitali: Introduzione al software libero, LibreOffice e Libreitalia
Liberta digitali: Introduzione al  software libero, LibreOffice e LibreitaliaLiberta digitali: Introduzione al  software libero, LibreOffice e Libreitalia
Liberta digitali: Introduzione al software libero, LibreOffice e Libreitalia
 
Orchestrating Linux Containers
Orchestrating Linux ContainersOrchestrating Linux Containers
Orchestrating Linux Containers
 
Elaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando LinuxElaborazione dati dalla riga di comando Linux
Elaborazione dati dalla riga di comando Linux
 
curriculum_italiano_dicembre_2016
curriculum_italiano_dicembre_2016curriculum_italiano_dicembre_2016
curriculum_italiano_dicembre_2016
 
LucianoZu_CV
LucianoZu_CVLucianoZu_CV
LucianoZu_CV
 
Corso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insiemeCorso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insieme
 
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsiBusiness Intelligence, Analytics e Big Data: una guida per capire e orientarsi
Business Intelligence, Analytics e Big Data: una guida per capire e orientarsi
 
Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3
 

Ähnlich wie I linguaggi di programmazione e il mondo open-source

Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzajekil
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86Massimiliano Torregiani
 
Introduzione alle Universal App
Introduzione alle Universal AppIntroduzione alle Universal App
Introduzione alle Universal AppAlessio Iafrate
 
Flutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaFlutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaCommit University
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net Leonardo Alario
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Giuseppe Vizzari
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overviewAlfredo Morresi
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)Giuseppe Vizzari
 
Prodigyt at Next Step IBMi, 11 luglio 2017
Prodigyt at Next Step IBMi, 11 luglio 2017Prodigyt at Next Step IBMi, 11 luglio 2017
Prodigyt at Next Step IBMi, 11 luglio 2017Ruggero Borgonovo
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
Thanatos - Parallel & Distributed Computing
Thanatos -  Parallel & Distributed ComputingThanatos -  Parallel & Distributed Computing
Thanatos - Parallel & Distributed ComputingIdriss Riouak
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
 

Ähnlich wie I linguaggi di programmazione e il mondo open-source (20)

Android: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezzaAndroid: Introduzione all'architettura, alla programmazione e alla sicurezza
Android: Introduzione all'architettura, alla programmazione e alla sicurezza
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86
 
L’evoluzione dei linguaggi di scripting lato browser: Il caso dart - Luca Ala...
L’evoluzione dei linguaggi di scripting lato browser: Il caso dart - Luca Ala...L’evoluzione dei linguaggi di scripting lato browser: Il caso dart - Luca Ala...
L’evoluzione dei linguaggi di scripting lato browser: Il caso dart - Luca Ala...
 
Introduzione a .Net Core
Introduzione a .Net CoreIntroduzione a .Net Core
Introduzione a .Net Core
 
Introduzione alle Universal App
Introduzione alle Universal AppIntroduzione alle Universal App
Introduzione alle Universal App
 
Flutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaFlutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaforma
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
Intro xamarin forms
Intro xamarin formsIntro xamarin forms
Intro xamarin forms
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overview
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
 
Prodigyt at Next Step IBMi, 11 luglio 2017
Prodigyt at Next Step IBMi, 11 luglio 2017Prodigyt at Next Step IBMi, 11 luglio 2017
Prodigyt at Next Step IBMi, 11 luglio 2017
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Thanatos - Parallel & Distributed Computing
Thanatos -  Parallel & Distributed ComputingThanatos -  Parallel & Distributed Computing
Thanatos - Parallel & Distributed Computing
 
Thanatos
ThanatosThanatos
Thanatos
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
INTRO TO XAMARIN
INTRO TO XAMARININTRO TO XAMARIN
INTRO TO XAMARIN
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
 

I linguaggi di programmazione e il mondo open-source