Yazılımın tarihi

Yazılım, işlemci tarafından yürütülmek üzere programlanmış dijital bilgisayarların belleğinde saklanan bir dizi programlanmış talimattır. Yazılım insanlık tarihinde yeni bir gelişmedir ve Bilişim Çağının temelini oluşturur.

Ada Lovelace'in 19. yüzyılda Charles Babbage'ın Analitik Motoru için hazırladığı programlar genellikle disiplinin kurucusu olarak kabul edilir. Ancak Lovelace ve Babbage'nin zamanının teknolojisinin bilgisayarını yapmak için yetersiz kalması nedeniyle matematikçinin çabaları yalnızca teorik olarak kaldı. Alan Turing, 1935 yılında yazılım için bir teori geliştiren ilk kişi olarak kabul edilir ve bu teori, bilgisayar bilimi ve yazılım mühendisliği olmak üzere iki akademik alanın oluşmasına yol açar.

1940'ların sonlarında, ilk depolanmış programlı dijital bilgisayarlara yönelik ilk nesil yazılımın talimatları, genellikle Anaçatı bilgisayarları için yazılan, doğrudan ikili kodla yazılmıştı. Daha sonra, ev bilgisayarının ilerlemesinin yanı sıra modern programlama dillerinin geliştirilmesi, Assembly dilinden başlayarak ve işlevsel programlama ve nesne yönelimli programlama paradigmalarıyla devam ederek mevcut yazılımların kapsamını ve kapsamını büyük ölçüde genişletecektir.

 Depolanan programlı dijital bilgisayarlardan önce 

 Bilgisayar biliminin kökenleri 
Bir kavram olarak hesaplamanın kökeni abaküs, Antikythera mekanizması, usturlaplar, Mekanik Astronomik saatler ve Mekanik Hesap Makineleri gibi cihazlarla çok eskilere dayanmaktadır. Antikythera mekanizması oldukça karmaşık bir antik mekanik Astronomik cihazın örneğidir.

Ancak bu cihazlar tamamen donanımdan oluşuyordu ve herhangi bir yazılıma sahip değillerdi; bilgi işlem güçleri doğrudan kendi özel biçimlerine ve mühendisliklerine bağlıydı.

Yazılım, genel amaçlı bir işlemci kavramının (şu anda Turing makinesi olarak tanımlanan) yanı sıra, programları içeren yeniden kullanılabilir rutinler ve matematiksel işlevlerin ayrı ayrı saklanabileceği, başlatılabileceği ve durdurulabileceği ve yalnızca insanlık tarihinde yakın zamanda ortaya çıktığı bilgisayar belleğini gerektirir.

Bilinen ilk bilgisayar algoritması 19. yüzyılda Ada Lovelace tarafından Analitik Motor için, Luigi Menabrea'nın Bernoulli sayıları üzerine çalışmasını makine eğitimi için tercüme etmek üzere yazılmıştır.  Ancak bu yalnızca teorik olarak kaldı; bu iki matematikçinin yaşamı boyunca mühendisliğin Analitik Motoru oluşturmak için daha düşük düzeyde olması yetersiz kaldı.

İlk modern yazılım teorisi Alan Turing tarafından 1935 tarihli Entscheidungsproblem (karar problemi) uygulamasıyla Hesaplanabilir sayılar adlı makalesinde ortaya atıldı.

Bu, sonuçta hem yazılımı hem de yazılımın yaratılmasını inceleyen bilgisayar bilimi ve yazılım mühendisliği gibi ikiz akademik alanların yaratılmasına yol açtı. Bilgisayar bilimi daha teoriktir (Turing'in makalesi bilgisayar biliminin bir örneğidir), oysa yazılım mühendisliği daha pratik konulara odaklanır.

Ancak 1946'dan önce, şimdi anladığımız şekliyle yazılımsaklanan program dijital bilgisayarların hafızasında saklanan programlarhenüz mevcut değildi. İlk elektronik bilgi işlem cihazları, onları "yeniden programlamak" için yeniden kablolandı. İlk elektronik bilgisayarlardan biri olan ENIAC, büyük ölçüde daha önce insan bilgisayarı olarak çalışan kadınlar tarafından programlandı.   Mühendisler programcılara ENIAC kablolarının planlarını veriyor ve onlardan makineyi nasıl programlayacaklarını bulmalarını bekliyorlardı.  Programcı olarak çalışan kadınlar, gösteriler için bağlantı panellerini birbirine bağlayarak ENIAC'ı ilk halka açık tanıtım için hazırladılar.   Kathleen Booth, 1950 yılında Birkbeck Koleji'nde üzerinde çalıştığı bilgisayarların programlanmasını kolaylaştırmak için Assembly Dilini geliştirdi.
küçükresim|Grace Hopper ve UNIVAC
Grace Hopper, Harvard Mark I'in ilk programcılarından biri olarak çalıştı.  Daha sonra bilgisayar için 500 sayfalık bir kılavuz hazırladı.  Hopper, Mark II'de arızaya neden olan bir güve (bug) bulduğunda çoğu zaman yanlışlıkla "hata" (bug) ve "hata ayıklama"(debugging) terimlerini icat ettiğine inanılır;  ancak bu terim aslında güveyi bulduğunda zaten kullanılıyordu.  Hopper ilk derleyiciyi geliştirdi ve fikrini 1950'lerde Mark bilgisayarları üzerinde çalışmaktan UNIVAC üzerinde çalışmaya taşıdı.  Hopper ayrıca UNIVAC'ı programlamak için FLOW-MATIC programlama dilini geliştirdi.  Yine UNIVAC'ta çalışan Frances E. Holberton bir kod geliştirdi , C-10, programcıların klavye girişlerini kullanmasına izin verdi ve 1951'de Sıralama-Birleştirme Oluşturucuyu yarattı.   Adele Mildred Koss ve Hopper da bir rapor oluşturucunun öncüsünü yarattılar. 

 Bilgisayar yazılımının ilk günleri (1948–1979) 
Claude Shannon (1916–2001), "Bir Matematiksel İletişim Teorisi"(A Mathematical Theory of Communication) adlı makalesinde, bir bilgisayarı programlamak için ikili mantığın nasıl uygulanabileceğine dair bir taslak sundu. Daha sonra ilk bilgisayar programcıları, bilgisayarlara çeşitli görevleri yerine getirme talimatı vermek için ikili kod kullandılar. Ancak süreç oldukça zorluydu. Bilgisayar programcıları, bilgisayara ne tür verileri saklaması gerektiğini söylemek için uzun ikili kod dizileri sağlamak zorundaydı. Kod ve verilerin, anahtarların kaydırılması veya kartlarda önceden tanımlanmış konumlara delikler açılması ve bu delikli kartların bir bilgisayara yüklenmesi gibi çeşitli sıkıcı mekanizmalar kullanılarak bilgisayarlara yüklenmesi gerekiyordu. Bu tür yöntemlerde eğer bir hata yapılırsa tüm programın baştan yüklenmesi gerekebilir.

Program depolanan bir bilgisayarın elektronik hafızasında bir yazılım parçasını tuttuğu ve bunu başarılı bir şekilde çalıştırdığı ilk sefer, 21 Haziran 1948'de Manchester Üniversitesi'nde Manchester Baby bilgisayarında saat 11:00'dı. Tom Kilburn tarafından yazılmıştır ve 2^18 = 262,144 tam sayısının en yüksek faktörünü hesaplamıştır. Büyük bir deneme böleni ile başlayarak 262.144 sayısını tekrarlı çıkarma işlemiyle böldü ve kalanın sıfır olup olmadığını kontrol etti. Değilse, deneme bölenini bir azalttı ve işlemi tekrarladı. Google, Manchester Baby'yi "yazılımın doğuşu" olarak kutlayan bir anma töreni yayınladı.

FORTRAN, 1950'lerde IBM'de John Backus liderliğindeki bir ekip tarafından geliştirildi. İlk derleyici 1957'de piyasaya sürüldü. Dil, bilimsel ve teknik hesaplamalar için o kadar popüler oldu ki, 1963 yılına gelindiğinde tüm büyük üreticiler bilgisayarları için FORTRAN'ı uygulamaya koydu veya duyurdu.Jean E. Sammet (1969). Programming Languages: History and Fundamentals, Prentice Hall, Englewood Cliffs, New Jersey.R.W. Bemer (1969). A politico-social history of Algol, Annual Review in Automatic Programming, pp 151-237. Pergamon Press, Oxford.

COBOL ilk kez 1959'da Mary K. Hawes'in işletmeler arasında paylaşılacak bir bilgisayar dilinin nasıl oluşturulacağını tartışmak üzere (Grace Hopper'ın da dahil olduğu) bir toplantı düzenlediğinde ortaya çıktı.  Hopper'ın COBOL ile yaptığı yenilik, programlama yazmanın yeni bir sembolik yolunu geliştirmekti.  Programlaması kendi kendini belgeliyordu.  Betty Holberton,  yılında Devlet Matbaasına sunulan dilin düzenlenmesine yardımcı oldu. FORMAC, 1960'lı yıllarda Jean E. Sammet tarafından geliştirildi.  Programlama Dilleri: Tarih ve Temeller (Programming Languages: History and Fundamentals) (1969) adlı kitabı etkili bir metin haline geldi.  

 Apollo Projesi 

küçükresim|Margaret Hamilton, kendisinin ve ekibinin Apollo görevi bilgisayarları için yazdığı bir kod yığınının yanında.
Apollon'un Ay Görevi, iniş modüllerindeki bilgisayarları programlayacak yazılıma dayanıyordu. Bilgisayarlar "Basic" adı verilen bir dille programlandı (Dartmouth'ta aynı dönemde geliştirilen BASIC programlama diliyle hiçbir ilişkisi yoktur).  Yazılımın ayrıca bir dizi rutinden oluşan bir yorumlayıcısı ve hangi programların ne zaman çalıştırılacağını belirleyen bir yönetici (günümüz işletim sistemi gibi) vardı.  Her ikisi de Hal Laning tarafından tasarlandı.  Daha önce ABD SAGE hava savunma sistemi üzerinde çalışırken yazılım güvenilirliği sorunlarıyla ilgilenen Margaret Hamilton da Apollo yazılım ekibinin bir parçasıydı. Hamilton, Apollo bilgisayarlarının yerleşik uçuş yazılımından sorumluydu. Hamilton, yazılım operasyonlarının sadece makinenin bir parçası olmadığını, aynı zamanda yazılımı çalıştıran insanlarla da karmaşık bir şekilde ilgili olduğunu düşünüyordu.  Hamilton ayrıca NASA'da çalışırken "yazılım mühendisliği" terimini de icat etti.

Apollo görevlerindeki bilgisayarların gerçek "yazılımı", manyetik çekirdeklerden geçirilen tellerden oluşuyordu.  Telin manyetik çekirdekten geçtiği yer "1"i, telin çekirdeğin etrafından dolaştığı yer ise "0"ı temsil ediyordu.  Her çekirdek 64 bit bilgi depoladı.  Hamilton ve diğerleri, yazılımı delikli kartlara delikler açarak oluşturacaklardı; bunlar daha sonra yazılımın simüle edilebileceği bir Honeywell ana bilgisayarında işlenecekti. Kod "sağlam" olduğunda, "Küçük Yaşlı Hanımlar" olarak bilinen kadınların teller üzerinde çalıştığı Raytheon'daki manyetik çekirdeklere dokunmak üzere gönderildi. Programın kendisi "yok edilemezdi" ve Apollo 12'nin başına gelen yıldırım çarpmalarına bile dayanabiliyordu.  Bilgisayarların kablo bağlantılarının yapılması birkaç hafta sürdü ve bu süre zarfında yazılım geliştirme dondu. 

Hamilton, programlamayı test etmek için simülatörleri kullanırken, kodun kullanımı sırasında insan hataları yapıldığında tehlikeli hatalar üretebileceğinin yollarını keşfetti. NASA, astronotların eğitimleri nedeniyle hata yapmayacağına inanıyordu.  Hamilton'un sistem çökmesine yol açacak hataları önlemek için kod programlamasına izin verilmedi, bu nedenle program belgelerine koda açıklama ekledi. Hata kontrol kodu ekleme fikirleri "aşırı" olduğu gerekçesiyle reddedildi. Bununla birlikte, Hamilton'ın tam olarak olacağını tahmin ettiği şey, Apollo 8 uçuşunda gerçekleşti; insan hatası, bilgisayarın tüm navigasyon verilerini silmesine neden oldu.

 Yazılımın donanımla paketlenmesi ve yasal sorunları 
Daha sonra yazılım, Data General, Digital Equipment ve IBM gibi orijinal ekipman üreticileri (OEM'ler) tarafından donanımla birlikte paketlenerek birden fazla müşteriye satıldı. Bir müşteri, o zamanlar piyasadaki en küçük bilgisayar olan bir mini bilgisayar satın aldığında, bilgisayar önceden yüklenmiş yazılımla birlikte gelmiyordu, ancak OEM tarafından istihdam edilen mühendisler tarafından kurulması gerekiyordu.

Bu paket, 1969'da uygunsuz "bağlama" nedeniyle IBM'e dava açan ABD'li antitröst düzenleyicilerinin dikkatini çekti ve bunun bir antitröst ihlali olduğunu, yazılımını edinmek isteyen müşterilerin bunu yapmak için donanımını da satın alması veya kiralaması gerektiğini iddia etti. Ancak dava, ABD Adalet Bakanlığı tarafından uzun yıllar süren yıpratmanın ardından "haksız" olduğu sonucuna varılarak düşürüldü.

Data General aynı zamanda paketlemeyle ilgili yasal sorunlarla da karşılaştıancak bu durumda bu, olası bir rakibin açtığı hukuk davasından kaynaklanıyordu. Data General, Data General Nova'yı tanıttığında Digidyne adlı bir şirket, RDOS işletim sistemini kendi donanım klonunda kullanmak istiyordu. Data General, yazılımlarının lisansını vermeyi reddetti ve "paketleme haklarını" talep etti. ABD Yüksek Mahkemesi, 1985 yılında 9. devre temyiz mahkemesi kararının davaya bakılmasına izin vererek Digidyne v. Data General adında bir emsal oluşturdu ve Data General, lisansın yalnızca DG donanımının yasa dışı bağlama düzenlemesi ile sınırlandırılmasına karar verildiği için sonunda işletim sistemini lisanslamak zorunda kaldı. Bölge Mahkemesi, "hiçbir makul jüri üyesinin, çok daha büyük rakiplerin bulunduğu bu büyük ve dinamik pazarda, Data General'ın "yasadışı bir bağlantı düzenlemesi yoluyla ticareti kısıtlama pazar gücüne sahip olduğunu" tespit etmesine rağmen işletme Temyizde sistemin donanıma yönelik olarak yasa dışı olduğuna hükmedildi.

2008 yılında Psystar Corporation'a, OS X'in önceden yüklendiği yetkisiz Macintosh klonlarını dağıttığı için Apple Inc. tarafından dava açıldı ve karşı dava açıldı. Karşı davadaki argümanlardan biri - Data General davasına atıfta bulunarak - Apple'ın, işletim sistemini yasa dışı bir şekilde Apple bilgisayarlara bağlayarak OS X uyumlu bilgisayarlar pazarında hakimiyet kurmasıydı. Bölge Mahkemesi Hakimi William Alsup, Bölge Mahkemesinin 20 yıl önce Data General davasında verdiği karara göre, ilgili pazarın yalnızca tek bir işletim sistemi (Mac OS) değil, Mac OS dahil tüm PC işletim sistemleri olduğunu söyleyerek bu iddiayı reddetti. ve Mac OS'nin bu daha geniş pazarda hakim bir konuma sahip olmadığını belirtti. Alsup'un kararında ayrıca, telif hakkıyla korunan ürünlerin bağlanmasının her zaman yasa dışı olduğuna ilişkin şaşırtıcı Data General emsalinin, Illinois Tool Works Inc. - Independent Ink, Inc. davasındaki karar tarafından "örtük olarak reddedildiği" de belirtildi.

 Paketlenmiş yazılım (1960'ların sonlarından günümüze) 

Bağımsız olarak paketlenmiş yazılımlar (ne bireysel bir müşteri için "tek seferlik" olarak üretilen ne de bilgisayar donanımıyla "paketlenmiş" yazılımlar) üreten bir endüstri, 1960'ların sonlarında gelişmeye başladı.

 Unix (1970'ler – günümüz) 

Unix, popüler ve çok etkili hale gelen ve bugün hala var olan ilk işletim sistemiydi. Günümüzde Unix'in en popüler çeşidi macOS'tur (daha önce OS X ve Mac OS X olarak adlandırılıyordu), Linux ise Unix ile yakından ilişkilidir.

 Mikrobilgisayarların yükselişi 
Ocak 1975'te MITS, Altair 8800 mikrobilgisayar kitini posta siparişi ile satmaya başladı. Microsoft, aynı yılın sonlarında ilk ürünü Altair BASIC'i piyasaya sürdü ve amatörler bu kitler üzerinde çalışacak programlar geliştirmeye başladı. Tiny BASIC, Dr. Dobb's Journal'da yazı tipi program olarak yayınlandı ve işbirliğiyle geliştirildi.

Örneğin 1976'da Peter R. Jennings, MOS Technology'nin KIM-1 kiti için kendi Microchess programını yarattı ancak bu program bir teyp sürücüsüyle gelmediğinden, kaynak kodunu küçük bir kitapçık halinde postayla sipariş müşterilerine gönderiyordu ve tüm programı elle yazmaları gerekecekti. 1978'de Kathe ve Dan Spracklen Sargon (satranç) programlarının kaynağını bir bilgisayar dergisinde yayınladılar. Jennings daha sonra kağıt bant ve sonunda üzerinde programın bulunduğu kompakt kasetler satmaya başladı.

Bir bilgisayar dergisinden kaynak kodunu yazmak zahmetli ve yavaş bir süreçti ve tek bir yanlış yazılmışya da daha kötüsü, yanlış basılmışkarakter programı çalışmaz hale getirebilirdi, ancak insanlar yine de bunu yapıyordu. (Teorik olarak listeleri elle yazıya dökmek yerine taramak için kullanılabilecek optik karakter tanıma teknolojisi henüz geniş kullanımda değildi.)

1980'lerde ticari yazılım dağıtımı için kartuşların ve kasetlerin yaygınlaşmasına rağmen, ücretsiz programlar (programlama tekniklerini öğretmek amacıyla basit eğitim programları gibi) hâlâ sıklıkla basılıyordu çünkü kasetleri dergilere yapıştırmaktan daha ucuzdu.

Bununla birlikte, sonunda dört faktörün birleşimi, bilgisayar dergilerindeki tüm programların tam kaynak kodu listelerinin basılması uygulamasına son verdi:

 programlar çok büyük olmaya başladı
 Disketler yazılım dağıtmak için kullanılmaya başlandı ve daha sonra fiyatları düştü
 sıradan insanlar bilgisayar kullanmaya başladıve bir programı çalıştırmanın basit bir yolunu istiyordu
 bilgisayar dergileri, üzerinde yazılımın ücretsiz veya deneme sürümlerinin bulunduğu kasetler veya disketler içermeye başladı

Çok hızlı bir şekilde ticari yazılımlar korsanlaşmaya başladı ve ticari yazılım üreticileri bu durumdan oldukça rahatsız oldu. Microsoft'un kurucu ortağı Bill Gates, 1976'daki ünlü Open Letter to Hobbyists adlı açık mektubuyla yazılım korsanlığına karşı ilk ahlakçılardan biriydi.

 1980'ler – günümüz 

Mikrobilgisayardan önce, başarılı bir yazılım programı genellikle her biri 50.000-60.000 ABD dolarından 1.000 adede kadar satılıyordu. 1980'lerin ortalarına gelindiğinde, kişisel bilgisayar yazılımlarının her biri 50-700 dolara binlerce kopya satıldı. Microsoft, MicroPro ve Lotus Development gibi şirketlerin yıllık satışları on milyonlarca dolardı. Benzer şekilde, zaten başarılı olan ürünlerin yerelleştirilmiş versiyonlarıyla Avrupa pazarına da hakim oldular.

Bilgi işlem tarihinde çok önemli bir an, 1980'lerde IBM çalışanı Philip Don Estridge tarafından yayınlanan IBM PC spesifikasyonlarının yayınlanmasıydı; bu, PC'nin dünya çapındaki masaüstü ve daha sonra dizüstü bilgisayar pazarlarında hızla hakim olmasına yol açtı.günümüze kadar devam eden bir hakimiyettir. Microsoft, PC için ilk işletim sistemini (MS-DOS) geliştirmek üzere IBM ile başarılı bir şekilde pazarlık yaparak, MS-DOS ve onun eklenti-ardılı olan Microsoft Windows halefinin başarısı aracılığıyla, sonraki yıllarda PC'nin başarısından büyük kazanç elde etti. . Müzakereyi kazanmak Microsoft'un tarihinde çok önemli bir andı.

 Özgür ve açık kaynaklı yazılım 

 Son gelişmeler 

 Uygulama mağazaları 

Mobil cihazlara (cep telefonları ve tabletler) yönelik uygulamalara son yıllarda "uygulamalar" (app) adı verilmektedir. Apple, iPhone ve iPad uygulama satışlarını App Store aracılığıyla aktarmayı ve dolayısıyla her iki uygulamayı da incelemeyi ve satılan her ücretli uygulamadan pay almayı seçti. Apple, uygulama mağazasını atlatmak için kullanılabilecek uygulamalara (örn. Java veya Flash sanal makineleri gibi sanal makineler) izin vermez.

Android platformu ise bunun aksine birden fazla uygulama mağazasına sahiptir ve kullanıcılar genellikle hangisini kullanacaklarını seçebilirler (her ne kadar Google Play uyumlu veya root erişimli bir cihaz gerektirse de).

Bu hamle, GNOME Software (Linux için), Mac App Store (macOS için) ve Windows Mağazası (Windows için) içeren masaüstü işletim sistemleri için kopyalandı. Bu platformların tümü, her zaman olduğu gibi, münhasır değildir: Uygulamaların uygulama mağazasının dışından ve aslında diğer uygulama mağazalarından yüklenmesine olanak tanırlar.

Özellikle iPhone ve aynı zamanda Android için uygulamaların popülaritesindeki büyük artış, bazı umutlu programcıların zengin olma umuduyla uygulamalar oluşturmaya önemli miktarda zaman ayırmasıyla bir tür "altına hücuma" yol açtı. Gerçek altına hücumda olduğu gibi bu umutlu girişimcilerin hepsi başarılı olmadı.

 Yazılım geliştirmenin resmileştirilmesi 
Bilgisayar bilimlerinde müfredatın geliştirilmesi, yazılım geliştirmede gelişmelere yol açmıştır. Bu müfredatın bileşenleri şunları içerir:

 Yapılandırılmış ve Nesneye Yönelik programlama Booch, Grady (1997). Object-Oriented Analysis and Design with Applications. Addison-Wesley.
 Veri yapıları Peter Brass. (2008) Advanced Data Structures, Cambridge University Press
 Algoritmaların Analizi Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. & Stein, Clifford. (2001) Introduction to Algorithms, MIT Press and McGraw-Hill.
 Biçimsel diller Hopcroft, John E. and Jeffrey D. Ullman, (1979) Introduction to Automata Theory, Languages, and Computation ve derleyici yapısı Aho, Alfred V., Sethi, Ravi, and Ullman, Jeffrey D. (1988). Compilers: Principles, Techniques, and Tools. Addison-Wesley.
 Bilgisayar Grafik Algoritmaları Shirley, Peter. (2009) Fundamentals of Computer Graphics3rd edition
 Sıralama ve Arama Knuth, Donald. (1998) The Art of Computer Programming: Volume 3: Sorting and Searching
 Sayısal Yöntemler,Press, William H., Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery. (2007) Numerical Recipes 3rd Edition: The Art of Scientific Computing Optimizasyon ve İstatistik Baron, Michael. (2006) Probability and Statistics for Computer Scientists
 Yapay Zeka Russell, Stuart J. and Peter Norvig (2009) Artificial Intelligence: A Modern Approach (3rd Edition) ve Makine Öğrenimi Mitchell, Tom. (1997) Machine Learning.

 Yazılım donanımı nasıl etkiledi? 
Giderek daha fazla program aygıt yazılımı alanına girdikçe ve donanımın kendisi Moore yasasının öngördüğü gibi daha küçük, daha ucuz ve daha hızlı hale geldikçe, ilk olarak yazılım tarafından gerçekleştirilen artan sayıda bilgi işlem işlevsellik türü, donanımın saflarına katıldı. örneğin grafik işlem birimleriyle. (Ancak bazen maliyet veya diğer nedenlerden dolayı değişiklik ters yönde olmuştur; örneğin softmodemler ve mikrokodlarda olduğu gibi.)

Günümüzde çoğu donanım şirketinin maaş bordrosunda donanım tasarımcılarından daha fazla yazılım programcısı var, çünkü yazılım araçları baskılı devre kartı (PCB) mühendislerinin birçok görevini otomatik hale getirmiştir.

 Bilgisayar yazılımı ve programlama dili zaman çizelgesi 
Aşağıdaki tablolar, bilgisayar yazılımının birçok farklı yönünün yıldan yıla gelişimini içermektedir:

 Yüksek seviyeli diller Aaby, Anthony (2004). Introduction to Programming LanguagesWexelblat, Richard L. History of Programming Languages

 İşletim sistemleri Stallings (2005). Operating Systems, Internals and Design Principles. Pearson

 Ağ yazılımı ve uygulamaları Kurose, James; Ross, Keith (2005). Computer Networking: A Top-Down Approach. Pearson.

 Bilgisayar grafik donanımı, algoritmaları ve uygulamaları Wayne Carlson (2003) A Critical History of Computer Graphics and AnimationFerguson, R. Stuart. (2013) Practical Algorithms for 3D Computer Graphics

 Hesap tablosu

 Kelime işlemci

 Bilgisayar destekli tasarım Narayan, K. Lalit (2008). Computer Aided Design and Manufacturing. Prentice Hall

 1971–1974 
 1971 1972 1973 1974 Programlama dili CDL<br /> KRL<br /> SUE C<br /> INTERCAL<br /> PL/M<br /> Prolog<br /> Smalltalk<br /> SQL COMAL<br /> LIS<br /> ML<br /> Speakeasy-3 BASIC FOUR<br /> CLU<br /> GRASS<br /> PROSE İşletim sistemi DEC RSTS-11 Veri Genel<br /> RDOS Soviet ALGOL 68 DEC DOS-11 Bilgisayar ağı Wozniak'ın Mavi kutusu Bob Metcalfe gelişiyor<br /> ethernet Bilgisayar grafiği Newell ve Sancha görünür durumda<br id="mwAhQ"><br><br><br><br /> yüzey algoritması Catmull ve Straber<br id="mwAhg"><br><br><br><br /> z-tampon geliştir CAD/CAM MCS kuruldu ADAM Auto-Draft Tektronix 4014

 1975–1978 
 1975 1976 1977 1978 Programlama Dili ABC<br /> Altair BASIC<br /> CS-4<br /> Modula<br /> Scheme Mesa<br /> Plus<br /> Ratfor<br /> S<br /> SAM76<br /> SAS<br /> Smalltalk -76 Blue<br /> Bourne Shell<br /> Commodore BASIC<br /> FP<br /> Icon<br /> IDL<br /> Red<br /> Standart MUMPS<br /> Yellow<br /> IDL C shell<br /> HAL/S<br /> MATLAB<br /> RPG III<br /> SMALL<br /> VisiCalc<br /> SQL İşletim sistemi CP/M Cambridge CAP 1BSD 2BSD<br /> AppleDOS Bilgisayar ağı Telenet paketi<br /> anahtarlama  Bilgisayar grafiği EDS kuruldu Kenar yumuşatma Kelime işlemci ElectricPencil AppleWriter CAD/CAM Katı modelleme McDonnell Douglas<br /> Unigraphics'i satın aldı CATIA'nın öncüsü Raster grafik ekranı

 1979–1982 
 1979 1980 1981 1982 Programlama dili AWK<br /> Icon<br /> Modula-2<br /> REXX<br /> Vulcan dBase -II Ada 80<br /> C with classes<br /> CBASIC BBC BASIC<br /> IBM BASICA Draco<br /> PostScript<br /> Speakeasy -IV İşletim sistemi AtariDOS 86-DOS MSDOS 1<br /> Acorn MOS Commodore DOS Bilgisayar ağı Usenet TCP/IP Bilgisayar grafiği Silikon Grafikler<br /> kurulan Kelime işlemci Kelime yıldızı KelimeMükemmel<br /> DG Mini için Banka Caddesi<br /> AppleWriter II WordStar 3.0<br /> DOS için WordPerfect E-tablo VisiCalc Nilüfer 1-2-3 CAD/CAM IGES VersaCAD Dassault Sistemleri Autodesk kuruldu

 1983–1986 
1983198419851986Programlama diliABAPAda 83 C++GW-BASICKorn ShellObjective-CoccamTrue BASICTurbo PascalCLIPPERCommon Lisp Good Old MAD (GOM)OPLRedcodeRPLStandard MLMatlabFramework FREDParadoxQuickBASICFramework II FREDCorVisionEiffelGFA BASICInformix-4GLLabVIEWMirandaObject PascalPROMALİşletim sistemiMS-DOS 2Lisa OfficeSunOS 1MS-DOS 3System SoftwareWindows 1.0Atari TOSAmigaOSAIX 1Bilgisayar ağıARPANET splits off MILNETNovell NetWareResearch In Motion foundedNSFNET connects5 SupercomputersBilgisayar grafiğiATI foundedIntel 82786coprocessorKelime işlemciWord 1 for DOSWord 1 for MacWordPerfect 4.2for DOSHesap tablosuExcel for MacCAD/CAMAutodesk releasesAutoCAD 1.2,1.3,1.4AutoCAD 2Bentley SystemsParametric TechnologyAutoLISP

 1987–1990 
1987198819891990Programlama diliAda ISO 8652CleanErlangHyperTalkMathematicaOberonoccam 2PerlSelfTurbo BasicA+Hamilton C shellObject REXXOctaveRPG/400SPARKSTOS BASICTclMathematicaFramework III FREDBashLPCModula-3PowerBASICTurbo Pascal OOPVisSimFLAMOS BASICAMPLEuLispHaskellJObject OberonZ Shellİşletim sistemiWindows 2.0MS-DOS 4Windows 2.1xOS/2A/UXEPCOWindows 3.0Bilgisayar ağıMorris wormWorld Wide WebbaşladıHTMLBilgisayar grafiğiJPEG ve GIFPixar's Tin Toywins OscarAutoDesk 3D StudioKelime işlemciMicrosoft Works for DOSPC Magazine Reviews55 PackagesWordPerfect 5.1Word for WindowsMicrosoft Office for WindowsHesap tablosuExcel for WindowsQuattro ProCAD/CAMDeneba,Canvas XveAutoCAD 9'u yayınladıCATIA 3AutoCAD 10Parametric T-FlexVisionary Design Systems,AutoCAD 11 veACIS 1'i kurdu

 1991–1994 
 1991 1992 1993 1994 Programlama dili GNU-E<br /> Oberon-2<br /> Oz<br /> Q<br /> Visual Basic<br /> Python<br /> Framework IV FRED Turbo Pascal<br /> Dylan Ruby<br /> AppleScript<br /> Brainfuck<br /> K<br /> Lua<br /> NewtonScript<br /> R<br /> Transcript<br /> Self<br /> ZPL CLOS<br /> ANS Forth<br /> ANSI Common Lisp<br /> Claire<br /> Pike<br /> RAPID İşletim sistemi MSDOS 5<br /> Linux Windows 3.1x<br /> 386BSD MSDOS 6<br /> Newton OS<br /> Solaris AIX4.0, 4.1 Bilgisayar ağı Mosaic Web tarayıcısı NetWare 4 Netscape Navigator Bilgisayar grafiği OpenGL Nvidia kuruldu Kelime işlemci Microsoft Works Novell, WordPerfect'i satın aldı CAD/CAM EDS<br /> Unigraphics'i satın aldı CADAM ve CATIA<br /> birleşmeye başladı AutoCAD12 Basit Vektör<br /> Format

 1995–1998 
1995199619971998Programlama diliAda 95ColdFusionDelphiJavaJavaScriptLiveScriptPHPRubyCurlLassoNetRexxOCamlPerl Data LanguageWebDNAComponent PascalEECMAScriptF-ScriptISLISPPicoREBOLSqueak SmalltalkTeaRebolM2001Open Source ErlangPiktPureBasicREALbasicStandard C++UnrealScriptİşletim sistemiWindows 95Digital UNIXWindows NT 4.0Palm OSInfernoMac OS 7.6Mac OS 8Windows 98Solaris 7 64-bitBilgisayar ağıGoogle için araştırma teklifi verildi.Mosaic web tarayıcısıInter@ctive PagerNetWare 4Netscape NavigatorBilgisayar grafiğiPixar,Toy Story'den sonra halka arz edildi3Dfx VoodooATI Rage ProVoodoo BansheeKelime işlemciWord 95 for WindowsCorel Novell'den WordPerfect'i satın alır.CAD/CAMMicroStation Advancedsolid modelingCanvas 5ISO 13567AutoCAD 14Dassault Systems,Matra Datavision products'u satın aldı

 1999–2002 
 1999 2000 2001 2002 Programlama dili D<br /> GameMaker Language<br /> Harbour<br /> XSLT ActionScript<br /> C#<br /> Ferite<br /> Join Java<br /> Joy<br /> XL<br /> Visual Basic . NET  AspectJ<br /> GDScript<br /> Processing<br /> RPG IV Gosu<br /> Io İşletim sistemi Mac OS X Server 1.0<br /> MacOS 9 Windows 2000<br /> Windows ME<br /> Mac OS X Public Beta v10.0 Cheetah<br /> v10.1 Puma<br /> Windows XP Windows XP 64-bit Edition<br /> 10.2 Jaguar Bilgisayar ağı BlackBerry 850 NetWare 4 Netscape Navigator Bilgisayar grafiği S3 Savage 4<br /> Geforce 256 Radeon DDR (R100 ) Nvidia Kyro II<br /> GeForce3 Kelime işlemci Sun, Star Division'ı satın aldı  CAD/CAM Pro/Engineer 2000 AutoCAD 2000 EDS, SDRC'yi satın aldı Unigrafik NX<br /> Autodesk Revit'i satın aldı

 2003–2006 
 2003 2004 2005 2006 Programlama dili Factor<br /> Nemerle<br /> Scala<br /> Squirrel Alma-0<br /> Boo<br /> FreeBASIC<br /> Groovy<br /> Little b<br /> Subtext Ada 2005<br /> F#<br /> Seed7 Cobra<br /> Links<br /> OptimJ<br /> Windows PowerShell İşletim sistemi v10.3 Panther<br /> Red Hat<br /> Enterprise Linux<br /> Windows Server 2003 v10.4 Tiger<br /> Ubuntu 5<br /> Windows XP Professional x64 Edition Bilgisayar ağı 802.11g<br /> Apple Safari Gmail<br /> Facebook kuruldu<br /> Mozilla Firefox BlackBerry Pearl 8100

 2007–2010 
 2007 2008 2009 2010 Programlama dili Clojure<br /> Fantom<br /> Fortress<br /> LOLCODE<br /> Oberon-07<br /> Vala Genie<br /> Pure CoffeeScript<br /> Go<br /> Idris<br /> Parasail Chapel<br /> RPG Open Access<br /> Rust İşletim sistemi Windows Vista<br /> v10.5 Leopard<br /> Android Windows 7<br /> v10.6 Snow Leopard<br /> Android 1.5 "Cupcake"<br /> Android 1.6 "Donut"<br /> Android 2.0–2.1 "Eclair" Android 2.2 "Froyo"<br /> Android 2.3 "Gingerbread" Bilgisayar ağı Google Chrome<br /> Chromium Wi-Fi 802.11n Bilgisayar grafiği Assassin's Creed Yukarı Cloth Simulation Avatar <br /> "En iyi görüntü"'yü kazanır. Kelime işlemci Oracle, Sun'dan OpenOffice'i satın aldı. Oracle, OpenOffice'i Apache Yazılım Vakfı'na devretti.<br />  CAD/CAM Siemens, UGS'yi satın aldı 

 2011–2014 
 2011 2012 2013 2014 Programlama dili Dart Ada 2012<br /> Elixir<br /> Julia<br /> TypeScript
CryEngine#CryEngine 3 (BeamNG.drive ) Xojo Hack<br /> Swift İşletim sistemi v10.7 Lion<br /> Android 3.x "Honeycomb"<br /> Android 4.0 "Ice Cream Sandwich" Windows 8<br /> v10.8 Mountain Lion<br /> Android 4.1.x–4.2.x "Jelly Bean" v10.9 Mavericks<br /> Windows 8.1<br /> Android 4.3 "Jelly Bean"<br /> Android 4.4 "KitKat" v10.10 Yosemite<br /> Android 5.0 "Lolipop" Bilgisayar ağı 802.11ac Bilgisayar grafiği Hugo Oscar'ı kazandı<br /> Görsel efektler CryEngine3 ve 3 boyutlu yumuşak vücut fiziği

 Ayrıca bakınız 

 Adli bilişim mühendisliği
 Bilgi işlem donanımının tarihi
 İşletim sistemlerinin tarihi
 Yazılım mühendisliğinin tarihi
 Başarısız olan ve bütçeyi aşan özel yazılım projelerinin listesi
 Bilgisayar bilimindeki öncülerin listesi
 Bilişimde kadınlar
 Bilgisayarda kadınların zaman çizelgesi

 Kaynakça 

 Kaynaklar 








 Dış bağlantılar 



Kategori:Bilgisayar tarihi
Kategori:Yazılım tarihi
Kategori:İncelenmemiş çeviri içeren sayfalar