Coding

La parola "coding" oggi ha assunto un significato molto ambiguo. In ambito scolastico si riferisce all'attività didattica svolta dai bambini con degli ambienti di programmazione semplificati, con dei linguaggi educativi come Scratch.

Invece in ambito professionale si riferisce all'attività di scrivere codice sorgente. Ma attenzione: coding e developing sono due cose diverse.

Un "coder" è un programmatore, ma nel senso più semplice: è una persona che "macina codice", che riporta in un certo linguaggio gli algoritmi immaginati da qualcun altro. Nella migliore delle ipotesi, ha un task già definito e deve risolverlo.

Invece uno sviluppatore (developer) è qualcuno che inventa soluzioni per risolvere problemi.

L’uso di “programmatore” come sinomimo di “coder” (cioè colui che si limita a codificare in qualche linguaggio un algoritmo inventato da altri) è ancora presente nelle categorizzazione del Bureau of Labor Statistics USA, in cui i Software Developers creano il programma mentre i Computer Programmers lo scrivono.

“Computer programmers write and test code that allows computer applications and software programs to function properly. They turn the program designs created by software developers and engineers into instructions that a computer can follow. In addition, programmers test newly created applications and programs to ensure that they produce the expected results. If they do not work correctly, computer programmers check the code for mistakes and fix them.”
Coder
Source: https://codersera.com/blog/where-should-top-coders-work/
Se però torniamo agli anni '50, il significato della parola “coder” era ancora più preciso: erano coders le persone che si occupavano dell’ultima delle sei fasi della programmazione secondo Neumann e Goldstine (cioè gli inventori del ENIAC):
  • (1) conceptualize the problem mathematically and physically
  • (2) select a numerical algorithm
  • (3) do a numerical analysis to determine the precision requirements and evaluate potential problems with approximation errors,
  • (4) determine scale factors so that the mathematical expressions stay within the fixed range of the computer throughout the computation,
  • (5) do the dynamic analysis to understand how the machine will execute jumps and substitutions during the course of a computation,
  • (6) do the static coding
(Fonte: Nathan Ensmenger,The Computer Boys Take Over)

In pratica, dopo aver analizzato il problema, scelto l'algoritmo, affrontato i problemi legati alla precisione matematica necessaria, immaginato il concreto processo di esecuzione (tutte fasi che spettavano agli ingegneri), veniva la fase più banale, statica: il coding. Si trattava di trasformare il programma immaginato dagli ingegneri in un formato leggibile dal computer (per esempio, per essere trasferito su un supporto come le schede perforate).

Ma emerge allora un fatto non previsto: chi conosce sia la macchina che il programma è spesso nella posizione migliore per individuare errori e suggerire correzioni; che è esattamente quello che fanno le sei ENIAC girls, inventando letteralmente una professione: non semplicemente dattilografe, non solo traduttrici, ma creatrici di codice sorgente.

ACM
Source: https://women.acm.org

Prossimo pannello:  ENIAC_girls



Versione: 02/02/2022 - 09:00:18

Parole: 299

Pannelli

Genere                      
Programmatrici nel mondo    
Pregiudizi                  
Intelligenza delle donne    
Coding                      
ENIAC_girls                 
Un lavoro da donne          
Le donne sotto i riflettori 
Le donne in ombra           
Spostamento di valori       
Associazioni                
I movimenti                 
🔎