Programmatore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 151.38.102.167, riportata alla revisione precedente di Lucas
 
(180 versioni intermedie di oltre 100 utenti non mostrate)
Riga 1:
{{nota disambigua|il compositore musicale|Programmatore (musica)}}
Il '''programmatore''' (o ''coder'') è il professionista che scrive dei [[software|programmi software]] in un determinato [[Linguaggio_di_programmazione|linguaggio di programmazione]].
{{F|informatica|luglio 2014|Al momento non c'è una singola fonte, si potrebbero aggiungere le classificazioni Eucip, AITTS, ITA-J e IBM}}
[[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 Programmatoreprogrammatore 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''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 [[Editoreditor (informatica)|editor]] (programmi che permettono la scrittura di programmi software), [[debugger]], helper, [[compilatoreCompilatore|compilatori]] o [[interpreteInterprete (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'Ottobreottobre 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.
 
=== 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 solitoprogrammatore il Web Coderweb 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 [[Webweb Designerdesign]]er o da più figure con specifiche competenze. Un Webprogrammatore Coderweb che si occupa sia del codice che della [[grafica]] di un sito, non si chiama più tale ma prende il nome di [[Web"Full Master]]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]], [[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 [[Web Master]].
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.
==Voci correlate==
*[[Software]]
*[[Sviluppatore software]]
*[[Ciclo di vita del software]]
 
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é.
{{commons|Category:Programmers}}
 
===Diffusione e formazione===
[[Categoria:Informatica]]
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 ==
[[ar:مبرمج]]
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.
[[da:Programmør]]
 
[[de:Programmierer]]
== Note ==
[[en:Programmer]]
<references />
[[es:Programador]]
 
[[fr:Programmeur]]
== Voci correlate ==
[[gl:Programador]]
* [[Analista programmatore]]
[[he:מתכנת]]
* [[Ciclo di vita del software]]
[[ja:プログラマ]]
* [[Codice sorgente]]
[[ko:프로그래머]]
* [[Ingegneria del software]]
[[nl:Softwareontwikkelaar]]
* [[Consulenza informatica]]
[[pl:Programista]]
* [[Categoria:Informatica]]
[[pt:Desenvolvedor]]
* [[Programmazione (informatica)]]
[[ru:Программист]]
* [[sl:ProgramerSoftware]]
* [[Sviluppatore software]]
[[th:โปรแกรมเมอร์]]
* [[Vero Programmatore]]
[[uk:Програміст]]
* [[Giorno dei programmatori]]
[[vi:Lập trình viên]]
 
[[zh:程序员]]
== Altri progetti ==
{{interprogetto|s=:Categoria:Programmatori|s_oggetto=|s_preposizione=redatte da|s_etichetta=Programmatori|preposizione=sul|wikt=programmatore}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|programmer|programmer}}
 
{{Controllo di autorità}}
{{Portale|informatica|lavoro}}
 
[[Categoria:Programmatori| ]]
[[Categoria:Professioni informatiche]]