Consistency Matters

When I look back at the projects I’ve worked on, the most peaceful moments were always when the code felt consistent. Everything lined up. Names made sense. Files looked familiar. It felt like I could read the system instead of fighting it. That sense of order never happens by accident. It comes from small, deliberate choices made over time. How […]

Java Developer vs. Software Engineer

Java developer vs. software engineer is discussed quite often, especially among programmers trying to define what truly separates a coder from an engineer. One of my friends kept telling me what a “Javacı” would do for certain problems. “Javacı” is a de facto word that means a person who deals with Java or writes Java programs. The “cı” part comes […]

Achieving Abstraction In JavaScript

In computer science, abstraction is to hide certain details and only show the essential features of the object. Abstraction tries to reduce and factor out details so that the developer can focus on a few concepts at a time. This approach improves understandability as well as maintainability of the code. While abstraction is well understood and well applied in languages […]

Inheritance ve Polymorphism

Polymorphism ve Inheritance beraber kullanılan iki önemli nesneye dayalı (Object-Oriented) programlama unsurudur. Bunlar program kodlarının yeniden kullanılabilmesi veya var olan kodun geliştirilebilmesi açısından çok önemlidir. Günümüzde yaygın olarak kullanılan diller de nesneye dayalı programlamaya elverişlidir. Bunlara örnek verecek olursak JAVA ve C++ başta gelen nesneye dayalı programlama dilleri olarak gösterilebilir. Örnekler Java üzerinden gidecek. Inheritance ve Polymorphism’i ayrı ayrı aşağıda […]

Use of Pointers For Lists

C++’ta diziler sabit uzunlukludur; yani program çalışırken bir diziyi doğrudan büyütüp küçültmek mümkün değildir. Bu yüzden, eleman ekleyip silmeyi destekleyen dinamik bir liste yapısı oluşturmak için bellek yönetimini kendimiz yapmamız gerekir. Aşağıdaki örnek, C++’ta new ve delete kullanarak basit bir dinamik dizi tabanlı liste (dynamic array list) yapısının nasıl uygulanacağını gösterir. Bu yapıda: Bu örnek, C++’ta manuel bellek yönetiminin nasıl […]