Programmatore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
 
(162 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
{{nota disambigua|l'altroil significatocompositore musicale|[[Programmatore (musica)]]}}
{{F|informatica|luglio 2014|Al momento non c'è una singola fonte, si potrebbero aggiungere le classificazioni Eucip, AITTS, ITA-J e IBM}}
Il '''programmatore''' (o ''coder'') è il professionista che scrive dei [[software|programmi software]] in un determinato [[Linguaggio di programmazione|linguaggio di programmazione]].
[[File:Programmer writing code with Unit Tests.jpg|thumb|right|Programmatore all'opera su piattaforma [[MacOS]] ([[Darwin (sistema operativo)|Darwin OS]])]]
Un '''programmatore informatico''' o semplicemente '''programmatore''' ({{Inglese|programmer}} o ''coder'', "scrittore di codice") è un tecnico che, attraverso la relativa fase di [[programmazione (informatica)|programmazione]], traduce o codifica l'[[algoritmo]] risolutivo di un problema dato nel [[codice sorgente]] del [[software]] da far [[esecuzione (informatica)|eseguire]] a un [[elaboratore]], utilizzando un determinato [[linguaggio di programmazione]]. La professione del programmatore è relativamente recente e si è sviluppata di pari passo con l'aumento dei campi di applicazione dell'informatica.
 
== Descrizione ==
La professione del programmatore è relativamente recente e si è sviluppata di pari passo con l'aumento dei campi di applicazione dell'[[informatica]].
LNell'ambito del [[ciclo di vita del software]], l'attività del programmatore, definita anche "attivitàsviluppo" o "scrittura di codificacodice", concettualmente è successiva all'attività di analisi e precedente a quella di collaudo, solitamente eseguita da altri professionisti;, rispettivamente gli analisti ede i collaudatori o [[beta tester]].
 
In pratica il programmatore realizza il programma vero e proprio sulla base del documento di specifica (tecnica o funzionale) redatto dell'analista, in cui sono descritti a livello logico i comportamenti e gli [[algoritmo|algoritmi]] che devono essere realizzati dalnel programma software, redatto dell'analista, realizza il programma vero e propriostesso. Terminata la fase di programmazione con la produzione di un [[programma eseguibile]], quello le cui [[istruzione (informatica)|istruzioni]] sono eseguiterese direttamente eseguibili dalla macchina sotto forma di [[linguaggio macchina]], inizia la fase di [[collaudo del software|collaudo]], tesaatta a determinare la conformità del programma alle specifiche descritte nel documento di analisi.
L'attività del programmatore, definita anche "attività di codifica", concettualmente è successiva all'attività di analisi e precedente a quella di collaudo, solitamente eseguita da altri professionisti; gli analisti ed i collaudatori [[beta tester]].
 
Il programmatore per l'esecuzione della propria attività si avvale di alcuni strumenti informatici, di fatto programmi specializzati per quest'attività. A titolo esemplificativo si tratta di [[editor (informatica)|editor]] (programmi che permettono la scrittura di programmi software), [[debugger]], helper, [[Compilatore|compilatori]] o [[Interprete (informatica)|interpreti]], [[script]], [[database]] ed altri ancora.
In pratica il programmatore sulla base del documento di specifica (tecnica o funzionale), in cui sono descritti i comportamenti e gli algoritmi che devono essere realizzati dal programma software, redatto dell'analista, realizza il programma vero e proprio. Terminata la fase di programmazione con la produzione di un programma eseguibile, quello le cui istruzioni sono eseguite dalla macchina, inizia la fase di collaudo, tesa a determinare la conformità del programma alle specifiche descritte nel documento di analisi.
 
[[Ada Lovelace]] è considerata la prima programmatrice della storia, avendo per prima espresso un [[algoritmo]] inteso per l'utilizzo su un computercalcolatore, la [[macchina analitica]] di [[Charles Babbage]] nell'ottobre del [[1842]].
Il programmatore per l'esecuzione della propria attività si avvale di alcuni strumenti informatici, di fatto programmi specializzati per quest'attività. A titolo esemplificativo si tratta di [[editor]] (programmi che permettono la scrittura di programmi software), [[debugger]], helper, [[Compilatore|compilatori]] o [[Interprete (informatica)|interpreti]], [[script]], [[database]] ed altri ancora.
 
*[[Vero=== Programmatore]] web ===
[[Ada Lovelace]] è considerata la prima programmatrice della storia, avendo per prima espresso un [[algoritmo]] inteso per l'utilizzo su un computer, la [[macchina analitica]] di [[Charles Babbage]] nell'ottobre del [[1842]].
Il suffisso "web" identifica un programmatore specializzato nella costruzione di software destinato a realizzare [[Applicazione web|applicazioni web]] o [[Sito web|siti web]] per [[Internet]] o [[intranet]], tipicamente utilizzando linguaggi orientati a questo genere di attività, come ad esempio [[PHP]], [[Active Server Pages|ASP]], [[Java EE]], [[JavaScript]] o [[ActionScript]].
 
DiIl solito ilprogrammatore web coder si occupa solo del codice sorgente di un [[sito web]], quindi trascura il design e la parte[[Formattazione graficadel testo|formattazione]] del codice [[HTML]], che vienevengono invece sviluppatasviluppati da un [[web designerdesign]]er o da più figure con specifiche competenze. Un programmatore web coder che si occupa sia del codice che della [[grafica]] di un sito, non si chiama più tale ma prende il nome di [[webmaster]]"Full Stack Developer".
== Web coder ==
Un '''web coder''' è un programmatore specializzato nella realizzazione di [[Sito web|siti web]] in quelli che sono i linguaggi del web: [[HTML]], [[PHP]], [[Active Server Pages|ASP]], [[ActionScript]], [[Java (linguaggio)|Java]], ecc.
 
=== ''Code monkey'' ===
Di solito il web coder si occupa solo del codice di un sito, quindi trascura la parte grafica che viene invece sviluppata da un [[web designer]]. Un web coder che si occupa sia del codice che della grafica di un sito, non si chiama più tale ma prende il nome di [[webmaster]].
L'espressione ''code monkey'' ({{Lett|scimmia del codice}}) si riferisce generalmente, nel mondo anglofono, ad un programmatore per computer o comunque chi scrive codice per sopravvivere; entrando nello specifico, il termine si riferisce a quelle persone capaci unicamente di scrivere del [[codice sorgente|codice]], inabili dunque nel compiere lavori che richiedono un tasso di astrazione più elevato come il curare l'architettura, l'analisi ed il design del software. In tal senso, il termine è considerabile leggermente offensivo, ed è spesso attribuito alla maggior parte dei programmatori più giovani all'interno di un gruppo.
Il termine può anche essere auto-attribuito come modo per scaricare le responsabilità per una decisione presa dall'amministrativo, oppure come lamento dovuto al dover sopportare tali decisioni (ad es.: "Non chiedermi perché dobbiamo scrivere in [[COBOL]], sono semplicemente un "code monkey").
 
Il termine può anche essere applicato a programmatori per computer non professionisti che uniscono insieme spezzoni di codice trovati su [[Internet]] o librerie per realizzare una applicazione, senza avere né apprezzamento né comprensione dei principi che sono alla base del codice o della programmazione più in generale.
== Curiosità ==
 
[[Steve Ballmer]], [[CEO]] della [[Microsoft]], in varie occasioni ha ripetuto più di 15 volte "[[Developers]]", cioè programmatori (sviluppatori) in inglese. Con un risultato molto comico e folle.
Alcuni autori non considerano programmatori in senso stretto i ''coder'' ovvero quelli che si limitano a convertire l'algoritmo in codice, in quanto, eseguendo una mera traduzione, non programmano alcunché.
 
===Diffusione e formazione===
La figura del programmatore è in forte ascesa con la [[rivoluzione informatica]], l'avvento del [[settore terziario avanzato]] dopo gli anni 2000 e la diffusione di [[Internet]]. Mentre prima degli anni 2000 i programmatori erano essenzialmente programmatori per [[Applicazione (informatica)|applicazioni]] desktop o programmatori di sistema, negli anni 2000 le figure più diffuse sono quelle del [[applicazione web|programmatore web]] e quella del programmatore per [[dispositivo mobile|dispositivi mobili]]. Molto spesso il programmatore è assunto in società di [[consulenza informatica]] lavorando per clienti [[committente|committenti]] come [[banca|banche]], [[pubblica amministrazione]] e [[azienda|aziende]] in [[Body Rental|body rental]] con forme contrattuali tipiche come il [[contratto a progetto]]. La formazione di un programmatore avviene tipicamente attraverso studi universitari, [[certificazione|certificazioni]] informatiche opportune (le più famose sono quelle [[linguaggio Java|Java]] di [[Sun Microsystem]] e [[Microsoft .NET]]) o [[tirocinio|tirocini]] opportuni in azienda.
 
== Uso improprio ==
Tra i non addetti ai lavori, il termine programmatore è spesso impiegato scorrettamente. Infatti, in questi casi, qualsiasi professionista nel mondo dell'[[informatica]] è genericamente chiamato "programmatore"<ref>O, ancor peggio, "tecnico". Questo capita perché, a differenza di altre professioni tradizionali, non si conoscono i tanti mestieri specifici dell'informatica.</ref>. Chi gestisce sistemi informatici, configura applicazioni, aggiorna i contenuti di siti web, installa e manutiene reti o periferiche, svolge scansioni e monitoraggi di sicurezza, supporta gli utenti, assiste altri specialisti informatici o telematici, sviluppa documentazione, ecc. non programma nulla: solo chi, determinando funzioni e relativi algoritmi di implementazione di una soluzione e secondariamente scrivendo codice in qualche linguaggio di programmazione, realizza software, è un programmatore. E comunque, in questo settore, molte professioni e ruoli sono etichettati in inglese, quasi mai tradotti in italiano.
 
== Note ==
<references />
 
== Voci correlate ==
* [[Analista programmatore]]
* [[Ciclo di vita del software]]
* [[Codice sorgente]]
* [[CreatoreIngegneria didel software]]
* [[Consulenza informatica]]
* [[Informatica]]
* [[Programmazione (informatica)]]
* [[Software]]
* [[Sviluppatore software]]
* [[Vero Programmatore]]
* [[Giorno dei programmatori]]
 
== Altri progetti ==
{{interprogetto|s=:Categoria:Programmatori|s_oggetto=|s_preposizione=redatte da|s_etichetta=Programmatori|preposizione=sul|wikt=programmatore}}
{{interprogetto|commons=Category:Programmers}}
 
== Collegamenti esterni ==
==Voci correlate==
* {{Collegamenti esterni}}
*[[Software]]
* {{FOLDOC|programmer|programmer}}
*[[Sviluppatore software]]
*[[Ciclo di vita del software]]
*[[Vero Programmatore]]
*[[Creatore di software]]
 
{{Controllo di autorità}}
[[Categoria:Professioni informatiche]]
{{Portale|informatica|lavoro}}
 
[[Categoria:Programmatori| ]]
[[ar:مبرمج]]
[[Categoria:Professioni informatiche]]
[[da:Programmør]]
[[de:Programmierer]]
[[en:Programmer]]
[[es:Programador]]
[[fr:Programmeur]]
[[gl:Programador]]
[[he:מתכנת]]
[[ja:プログラマ]]
[[ko:프로그래머]]
[[nl:Softwareontwikkelaar]]
[[pl:Programista]]
[[pt:Desenvolvedor]]
[[ru:Программист]]
[[sl:Programer]]
[[th:โปรแกรมเมอร์]]
[[uk:Програміст]]
[[vi:Lập trình viên]]
[[zh:程序员]]