1. kısaca oop olarak anılan programlama paradigması. sorunları çözmek için, problemi parçalara bölüp bu parçaları birbirleriyle etkileşim içinde olacak nesneler şekilde tasarlamanızı tavsiye eder. böylece yazılım yazılırken de yazıldıktan sonra da, yeni bir şeyler eklemek ve olan hataları ayıklamak daha kolay hale gelir (tarzan usulüne kıyasla). bu paradigmanın anahtar kelimeleri sınıflar, nesneler ve kalıtımdır veya orijinal terminolojiye göre: class, inheritance ve object/instance.

    sınıflar, yaratılacak nesneler için blueprint işlevi görür. felsefedeki idea kavramına benzer. nesneler ise o sınıfların yansımaları olurlar. kalıtım ise bazı sınıfların hiyerarşik olarak birbirlerinin özelliklerini kullanabilmeleri anlamına gelir.

    örnek olarak, bir okulu programlamak isterseniz; öğrenciler, sınıflar, öğretmenler ve okulun kendisini ayrı ayrı sınıflar olarak tanımlarsınız. sonra da bunların birbirleriyle etkileşmeleri için metotlar düzenlersiniz. çünkü öğrenciler, detaylar haricinde birbirlerinin aynı özelliklere sahiplerdir. blueprintleri aynıdır. sonrasında kolay biçimde 500 tane öğrenci nesnesini "aha işte bunları öğrenci sınıfından baz alarak yarat" dedikten sonra "bunun adı bu, bunun adı şu" gibi ince detaylarla manuel olarak oynarsınız. age of empires'da okçu basmak gibi. yeri gelince hepsine aynı anda bir iş yapmasını söyleyebilirsiniz. sonrasında sınıflar için sınıflar tanımlanır (sanki sınıfception) ve öğrenciler o sınıflara bağlanır, efendim sonra sınıflar okullara bağlanır. yeri gelince de okul nesnesinden tek satır komut çalıştırıp bütün öğrencilere aynı anda sinyal çakabilir hale gelen bi yazılım elde edilir. bunları yaparken de yarın öbür gün öğrencilerin blueprint'lerinde bir değişim yapmak isterseniz değişmesi/incelenmesi gereken kodun tutarı azalır. çünkü öğrencilerle alakalı yazdığınız her kodu, ilgili class'in içine kapsüle etmişsinizdir.

    güzel kullanılırsa kodun okunaklılığını acayip düzeyde artırır, kötü kullanılanına da object disoriented programming denir şakalı biçimde. kimisi de bu naneye ölümüne düşmandır (bkz: linus torvalds)

    (bkz: procedural programming)
    (bkz: functional programming)