|
C++ bilindiği gibi programlama dünyasında en
çok ilgi gören C dilinden türemiştir. C++'ı klasik C dilinden
farklı yapan yanı; Nesne Yönelimli Programlamayı da ( Object
Oriented Programming) C'nin sözdizimi kurallarıyla birlikte
desteklemesidir. Normalde C ile sadece yapısal programlama
yaparken C++ dili ile hem yapısal hem de nesne yönelimli
programlar yazabilirisiniz. C++ diline başlarken önce dilin C'den
gelen ve temel olan özelliklerini öğrenmek gerekir. Örneğin,
değişken tanımlama, atama ve diğer basit aritmektik işlemler,
kontrol yapıları ve döngüler gibi.
Teknolojinin ulaştığı son noktadaki programlama dillerinden olan C
ve C++, bir çok yeni ve güçlü özellikleri içerir. Derslerimiz
devam ettikçe bunların teker teker içine gireceğiz. C dilinin
özelliklerinin %80 i C++'da da mevcuttur (bu karşılaştırma şahsi
görüşümdür). Zaten C++, C'nin üst gurubudur. Bunu şöyle
sıralayabiliriz. C, C++ ve C# dır.
C dilinin avantajları, az komut kümesinden
oluşması ve bu komutların diğer yüksek seviyeli dillere nazaran
daha hızlı çalışmasıdır. Ayrıca C deki kütüphaneler sayesinde
fonksiyon tanımlamanıza gerek kalmadan işlemlerinizi yapmak mümkün
olacaktır. Bu konuda çok detaya inmeden, programlamaya geçmek
istiyorum. Çünkü, programlamaya başladığımızda her örnekten sonra
o an kullandığımız programın içinde geçen fonksiyon, hata,
değişken, belirleyiciler, kısıtlamalar, notasyonlar v.s gibi
bilgilerden ara ara bahsedeceğim. Yalnız çok önemli olan bir
konuya burada değinmek istiyorum. C nin avantajlarını
programlamayla birlikte görmek güzel ama C nin dezavantajlarını
programlamadan önce bilmeliyiz ki bunlardan sakınalım. Öncelikle
Tanımlayıcılardan bahsetmek istiyorum. Her derleyici ve assmbley
için değişkenleri, sabitleri, etiketleri ve fonksiyon adlarını
tanımlama kuralları vardır. Bu notasyonlara, tanımlayıcı denir.
C++ da tüm tanımlayıcılar a, . . . , z - A, . . . , Z harfleri ile
ya da alt çizgi "_" ile başlar. Bundan sonra rakam, harf, ya da
alt çizgi kullanılabilir. ANCI C uyumlu derleyiciler 31 karaktere
kadar tanımlayıcı kabul ederler fakat tanımlayıcının ilk sekiz
karakterini kullanmayı kendimize alışkanlık etmeliyiz. Dikkat
etmemiz gereken özelliklerden biri de kullandığımız ifadelerdeki
büyük küçük harflerdir. C ve C++ büyük ve küçük harf duyarlılığına
sahiptir. Kullandığımız ifadeleri birbirinden farklı ve aynı ifade
olarak kullanıyorsak programımız hata verecektir. Bunu bir örnekle
anlatayım:
Program
PROGRAM
progRAM
ProgRam
Bu şekilde tanımlarsak hepsi birbirinden
farklı ifadeler olarak C++ da okunacaktır. Biz Şunu alışkanlık
edinmeliyiz; tanımlayıcılarımızın baş harfi büyük olacak. Büyük ve
küçük harf kombinasyonlarının kullanılması ile önceden yapılan
tanımlamalar bazen işi zorlaştırabilir. Eğer bu değişkenlerden
birini kullanmak isterseniz, bu zamana kadar nasıl tanımladığınızı
bilmeniz gerekir. Örneğin printf()`in
PRINTF()
olarak çağrılması durumunda " bilinmeyen tanımlayıcı " (Unknown
identifier) hata mesajı vererek sizi uyarır. Buna benzer olarak
%f
ve %F kullanımı hata verdirecektir. Programlamayı yaparken bunlara
dikkat etmemiz gerekecek. Çünkü bir değişkeni veya tanımlayıcıyı
başta nasıl kullandıysanız üç, dört sayfa kod yazdıktan sonrada
aynı şekliyle kullanmak zorundasınızdır. İşte burada en büyük
handikap yaşanacaktır. Çünkü C/C++ derleyicileri her zaman hatanın
nerde olduğunu göstermez. Bunu programcı kendisi satır satır takip
ederek bulacaktır. Bundan dolayı bu söylediklerime baştan dikkat
etmemiz gerekiyor.
Tavsiyeler:
İyi bir programlama yapabilmek için benim
size olan tavsiyelerim; daha az kod kullanarak daha çok işlem
yapabilme. Gerçi bunu yapsak zaten profesyonel oluruz :). Zaten
C++ `ın paradigması da buradan geliyor. Aslında C++ da
yapabileceğimiz tüm programları C de yapma olanağımız var ama bu
bize hem fazla kod yazmayı gerektirecek hem de zaman kaybetmemize
sebep olacak. Zaten bunlardan kaçındığımız için C++ diyoruz.
Elimizde nesneye yönelik bir dil varken ve kullanacağımız
fonksiyonlar içinde hazır olarak mevcutsa, tabi bize de bunun
keyfini sürmek kalıyor. Tavsiyelerimden biride derslerde
verdiğimiz örneklerin dışında aynı algoritmaya benzer farklı
örnekler yapın. Öğrenmenin en iyi yolu yanlış yapmaktır. Bunu
şöyle izah edeyim: eğer yanlış yapıyorsanız ve de o yanlışın
kaynağını bulup düzeltebiliyorsanız, o an onu öğrenmişsiniz
demektir. Tabi örnekler sizin için alıştırma olacaktır ve
hafızanızda kalıcı bir yer tutacaktır. Bunca kodu başka türlü
hafızada tutamayız. İlk başlarda sık sık not alınız, mümkün
olduğunca da bol örnek yapınız. Örneklerinizi de kendiniz düşünüp
kendi hayal gücünüzle oluşturursanız eminim bu işi
başaracaksınızdır. Başta çok zor gelebilir ama başarı ter
dökülmeden olmaz. Bu kısmı fazla uzatıp sizi daha başlamadan C/C++
dan uzaklaştırmak istemiyorum. |