Bilgisayar biliminde gayb mümkün mü?
Undefined Behavior nedir?
Undefined behavior -kısaltırsak (UB)- runtime'da programın nasıl davranacağını Allah'dan celle celaluh başka kimsenin bilmeyeceği; programcıların kesinlikle kesinlikle kaçınması gereken durumlardır. UB'de derleyiclerin belirli bir şekilde kod üreteceği kesin değildir. Peki neden UB vardır? Neden derleyiciler buna izin verir?
Çünkü C ve C++ derleyicileri kodu optimize eden derleyicilerdir. Yani yazılan kaynak kodu yeniden düzenlerler. Bu öyle ki derleyicinin dili olsa, kodu yazan programcıya bu kodu senin yazdığını mı zannediyorsun diye sorsa cevap veremez; o kadar. Öyle durumlar var ki insan aklının ötesinde optimizasyon yapıyor derleyiciler dersek yanılmayız sanırım.
Bir de unspecified behavior vardır. Bu UB'den farklı olup derleyicinin nasıl kod üreteceği konusunda herhangi bir bağlayıcılığı yoktur. Örneğin;
x = f1() +(f2()*5); atamasında ilk önce hangi fonksiyonun çağıralacağı sorulsa cevabı bilinmezdir. Ama bu durum programcının başına bela açmayacağı yönüyle UB'den farklıdır.
const char* p1 = "oytun";
const char* p2 = "oytun";
if(p1 ==p2){
} UB'ye örnektir ve kod programcının beklentisine uygun olarak çalışabilir ki bu en tehlikeli durumdur.
Unspecified behavior'da derleyici tarafından her zaman aynı kod üretilcek diyemeyiz.
Son olarak implementation defined behavior vardır. Unspecified behavior'ın alt kategorisidir. Farkları; implementation defined durumunu derleyiciler dökümante etmek zorundadır; bu da demektir ki derleyici hep aynı yolu seçerek derleme yapar.
Tüm yazdıklarım neticesinde tekrarlamak istediğim sorular şunlardır: neden gayb var? neden gaybın var olduğunu biliyoruz ama gaybı Allah'dan celle celaluh başkası bilemez?[1]
Evrim Ağacı'nın çalışmalarına Kreosus, Patreon veya YouTube üzerinden maddi destekte bulunarak hem Türkiye'de bilim anlatıcılığının gelişmesine katkı sağlayabilirsiniz, hem de site ve uygulamamızı reklamsız olarak deneyimleyebilirsiniz. Reklamsız deneyim, sitemizin/uygulamamızın çeşitli kısımlarda gösterilen Google reklamlarını ve destek çağrılarını görmediğiniz, %100 reklamsız ve çok daha temiz bir site deneyimi sunmaktadır.
KreosusKreosus'ta her 10₺'lik destek, 1 aylık reklamsız deneyime karşılık geliyor. Bu sayede, tek seferlik destekçilerimiz de, aylık destekçilerimiz de toplam destekleriyle doğru orantılı bir süre boyunca reklamsız deneyim elde edebiliyorlar.
Kreosus destekçilerimizin reklamsız deneyimi, destek olmaya başladıkları anda devreye girmektedir ve ek bir işleme gerek yoktur.
PatreonPatreon destekçilerimiz, destek miktarından bağımsız olarak, Evrim Ağacı'na destek oldukları süre boyunca reklamsız deneyime erişmeyi sürdürebiliyorlar.
Patreon destekçilerimizin Patreon ile ilişkili e-posta hesapları, Evrim Ağacı'ndaki üyelik e-postaları ile birebir aynı olmalıdır. Patreon destekçilerimizin reklamsız deneyiminin devreye girmesi 24 saat alabilmektedir.
YouTubeYouTube destekçilerimizin hepsi otomatik olarak reklamsız deneyime şimdilik erişemiyorlar ve şu anda, YouTube üzerinden her destek seviyesine reklamsız deneyim ayrıcalığını sunamamaktayız. YouTube Destek Sistemi üzerinde sunulan farklı seviyelerin açıklamalarını okuyarak, hangi ayrıcalıklara erişebileceğinizi öğrenebilirsiniz.
Eğer seçtiğiniz seviye reklamsız deneyim ayrıcalığı sunuyorsa, destek olduktan sonra YouTube tarafından gösterilecek olan bağlantıdaki formu doldurarak reklamsız deneyime erişebilirsiniz. YouTube destekçilerimizin reklamsız deneyiminin devreye girmesi, formu doldurduktan sonra 24-72 saat alabilmektedir.
Diğer PlatformlarBu 3 platform haricinde destek olan destekçilerimize ne yazık ki reklamsız deneyim ayrıcalığını sunamamaktayız. Destekleriniz sayesinde sistemlerimizi geliştirmeyi sürdürüyoruz ve umuyoruz bu ayrıcalıkları zamanla genişletebileceğiz.
Giriş yapmayı unutmayın!Reklamsız deneyim için, maddi desteğiniz ile ilişkilendirilmiş olan Evrim Ağacı hesabınıza üye girişi yapmanız gerekmektedir. Giriş yapmadığınız takdirde reklamları görmeye devam edeceksinizdir.
Bir tanımla katkıda bulunmam gerek diye düşünüyorum yazdıklarımı okuyacak sizlere:
Gayb: Arapça’da “gizli kalmak, gizlenmek, görünmemek, uzaklaşmak, gözden kaybolmak” anlamında masdar ve “gizlenen, hazırda olmayan bulunmayan şey” mânasında isim veya sıfat olarak kullanılır (Lisânü’l-ʿArab, “ġyb” md.; Fîrûzâbâdî, el-Ḳāmûsü’l-muḥîṭ, “ġyb” md.).
- 2
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- ^ ACM Other conferences. Undefined Behavior | Proceedings Of The Asia-Pacific Workshop On Systems. Alındığı Tarih: 27 Ağustos 2022. Alındığı Yer: ACM Other conferences | Arşiv Bağlantısı
Evrim Ağacı'na her ay sadece 1 kahve ısmarlayarak destek olmak ister misiniz?
Şu iki siteden birini kullanarak şimdi destek olabilirsiniz:
kreosus.com/evrimagaci | patreon.com/evrimagaci
Çıktı Bilgisi: Bu sayfa, Evrim Ağacı yazdırma aracı kullanılarak 12/12/2024 13:42:55 tarihinde oluşturulmuştur. Evrim Ağacı'ndaki içeriklerin tamamı, birden fazla editör tarafından, durmaksızın elden geçirilmekte, güncellenmekte ve geliştirilmektedir. Dolayısıyla bu çıktının alındığı tarihten sonra yapılan güncellemeleri görmek ve bu içeriğin en güncel halini okumak için lütfen şu adrese gidiniz: https://evrimagaci.org/s/12305
İçerik Kullanım İzinleri: Evrim Ağacı'ndaki yazılı içerikler orijinallerine hiçbir şekilde dokunulmadığı müddetçe izin alınmaksızın paylaşılabilir, kopyalanabilir, yapıştırılabilir, çoğaltılabilir, basılabilir, dağıtılabilir, yayılabilir, alıntılanabilir. Ancak bu içeriklerin hiçbiri izin alınmaksızın değiştirilemez ve değiştirilmiş halleri Evrim Ağacı'na aitmiş gibi sunulamaz. Benzer şekilde, içeriklerin hiçbiri, söz konusu içeriğin açıkça belirtilmiş yazarlarından ve Evrim Ağacı'ndan başkasına aitmiş gibi sunulamaz. Bu sayfa izin alınmaksızın düzenlenemez, Evrim Ağacı logosu, yazar/editör bilgileri ve içeriğin diğer kısımları izin alınmaksızın değiştirilemez veya kaldırılamaz.