Programmatore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
 
(31 versioni intermedie di 20 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}}
[[File:Programmer writing code with Unit Tests.jpg|thumb|right|Programmatore all'opera su piattaforma [[MacOS]] ([[Darwin (sistema operativo)|Darwin OS]])]]
IlUn '''programmatore informatico''' (notoo anche con le espressioni [[lingua inglese|inglesi]]semplicemente '''programmatore''developer''''', ovvero({{Inglese|programmer}} sviluppatore,o e '''''coder''''', traducibile come "''creatorescrittore di codice''"), in [[informatica]], è 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]] ada 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 ==
Nell'ambito del [[ciclo di vita del software]], l'attività del programmatore, definita anche "sviluppo" o "attività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 nel programma stesso. Terminata la fase di programmazione con la produzione di un [[programma eseguibile]], quello le cui [[istruzione (informatica)|istruzioni]] sono rese direttamente eseguibili dalla macchina sotto forma di [[linguaggio macchina]], inizia la fase di [[collaudo del software|collaudo]], atta a determinare la conformità del programma alle specifiche descritte nel documento di analisi.
 
Il programmatore per l'esecuzione della propria attività si avvale di alcuni strumenti informatici 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.
 
[[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]].
 
=== Programmatore web ===
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]].
 
Il programmatore web si occupa solo del codice sorgente di un [[sito web]], quindi trascura il design e la [[Formattazione del testo|formattazione]] del codice [[HTML]], che vengono invece sviluppati da un [[web design]]er o da più figure con specifiche competenze. Un programmatore web che si occupa sia del codice che della [[grafica]] di un sito, non si chiama più tale ma prende il nome di [[webmaster]] o "Full Stack Developer".
 
=== ''Code monkey'' ===
L'espressione ''Codecode monkey'' (letteralmente, ''{{Lett|scimmia programmatrice''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 librilibrerie 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é.
Riga 30:
 
== 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 differenzedifferenza di altre professioni tradizionali, non si conoscono i tanti mestieri specifici dell'informatica.</ref>. Chi gestisce sistemi informatici, configura applicazioni, produceaggiorna 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 ==
Riga 49:
 
== Altri progetti ==
{{interprogetto|commons=Category:Programmers|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à}}