Lo '''Speedcoding''' o '''Speedcode''' è stato il primo [[linguaggio di programmazione diad alto livello]] creato per un computer IBM. [1[IBM]]. Il linguaggio fu sviluppato da [[John Backus]] nel 1953 per l'[[IBM 701]] per supportare il calcolo con [[Numero in virgola mobile|numeri in virgola mobile]]. [2] Qui ad alto livello significa simbolico e mira all'espressività del linguaggio naturale come obiettivo rispetto alla codifica orientata alle istruzioni macchina o hardware.
L'idea nacque dalla difficoltà di programmare la macchina [[IBM SSEC]] quando Backus fu assunto per calcolare le posizioni astronomiche all'inizio del 1950. [3] Il sistema di speedcoding era un interprete e focalizzato sulla facilità d'uso a scapito delle risorse di sistema. Forniva pseudo-istruzioni per funzioni matematiche comuni: logaritmi, esponenziazione e operazioni trigonometriche. Il software residente ha analizzato le pseudo-istruzioni una alla volta e ha chiamato la subroutine appropriata. Lo speedcoding è stata anche la prima implementazione di operazioni decimale di input / output. Sebbene abbia sostanzialmente ridotto lo sforzo di scrivere molti lavori, il tempo di esecuzione di un programma che è stato scritto con l'aiuto di Speedcoding era di solito da dieci a venti volte quello del codice macchina. [4] L'interprete prese 310 parole di memoria, circa il 30% della memoria disponibile su un 701.