Programmatore: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
|||
(167 versioni intermedie di oltre 100 utenti non mostrate) | |||
Riga 1:
{{nota disambigua|
{{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 ==
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
▲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
▲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
▲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.
▲[[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]].
=== ''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.
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]]
* [[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}}
== 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| ]]
▲[[Categoria:Professioni informatiche]]
|