Oca 25

C ve C++ farklı programlama dilleridir!

Birçok mühendislik CV’sinde teknik yetenekler,programlama dilleri bölümünde “C/C++” ifadesi bulunuyor. Çoğu zaman bu ifade C ve C++ dillerinin farkını pek yansıtmaz. Okul yıllarında bir dönemlik alınmış programlama dersinde görülen şeylerin C/C++ olduğu zannedilir. Aslında çoğu kişi C++ dersi adı altında C öğrenmiştir. Buna ben de dahilim.

Üniversite birinci sınıfta gördüğümüz programlama dersinde Borland C++ Builder derleyicisini kullanıyorduk. Bu nedenle olsa gerek dersin adı öğrenciler arasında “C++” olarak geçiyordu.Ancak sonradan öğrendim ki C++’a dair derste kullandığımız tek şey, ekrana çıktı almamızı sağlayan “cout” ifadesiymiş.

Sonraları programlama ile ilgili bilgilerimi artırdıkça C ve C++ dillerinin ne kadar farklı olduklarını gördüm (aynı zamanda ne kadar ortak yanları olduğunu da). İşin içine “nesne “ konusu girene kadar ikisinin birbirinden pek farkı yokmuş gibi görünüyordu. Ancak nesne yönelimli programlama, problemlere bambaşka bir bakış açısı getiriyordu.

Çalışma alanım olan gömülü sistemlerde “C” dilini yoğun olarak kullanıyoruz. Zaten günümüzde gömülü sistemlerin en yoğun kullanılan dili de C’dir. Halihazırda kullanılan birçok mikrodenetleyicinin C derleyicileri bulunuyor. Ancak C++ henüz gömülü sistemler alanında pek geniş bir kullanım alanına sahip değil. C++ dilinin gerektirdiği yüksek bellek ve işlem gücü, çok kısıtlı kaynaklar üzerinde çalışan gömülü sistemler için oldukça “lüks” kaçıyor. Ancak günümüzün hızla gelişen teknolojisiyle birlikte artan karmaşıklıkla başa çıkmak için “nesne yönelimli programlama”nın da gömülü sistemler alanına girmeye başladığını görmekteyiz.

C ve C++ ayrımının birçok firma tarafından da yapılamadığını görüyorum. Gömülü sistemler ile ilgili birçok iş ilanında C/C++ ifadesi bulunuyor. Anlaşılan bu konuda firmaların da kafası karışık.

Kısacası C ve C++ farklı programlama dilleridir. Programlamaya bakış açıları tamamen farklıdır. Gömülü sistemlerde çalışmak isteyen birinin iyi bir C bilgisine sahip olması şart. Ancak C++ gibi nesne yönelimli programlama dillerine de hakim olmak yakın gelecekte karşımıza çıkacak daha farklı problemlerde bize fayda sağlayacaktır.