Kitap İncelemesi: Bir C++ Turu

Saberie

Active member


  1. Kitap İncelemesi: Bir C++ Turu

Bjarne Stroustrup
C++ Turu: Modern C++ İçin Pratik Kılavuz
mitp, 1. baskı, 2023
408 sayfa, 34,99 Euro’dan başlayan fiyatlarla
ISBN: 978-3-7475-0626-4

Duyuru



Borland C++ 3.0’ın piyasaya sürülmesinden bu yana, C++ programlama dili kapsamlı bir gelişme gösterdi. O zamanki yapıların çoğu bugün özellikle QT geliştiricilerine tanıdık gelse de birçok programcı bunları yalnızca kulaktan dolma bilgilerden biliyor. C++ güncel sürümlerde tamamen farklı bir programlama dili haline geldi. Mucidi ve kurucusu Bjarne Stroustrup, yeni C++ ormanında bir tür rehber olması amaçlanan ve artık Almanca olarak da mevcut olan “C++ İçinde Bir Tur” başlıklı bir ders kitabı sundu.

Guido Krüger’in C programlama konusundaki klasiğine benzer şekilde, C++’daki bu çalışma da derleme sürecinin dikkate alınmasıyla başlıyor. Veri türleri, işlevler ve temel programlamayla ilgili hususlar da girişte yer almaktadır. Örneğin geçmişte C veya Java ile programlamış olan herkes, fazla çaba harcamadan C++ kullanmaya başlayabilir.

Tam bir referans değil!


“C++ Turu” programlama dilini tam olarak ele alma iddiasında değildir; bunun yerine deneyimli geliştiricilerin ihtiyaçlarına yönelik bir “önerilen parça sunumu”dur. Bu nedenle kitap esas olarak C++’ın sözdizimine odaklanıyor ve örneğin birleşimler ve diğer kullanıcı tanımlı türler gibi daha egzotik unsurlara odaklanıyor. Modülerleştirme ve hata yönetimi de tartışılmaktadır.

Stroustrup’un deneyimi konu seçimine de yansıyor: İncelemeyi yapan kişi, istisnalar gibi dilsel yapıların yanı sıra genel kalıpların da yer aldığı hata yönetimi hakkındaki bölümü özellikle etkileyici buldu. Bu bölüm, diğer programlama dilleriyle çalışanlar için bile üzerinde çalışmaya değer çünkü tasarım kalıpları, ana platform veya dilden bağımsız olarak kullanılabilir.

Nesne yönelimli bagaj olmadan nesne yönelimi


İncelemeyi yapan kişiye göre klasik bilgisayar bilimi ders kitaplarının okuyucuları en çok rahatsız ettiği konu nesne yönelimli programlamadır (OOP). Stroustrup yalnızca ileri düzey geliştiricileri hedef aldığından, bu noktada önceden bilgi sahibi olunduğunu varsayar ve kapsamlı standart kütüphaneyi kullanarak farklı OOP tasarım paradigmalarını gösterir. Geliştiricilerin dil standardının hataya açık kısımlarından kaçınmasına olanak sağlamak için OOP işlevlerinin temiz bir şekilde ele alınmasını öğretmeye odaklanır.

Dahili sınıf sisteminin yapıcıları, yıkıcıları, derlemesi ve karşılaştırılabilir işlevleri hakkında düşünerek örnek bir iş yapar. Ders kitabının aynı zamanda bu alanda operasyonların pratikte nasıl çalıştığına dair temel bilgileri sağlaması da övgüye değerdir. Bu, geliştiricilere C++ dil yapısını verimli bir şekilde kullanarak nasıl daha güçlü uygulamalar oluşturabilecekleri konusunda daha derin bir anlayış sağlar.

Stroustrup, yeni başlayanlar ve geçiş yapanlar için “korkunç” modelleri iki bölümde ayrıntılı olarak ele alıyor ve temel hususlara ek olarak, bunların nasıl verimli bir şekilde kullanılacağına dair pratik tavsiyeler de veriyor.

İşin özü olarak standart kütüphane


C++ ile ilgili dikkate değer olan şey, standart kütüphanenin spesifikasyon kapsamının neredeyse üçte ikisini kaplamasıdır: diğer programlama dillerindeki sözdiziminin bir parçası olanların çoğu, standart kütüphane aracılığıyla C++’da temsil edilir. Stroustrup, kütüphanede bulunan öğelere bir giriş yaparak başlıyor ve ardından ayrı bölümlerde bunları derinlemesine incelemek için bireysel yönleri tanımlıyor.

Özellikle, C’den geçiş yapanlar, String sınıfının çok ayrıntılı bir şekilde tartışılmasından memnun kalacaklardır; bu, C’deki bir dizi char değişkeni ile genellikle kaçınılmaz olan tartışmaların önlenmesine yardımcı olur. Kütüphaneyi kullanarak dize işleme dünyasına sorunsuz bir geçiş sağlamak için Stroustrup, özellikle mikrodenetleyici programlamada standart olarak arka planda gerçekleşen bellek işlemleriyle de ilgilenir.




Kitap İncelemesi: Bir C++ Turu




(Resim: mitp)



Yazar, standart kütüphane kapları hakkındaki tartışmayı büyük ölçüde önyargısız ele alıyor. Stroustrup, düşüncelerine vektör fikriyle başlıyor. Vektör ve dizi arasındaki farkları o kadar zarif bir şekilde çözer ki okuyucular dizi işlemede öğrenilen kavramları C++ dünyasına kolayca aktarabilir ve benimseyebilir.

İncelemeyi yapan kişiyi şaşırtacak şekilde, çalışma aynı zamanda konteyner endüstrisindeki tahsisatçıların rolünü de ele alıyor. Kısa demo örnekleri, doğru ayırıcıyı kullanmanın bellek gereksinimlerini azaltmaya ve bir C++ programının performansını artırmaya nasıl yardımcı olduğunu gösterir.

Stroustrup ayrıca işaretçilere ve bunlarla ilişkili işaretçi aritmetiğine de büyük önem veriyor: standart kitaplıkta bulunan tüm işaretçi türlerini tanıtıyor. Farklı türdeki işaretçilerin nasıl çalıştığına ve pratikte birlikte nasıl çalıştıklarına dair sağlam bir temel anlayış sağlar.

Sayılardan rekabete


Başka bir iş bloğu, standart kütüphanede bulunan işlevler de dahil olmak üzere C++’da matematiksel hesaplamalar yapmayı içerir. Yalnızca sıradan hesaplama yöntemleri bekleyen herkes Stroustrup’a hoş bir şekilde şaşıracak. Standart kütüphanedeki bazı sayısal işlemler veya algoritmalar doğası gereği – en azından kısmen – paralelleştirilmiş olduğundan, bu noktada yazar aynı zamanda eşzamanlı programlar oluşturmaya da geçer.

İlgili bölüm, iş parçacığı sınıflarının tartışılmasından, iş parçacıkları arasında verilerin nasıl paylaşılacağına ve önemli performans kayıpları riskine girmeden paylaşılan kaynaklara erişimin nasıl senkronize edileceğine ilişkin açıklamalara kadar gerekli tüm temel bilgileri sağlar.

Eğitsel açıdan mantıklı yapı: faydalı bir okuma


İngilizce orijinalin üçüncü baskısının çevirisiyle mitp yayınevi, okunmaya değer ve aynı zamanda mantıklı bir didaktik yapıya sahip bir kitap yaratmayı başardı. Tüm bölümler, bazıları tartışmalı olan ancak yine de okuyuculara programlama çalışmasının somut olarak uygulanmasında değerli yardım sağlayacak bir tavsiye listesiyle bitmektedir.

Özellikle, C veya “sınıflı C” gibi bir QT lehçesiyle çalışan ve C++’ın olanaklarına dair sağlam bir genel bakış isteyen herkes Stroustrup’un çalışmasını takdir edecektir. Bazen ezoterik C++ konferanslarına yapılan ziyaretlerden farklı olarak kitap, C++’ın önemli yönlerini tanımanıza ve daha az önemli olanları göz ardı etmenize yardımcı olur.

İlginç ve bir o kadar da eğlenceli bir sonuç olarak, kitabın sonunda yazar nihayet “kendi” programlama dilinin uzun ve olaylarla dolu tarihine değiniyor ve en önemli olayları bir kez daha kronolojik sırayla gözden geçiriyor.

Annette Boschach
Tamoggemon Holding ks’nin eski sistemleriyle ilgileniyor ve yıllardır teknolojinin ve insanların birbirleri üzerindeki etkisiyle de ilgileniyor.



(harita)



Haberin Sonu
 
Üst