0 veya 1

Hayat belkide 0 veya 1. Düz mantık olmalı herşey belkide. Olmak yada olmamak işte bütün mesele bu. Ya varsındır (1) ya da yoksundur (0). Ya bir yere gidersin ya da gitmezsin. Ya da bir devreden akım geçer veya geçmez. Ya da birini seversin ya da sevmezsin. Ya haklısındır ya haksız. Ama hepsi belkide doğrudur. Aradaki renkleri kaybetmek acaba ne kadar […]

Heap-Allocated 2D Structures in C++

C++ öğrenirken en çok zorlanılan konulardan biri, işin mutfağı olan manuel bellek yönetimi ve pointer yapılarıdır. Bugün çoğu modern dil bizim için bellekle ilgilense de, C++ hâlâ düşük seviye kontrolün ne anlama geldiğini öğretmek için altın standarttır. Özellikle çift pointer (int**) kullanarak 2D dinamik dizi oluşturmak, bilgisayar biliminde veri yapılarının bellek üzerinde gerçekte nasıl tutulduğunu anlamamızı sağlar. Bu örnekte: Bu, […]

Programlama Dilleri Tarihi

1957 yılında, Fortran dili ile bilgisayar dünyası şu anki anlamıyla bir yazılım diline kavuşmuş oldu. Fortran (mathematical FORmula TRANslating system) adından da anlaşılacağı gibi genellikle matematiksel hesaplamalarda kullanılan bir dil olarak kendini kabul ettirmiştir. 1959 yılında ise yine büyük bir çığır açan COBOL geliştirilmiştir. 1960 yılında Algol 60 geliştirilmiştir ve 60’lı yıllarda en popüler yazılım dili olarak kendini göstermiştir. 1972 […]

A Basic Pointer Example

C++’ta pointer kavramı, dilin düşük seviyeli kontrol anlayışının temel parçasıdır. Burada artık yalnızca değerlerle değil, bu değerlerin bellekte nerede durduğu ile ilgilenilir. Pointer bir değeri değil, o değerin adresini taşır. Bu ayrım küçük görünür ama fonksiyon çağrılarında kimin neye dokunabildiğini belirler. Bir değeri fonksiyona gönderdiğinde kopya gönderilmiş olur. Bir pointer gönderildiğinde ise erişim gönderilir. Yani fonksiyon, çağıranın değişkenine doğrudan ulaşabilecek […]

Type Casting

Type casting çoğu zaman küçük bir teknik detay gibi anlatılır. Bir parantez açarsın, hedef tipi yazarsın, kod çalışır. Ama tip dönüşümü aslında bir karar mekanizmasıdır. Bir değeri başka bir tipe zorladığında, sadece biçimi değiştirmezsin. O tipe ait kuralları, sınırları ve garanti edilen davranışı da kabul etmiş olursun. Bu yüzden casting’i “dönüştürme” diye okumak eksik kalır. Daha doğru okuma şudur: Bu […]