• ing. soyutlama.
  • yazılım dünyasında genelleme anlamına hem gelip hem gelmeyen,daha cok kullanıcıyı ilgilendirmeyen detayları gizleme amacı güden,yazılım mühendisliginin temeli sayılabilecek kavramlardan biri.
  • yazılım alanında, gereksiz teknik detayları developer'dan gizleyip, karmaşıklığı azaltıp üretimi artırmayı sağlamak için kullanılan bir methodun adıdır. daha az detayla uğraştırdığı için de kullanılacak olan api/library/framework'ün kullanımı high level'a yaklaşır. dezavantajı, gizlenen kısımlara müdahale edilmesinin her zaman mümkün olmamasıdır.
  • binali yıldırım'ın bulut diye bişey var, nimetlerinden yararlanıp işini göreceksin, çok fazla şeyapmamak lazım diye bahsettiği konu. kısacası bir sistemin ne yaptığını bilip, nasıl yaptığını bilmemek.

    klavyeyi düşün mesela. ne işi yaptığını biliyosun, bilgisayara yazı giriyor ama nasıl yaptığını, tuşlara basıldığında arka planda neler olduğunu bilmiyorsun ve kurcalamıyorsun. yani fazla şeyapmıyosun. işte bu abstractiondır, bunu yapmazsan sıyırırsın.
    https://www.youtube.com/watch?v=sn7pntsy5iy
  • design pattern lerde de sıklıkla kullanılan, yazılım mühendisliği dünyasının fevkaladenin fevkinde bir mihenk taşıdır.
  • hakkında en güzel tanıma twitter’da denk geldim.

    - ‘abstraction’ is a fancy way of saying ‘lying’. most computer work is getting them to lie about things in a specific way. most distributed systems work is about gaslighting a bunch of servers. the distinction between backend and frontend is not important, the true distinction is between work where you are constructing the lies and work where you are consuming and untangling the lies. both are important, but different.
  • türkçesi soyutlama olan, oop’nin temel kavramlarından birisi.

    bir örnek üzerinden anlatmak istiyorum:
    örneğin üniversitedeki öğrenci ve akademisyenlerin kullanacağı bir sistem tasarlayacağız. bu sistemde öğrenciler için tanımlayacağımız gerekli bilgiler nelerdir diye düşündüğümüzde tc kimlik no, doğum tarihi, öğrenci numarası gibi şeyler aklımıza gelir. peki bu sistem için öğrencilerin boyunu veya kilosunu tanımlamamıza gerek var mı ? yok. işte abstraction dediğimiz olay bu.
  • kalabalık bir caddeye girip gördüğünüz 100 kişiye nefes alıp vermenin fizyolojisini anlatmalarını isteseniz, sizce kaç kişi doğru cevap verebilir?
    yada göz kırpmanın fizyolojisinden bahsetmelerini isteseniz?

    cevabı hepimiz biliyoruz. bu bile gün boyunca binlerce kez yaptığımız eylemleri yeterince tanımadığımızın bir kanıtıdır. ben bu gün sizleri, potansiyelini kullanmayı öğrendiğimiz taktirde hayatımıza olumlu etkileri olabilecek bir tanesiyle tanıştıracağım. gözünüz birbirinizi bir yerden ısıracaktır diye düşünüyorum:)

    türkçe anlamıyla soyutlama, en aşina olduğumuz eylemlerdendir. soyutlama, bir bilgi kümesinin işimize yarayan kısmını görmek, kalan gereksiz kısımlarını görmezden gelmek demektir. tanışıklığımız eskilere dayanır. daha anne karnındayken işimize yarayacak şeyleri öğrenmeye başlarız. örneğin annemizin sesini ya da doğduğumuzda nasıl besleneceğimizi bilir, arama ve emme refleksini gerçekleştiririz. yani bilmek eylemi yaratılıştan gelir. soyutlama eylemi ise bilmek ve bilmemek arasında bir köprüdür dolayısıyla soyutlama eylemi de yaratılıştan gelmektedir.

    soyutlama bize neyi bilip neyi bilmeyeceğimizi seçme hakkı tanır. örneğin bilgisayara yazıcıyı bağlayıp da çıktı almak istediğimizde ne yapmamız gerektiğini biliriz fakat bu işlemi yapmak için bilgisayarın işlemcisinin kullandığı op-code'ları, ana bellekle nasıl iletişim kuracağını bilmeyiz. konuyu merak edenimiz araştırıp öğrenir, merak etmeyenimiz ise çıktısını alıp işine bakar. böylece herkes öğrenmek istediği bilgiyi alır ve kararında soyutlama yapmış olur.

    soyutlama eylemini en kararında yaptığımız yaşlar çocuk yaşlarımızdır. çünkü bu yaşlar bilip bilmeme kararını en özgürce aldığımız yaşlardır. gelecek kaygısı yoktur, geçim derdi yoktur. çevre koşulları bizi karnımızı doyurmak için belli başlı şeyleri öğrenmeye zorlamaz. bu yaşlarda çocuğun ilgi alanları oluşur ve edinilen bilgiler sonucunda bir takım beceriler kazanılır. bu süreç yetişkinlikte de devam eder/etmelidir. çünkü bu sayede farklı ilgi alanları ve beceriler, ayrı uzmanlık alanlarının gelişmesinde öncü olacak, böylece daha gelişmiş bir topluma ulaşılacaktır.

    yazının bu paragrafında bir gariplik farkettiniz değil mi? şimdi paragrafın başına “ideal bir eğitim sisteminde ve ideal bir toplumda” yazısını ekleyerek okuyun. yazı düzeliyor.

    sizin de gördüğünüz üzere eğitim sisteminin en büyük sorunlarından biri budur. eğitim sistemi çocukların neyi bileceklerini tercih etme haklarını ellerinden almakta ve hali hazırda soyutlanmış bilgileri ezberletmektedir. örneğin matematik gibi zihin açan dahiyane bir ilimi bile formüllerden ibaret göstererek beyin yakan sıkıcı bir ilme dönüştürmektedir. çocuklar okula gidip bilim öğrenmek yerine soyutlanmış bilim öğrenmekte, bunun sonucunda kendini bilimden soyutlamış, insan olmaları için değil vatandaş olmaları için eğitilmiş bir toplum üremektedir.

    bilinmesi gereken bilgiler ile bilinmesi gerekmeyen bilgiler bölmesi yer değiştirmiş, toplum ters soyutlanmıştır. e haliyle böyle bir toplumdan öğrenmesini, düşünmesini ve kendi adına kararlar almasını bekleyemezsiniz. bu da devletin size reva gördüğü hayatın bir parçasıdır. devlet neyi bilmenizi istiyorsa onu bilirsiniz, neyi nasıl öğrenmenizi istiyorsa onu öyle öğrenirsiniz.

    formülize ederek, ezberleyerek ve dayatılarak büyümüş bir toplumda formüllerin nereden geldiğini öğrenmenin ve bilme özgürlüğünü kazanmanın tek yolu kendini toplumdan soyutlamak yahut özgür bir topluma göçmektir.

    bilme özgürlüğümüze kavuşabilmek dileğiyle..
  • atm'den para çekmenin gerçek hayat senaryosunu düşünün. kullanıcı sadece atm makinesinde önce atm kartını girdiğini sonrasında atm kartının şifresini girdiğini, ardından çekmek istediği tutarı girdiğini ve en sonunda parasını aldığını bilir. kullanıcı atm'nin iç mekanizmasını veya para çekme uygulaması vs. hakkında bilgi sahibi değildir. kullanıcı , sadece atm makinesini nasıl çalıştıracağını bilir ve işte buna soyutlama denir.
hesabın var mı? giriş yap