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.
C++ yazılım dili C nin evrim geçirmiş bir versiyonu olmakla beraber, ikisinin de ataları BCPL ve B dir. BCPL 1967 yılında Martin Richards tarafından operating sistemleri ve derleyicileri üretmek için yazıldı. C yazılım dilini Bell Labaratuarlarında geliştiren Denis Ritchie, fikirlerinin büyük bir kısmını B yazılım dilinden edinerek bu evrimin gerçekleşmesinde büyük rol oynamıştır.
Bu tasarım için ise 1972 yılında DEC PDP-11 tipi bilgisayar kullanılmıştı. C ilk olarak UNIX operating sistemini yazarken kullanılan dil olarak meşhur olmuş ve günümüzde ise halen hemen hemen tüm operating sistemleri C veya C++ ile yazılmaktadır. Son 20 yılda, C yazılım dili birçok bilgisayar platformu için edinilebilir bir duruma erişmiştir. C nin en büyük özelliklerinden biri donanıma bağımsız olmasıdır, yani dikkatli bir tasarım ile herhangi bir donanımda C uygulamasi yaratmak mümkündür.
1970 li yılların sonlarına doğru C gelişimini tamamlamış ve şu anda geleneksel C olarak bilinen halini almıştır. C++ ise C yazılım dilinin devamıdır. 1980 li yılların başında yine Bell Labaratuarları nda Bjarne Stroustup tarafından geliştirilmiştir. ANSI ve ISO standartlarına uygun olan bu yazılım dilinin en büyük avantajı nesne yönelimli bir yazılım dili olmasıdır.
Yazılım dünyasında bir devrim oldu. Hızlı ama hem ekonomik hemde doğru olarak yazılım gerçekleştirmek hala bir hedef olsada, C++ hala bügün çok kullanılan bir dil olması ne kadar iyi bir temelin üzerine inşa edilmiş olmasının bir kanıtıdır.
Nesneler temel olarak bir yazılımcının birçok kez kullanabileceği program parçacıkları olması yazılımcılar tarafından keşfedilince, bunun önceki yazılım modellerinden daha hızlı ve daha sağlam yazılımlar için kullanılabileceği dikkate alınmaya başlandı. Nesne yönelimli yazılımlar genelde daha kolay anlaşılabilen, daha doğru ve modifiye edilmesi daha kolaydır. C++ yazılım dilinin en büyük özelliklerinden bir diğeri ise hem C türü eski tarz yazılımlara hemde nesne yönelimli yeni yazılım modeline yer vermesidir.
C yazılım dilini Bell Labaratuarlarında geliştiren Denis Ritchie, fikirlerinin büyük bir kısmını B yazılım dilinden edinerek bu evrimin gerçekleşmesinde büyük rol oynamıştır. Bu tasarım için ise 1972 yılında DEC PDP-11 tipi bilgisayar kullanılmıştı. C ilk olarak UNIX operating sistemini yazarken kullanılan dil olarak meşhur olmuş ve günümüzde ise halen hemen hemen tüm operating sistemleri C veya C++ ile yazılmaktadır. Son 20 yılda, C yazılım dili birçok bilgisayar platformu için edinilebilir bir duruma erişmiştir.C nin en büyük özelliklerinden biri donanıma bağımsız olmasıdır, yani dikkatli bir tasarım ile herhangi bir donanımda C uygulamasi yaratmak mümkündür.
1970 li yılların sonlarına doğru C gelişimini tamamlamış ve şu anda geleneksel C olarak bilinen halini almıştır. C++ ise C yazılım dilinin devamıdır. 1980 li yılların başında yine Bell Labaratuarları nda Bjarne Stroustup tarafından geliştirilmiştir. ANSI ve ISO standartlarına uygun olan bu yazılım dilinin en büyük avantajı nesne yönelimli bir yazılım dili olmasıdır.
Yazılım dünyasında bir devrim oldu. Hızlı ama hem ekonomik hemde doğru olarak yazılım gerçekleştirmek hala bir hedef olsada, C++ hala bügün çok kullanılan bir dil olması ne kadar iyi bir temelin üzerine inşa edilmiş olmasının bir kanıtıdır.
Nesneler temel olarak bir yazılımcının birçok kez kullanabileceği program parçacıkları olması yazılımcılar tarafından keşfedilince, bunun önceki yazılım modellerinden daha hızlı ve daha sağlam yazılımlar için kullanılabileceği dikkate alınmaya başlandı. Nesne yönelimli yazılımlar genelde daha kolay anlaşılabilen, daha doğru ve modifiye edilmesi daha kolaydır. C++ yazılım dilinin en büyük özelliklerinden bir diğeri ise hem C türü eski tarz yazılımlara hemde nesne yönelimli yeni yazılım modeline yer vermesidir.
C yazılım dilini Bell Labaratuarlarında geliştiren Denis Ritchie, fikirlerinin büyük bir kısmını B yazılım dilinden edinerek bu evrimin gerçekleşmesinde büyük rol oynamıştır. Bu tasarım için ise 1972 yılında DEC PDP-11 tipi bilgisayar kullanılmıştı. C ilk olarak UNIX operating sistemini yazarken kullanılan dil olarak meşhur olmuş ve günümüzde ise halen hemen hemen tüm operating sistemleri C veya C++ ile yazılmaktadır. Son 20 yılda, C yazılım dili birçok bilgisayar platformu için edinilebilir bir duruma erişmiştir. C nin en büyük özelliklerinden biri donanıma bağımsız olmasıdır, yani dikkatli bir tasarım ile herhangi bir donanımda C uygulamasi yaratmak mümkündür.
1970 li yılların sonlarına doğru C gelişimini tamamlamış ve şu anda geleneksel C olarak bilinen halini almıştır. C++ ise C yazılım dilinin devamıdır. 1980 li yılların başında yine Bell Labaratuarları nda Bjarne Stroustup tarafından geliştirilmiştir. ANSI ve ISO standartlarına uygun olan bu yazılım dilinin en büyük avantajı nesne yönelimli bir yazılım dili olmasıdır.
Yazılım dünyasında bir devrim oldu. Hızlı ama hem ekonomik hemde doğru olarak yazılım gerçekleştirmek hala bir hedef olsada, C++ hala bügün çok kullanılan bir dil olması ne kadar iyi bir temelin üzerine inşa edilmiş olmasının bir kanıtıdır. Nesneler temel olarak bir yazılımcının birçok kez kullanabileceği program parçacıkları olması yazılımcılar tarafından keşfedilince, bunun önceki yazılım modellerinden daha hızlı ve daha sağlam yazılımlar için kullanılabileceği dikkate alınmaya başlandı. Nesne yönelimli yazılımlar genelde daha kolay anlaşılabilen, daha doğru ve modifiye edilmesi daha kolaydır. C++ yazılım dilinin en büyük özelliklerinden bir diğeri ise hem C türü eski tarz yazılımlara hemde nesne yönelimli yeni yazılım modeline yer vermesidir.
1970 li yılların sonlarına doğru C gelişimini tamamlamış ve şu anda geleneksel C olarak bilinen halini almıştır. C++ ise C yazılım dilinin devamıdır. 1980 li yılların başında yine Bell Labaratuarları nda Bjarne Stroustup tarafından geliştirilmiştir. ANSI ve ISO standartlarına uygun olan bu yazılım dilinin en büyük avantajı nesne yönelimli bir yazılım dili olmasıdır.
Yazılım dünyasında bir devrim oldu. Hızlı ama hem ekonomik hemde doğru olarak yazılım gerçekleştirmek hala bir hedef olsada, C++ hala bügün çok kullanılan bir dil olması ne kadar iyi bir temelin üzerine inşa edilmiş olmasının bir kanıtıdır. Nesneler temel olarak bir yazılımcının birçok kez kullanabileceği program parçacıkları olması yazılımcılar tarafından keşfedilince, bunun önceki yazılım modellerinden daha hızlı ve daha sağlam yazılımlar için kullanılabileceği dikkate alınmaya başlandı. Nesne yönelimli yazılımlar genelde daha kolay anlaşılabilen, daha doğru ve modifiye edilmesi daha kolaydır. C++ yazılım dilinin en büyük özelliklerinden bir diğeri ise hem C türü eski tarz yazılımlara hemde nesne yönelimli yeni yazılım modeline yer vermesidir.
Yazılım dünyasında bir devrim oldu. Hızlı ama hem ekonomik hemde doğru olarak yazılım gerçekleştirmek hala bir hedef olsada, C++ hala bügün çok kullanılan bir dil olması ne kadar iyi bir temelin üzerine inşa edilmiş olmasının bir kanıtıdır. Nesneler temel olarak bir yazılımcının birçok kez kullanabileceği program parçacıkları olması yazılımcılar tarafından keşfedilince, bunun önceki yazılım modellerinden daha hızlı ve daha sağlam yazılımlar için kullanılabileceği dikkate alınmaya başlandı. Nesne yönelimli yazılımlar genelde daha kolay anlaşılabilen, daha doğru ve modifiye edilmesi daha kolaydır. C++ yazılım dilinin en büyük özelliklerinden bir diğeri ise hem C türü eski tarz yazılımlara hemde nesne yönelimli yeni yazılım modeline yer vermesidir.
Ken Thompson B yi kullanarak Unix sistemlerinin 1970 yılında ilk versiyonunu Bell Labaratuarlarında yazdı. Bu yazılım için ise Digital Equipment Corparation PDP-7 bilgisayarlarını kullanmıştı. Hem BCPL hemde B türsüz birer yazılım diliydiler- yani her veri türü bellekte bir kelimeden oluşuyordu. Dolayısıyla, bir veri türünün tam sayı yada doğal sayı, yani günümüzde int yada double olduğunu belirlemek programcıya kalmıştı.
Kısacası C++ dünyanın en iyi programlama dillerinden birisidir arkadaşlar.
