Bilgisayarların icat edilmesiyle birlikte bir dizi komuta ihtiyaç duyuldu.İlk programlama dillerinde bilgisayarların üzerindeki bazı parçaların yerlerinin değiştirilmesi veya yeni parçalar eklenerek programlar yazılıyordu.Bilgisayarda program yazmak için devamlı bir harekete ihtiyaç vardı.İlk programcılık fizikseldi.
Daha sonra fiziksel programlamanın yerini elektrik sinyalleri aldı .Kurulan bilgisayar devrelerine elektrik sinyalleri gönderilerek yazılıyordu.Burada yüksek voltaj 1,düşük voltaj ise 0`ı ifade etmekteydi.Elektrik sinyalleri ile program yazmasıyla bugünde kullanılan makine dillinin temeli atılmış oldu.
Ancak bu şekilde program yazmak için sistemi oluşturan bütün devrelerin yeniden kurulması gerekiyordu .Bu da emek ve zaman kaybı yaratıyordu.Bunun için programlar belli kavramlar için yazılmaya başlandı.İlk başta program yazmak için sistem en baştan kurulmamalıydı,bunun yerine basit bir donanım parçasının üzerine yazılan ufak komutlar kullanılmalıydı.Daha sonra ise komutlar tek bir parça halinde değil küçük parçacıklar halinde yazılmalıydı.
Bu parçaların program içinden birçok defa kullanılması ile yordam kavramı ortaya çıktı.Bu modelin kullanılması için mantıksal karşılaştırmalar,döngülerin kullanılması ve yazılan kodların tekrar tekrar kullanıldığı için kütüphane mantığı ortaya çıkmıştır.
1956 yılında IBM tarafından geliştirilen Fortran ,makine diline yakın bir programlama dilidir.Fortran ile birlikte mantıksal karşılaştırmalar ,döngüler ve sayısal ifadeler kullanılmaya başlanmıştır.Günümüzde Fortran matematiksel ifadelerin kullanılması son derece kolay olmasından dolayı hala bilimsel ve mühendislik uygulamalarında kullanılmaktadır.
1959 yılında geliştirilen komutları İngilizceye yakın olan Cobol programlama dili ,Fortran`nın bütün özelliklerini içinde barındıran ve giriş-çıkış(I/O) özellikleri eklenerek geliştirilen bir dildir.Cobol programlama dili ticari uygulamalar için uygun bir dildir.
1964 yılında akademik ortam için Dartmount Kolejinden Kemeny ve Kurtz tarafından geliştirilen BASIC programlama dili ilk yıllarda derleyicisi bedava olmasından dolayı çok yaygın bir şekilde kullanılmıştır.Ticari ve Bilimsel uygulamalar yanında oyun yazımında da kullanılmıştır. Bugün halen geniş bir kullanım alanına sahip olan Visual Basic dili var olup bununla hatta Windows un belirli bölümleri yazılmıştır. Her Microsoft Office paketinde bir Basic turevi var olup makro programlamada büyük kolaylıklar getirmektedir.Basic programlama dili algoritma’ya çok yakın bir yapıya sahiptir. Bu yüzden öğrenilmesi ve uygulanması kolaydır.
1967 yılında İsviçreli Wirth tarafından geliştirilen Pascal programlama dili ,Fortran ve COBOL`un en iyi özellikleri alınarak geliştirilen Pascal bunun yanında hafızadaki adresler üzerinde işlem yapmaya olanak tanıyan pointer kavramını ortaya çıkarmıştır.Pascal daha çok İş ve bilim hayatında kullanılan bir dildir.
1972 yılında AT&T Bell laboratuarlarında ,Pascal`ın bütün hataları giderilerek geliştirilen C programlama dili makine dillerine çevrilmesi kolay olması ,kuvvetli giriş-çıkış işlemlerinin sağlaması gibi bir çok özelliğe sahip olan C programlama dili bu nedenden dolayı sistem yazımlarına uygun bir dildir.
1973′e kadar C yeterince güçlü bir hale gelmiş ve ilk başta PDP-11/20 assembly dili ile yazılan UNIX’in çekirdeğinin büyük kısmı C ile yeniden yazılmıştı. Böylece UNIX, çekirdeği bir assembly dili ile yazılmayan ilk işletim sistemlerinden biri olmuştu.
1978′de Ritchie ve Brian Kernighan The C Programming Language (C Programlama Dili) kitabının ilk baskısını yaptılar. C programcıları tarafından “K&R” olarak bilinen bu kitap, C dilinin gayriresmi standardı olarak kullanıldı. C’nin bu versiyonu bugün “K&R C” olarak adlandırılır. Bu kitabın ikinci baskısı ise aşağıda anlatılan ANSI C standardını içerir.
K&R C genellikle tüm C derleyicilerinin desteklemek zorunda olduğu dilin en temel kısmı olarak kabul edilir. Uzun yıllar boyunca, ANSI C’nin kabul edilişinden sonra bile, yüksek taşınabilirlik (portability) istendiğinde, K&R C, C programcıları tarafından “ortak payda” olarak kabul edilmiştir çünkü bazı derleyiciler henüz ANSI C’yi desteklemek üzere güncellenmemişlerdi ve zaten iyi yazılmış bir K&R C programı aynı zamanda ANSI C’yi de destekler.
K&R C’nin yayımlanmasını izleyen yıllar içine dile AT&T’nin derleyicilerinin ve bazı başka bilgisayar üreticileri tarafından desteklenen kimi “gayriresmi” özellikler eklendi.
ANSI C ve ISO C
1970′lerin sonunda C, en çok kullanılan mikrobilgisayar dili olarak BASIC’in önüne geçmeye başladı. 1980′lerde ise, IBM PC ile kullanılmak üzere benimsenmesiyle birlikte popülaritesi iyice artmaya başladı. Aynı zamanda, Bell Laboratuvarları’nda Bjarne Stroustrup ve iş arkadaşları C’ye nesneye yönelim eklemek üzere çalışmaya başlamışlardı. C bugün UNIX dünyasında en çok kullanılan dil olarak kalırken, Stroustrup’un geliştirip C++ adını verdiği dil Microsoft Windows işletim sisteminde en önemli dil oldu.
1983′te Amerikan Ulusal Standartlar Enstitüsü (ANSI) bir C standardı oluşturmak için bir kurul oluşturdu. Uzun ve yorucu bir çalışmadan sonra, bu kurul standardı 1989′da tamamladı ve standart ANSI X3.159-1989 “Programming Language C (C Programlama Dili)” olarak yayımlandı. Dilin bu versiyonu genellikle ANSI C olarak adlandırılır. 1990′da bu standart, küçük değişikliklerle Uluslararası Standartlar Örgütü ( ISO) tarafından da benimsenip ISO/IEC 9899:1990 olarak yayımlandı.
ANSI C’yi oluşturmanın amaçlarıdan biri K&R C’yi içeren ve dile sonradan katılan “gayriresmi” özellikleri de dile katan bir standart oluşturmaktı. Standart k fonksiyon prototiplerini ve daha yetenekli bir önişlemciyi de standarda ekledi.
Bugün artık ANSI C neredeyse tüm derleyiciler tarafından desteklenmektedir. Günümüzde yazılmakta olan C programlarının çoğunluğu ANSI C standardına uygun olarak yazılmaktadır. Yalnızca standart C kullanılarak yazılmış bir program, standarda uyumlu her derleyici ile doğru bir biçimde derlenip çalıştırılabilir. Ancak, standart olmayan kütüphaneler kullanılarak yazılmış programlar belli bir platform ya da derleyici gerektirebilirler.
C99
ANSI standartlaştırma işleminden sonra C dili uzun bir süre oldukça sabit kaldı, ancak C++ gelişmeyi sürdürdü. Buna bağlı olarak, 1990′ların sonunda ISO standardı güncellendi ve 1999′da ISO 9899:1999 olarak yayımlandı. 2000 yılının Mart’ında ise, “C99″ olarak bilinen bu standart ANSI tarafından da benimsendi.