Microsoft'un C# eğitimi veren Açık Akademi eğitimleri sırasında karşıma çıkan "Nesne Tabanlı Programlama Dilleri" nin tarihi süreç içerisinde nasıl geliştiği ve değiştiğiyle ilgili yazısı, bu konu hakkında bilgi sahibi olma ihtiyacı doğurdu.
Nesne tabanlı programlama, temel olarak,
programcının kendi sınıfını ve nesnesini oluşturup, üzerinde
çalışabilmesine olanak sağlayan bir mimaridir.
Nesne tabanlı programlama, büyüyen yazılım dünyasının ihtiyaçlarını çözemeyen prosedürel programlamaya bir çözüm olarak ortaya çıkmıştır.
Gittikçe büyüyen uygulamalar yazılmaya başlanması, bu uygulamaların bakım maliyetlerinin artması ve kolayca modifiye edilememeleri gibi durumlar nesne yönelimli programlamaya geçiş sürecinde yaşanılan temel sorunlar olarak gösterilebilir.