C++ dersleri -1: C++ Nedir? Nerde ve ne zaman kullanilir?
C++ nedir?
C++ Nedir? ne ise yarar, yenirmi icilirmi diye soraniniz varsa size soyle kucuk bir ozet yaparak anlatmaya basliyayim. "C++, temelini olusturan C programlama dilinin gelistirilmis ve cok daha saglam bir programlama dili haline getirilmis halidir." Sincik bu ne demek diyeniniz varsa size bildigim kadariyla soyle anlatayim:
C++, temelini olusturan C programlama dilinin gelistirilmis halidir dedim. Yani C++ tan once C programlama dili vardi. Bu dil Dennis Ritche tarafindan B programlama dilinin gelistirilmis bir hali olarak cikartilmis dildir. C++, C ve B programlama dilleri biraz karismis olmali, dimi?
programlama dilleri isimleri havalarda ucusuyor olmali
guzel. Simdi bu bilgileri yerine oturtmaya basliyalim.
Daha onceleri yaygin olarak kullanilan B programalama dili, bazi konularda yetersiz olmasina ragmen yinede tutulan bir dildi. Ancak Dennis Ritche bu sorunlari ortadan kaldirmak amaciyla cok daha gelismis bir programlama dili olna C yi cikartti. Bu dil oyle tutulmaya basladi ki, ilk ciktiginda ordularda, askeri projelerde bile kullanilmaya baslanmis. C dilinin bu populerligi bir sure daha devam etmis ve sonunda yavas yavas yetersiz oldugu alanlar goze carpmaya baslamis. Ozellikle bazi guvenlik alanlarinda cok zorluk cikartmasi ve nesne tabanli programlama (object oriented programming) de yetersiz kalmasi gun gectikce hissedilir bir hal almaya baslamis. Sonunda 1979 yilinda yine Bell labaratuvarlarindan Bjarne Stroustrup ve ekibi tarafindan bu eksigi ortadan kaldiracak ve taa o zamandan su ana kadar kullanilabilecek kadar gelismis cok guclu bir programlama dili olusturulmus. adina ilk onceleri yanlis hatirlamiyorsam "siniflandirilmis C" gibi birseyler denmis ancak daha sonra ismi C++ olarak degistirilmis.
Bu C++ dilinin C ye gore avantajlarini ilerleyen derslerimizde gorecegiz. Simdilik C++ in C nin gelistirilmis hali olarak olusturldugunu bilmemiz yeterli olacaktir.
Simdi devam edelim. "cok daha saglam bir programlama dili haline getirilmis halidir" dedim. Peki bu nedemek? Bu su demek, C++, C nin sahip oldugu yapidan cok daha saglam bir dildir. Cunku gerek guvenlik konusunda sagladiklari kolayliklar ( ki bunlari kullanmak istemezseniz C yapisinida kabul etmektedir ) acisindan, gerekse C de yalasik 30 - 40 satirda halledebileceginiz bazi islemleri C++ ta sadece 1 satirda halledebilmeniz acisindan programciya oldukca kolaylik saglayan, ve yazilan programlarin daha guvenilir olmasi demek. Butun bu dediklerim size C++ in ne oldugu, ne zamanlarda kullanildigi ( guvenlik soz konusu oldugunda ve program kolayligi acisindan kolaylik saglamasini istedigimiz zamanlarda ) hakkinda genel bir fikir edinmenizi saglayacaktir. Ve ilerleyen derslerde uygulamalara gecince yavas yavas butun bunlarin ne demek oldugun anlayacaksiniz.
Ek Bilgi: C++ da yazdiginiz programlar yine dos ekraninda calisacaktir. Ve ise C++ tabanli olarak OpenGL veya graphics libraryleri katmadiginiz surece ki bunlar bir bakima C++ tan ayri diller sayilir, bunlari katmadiginiz surece bu programlarinizin ciktilariniz, sonuclarini dos ekraninda gormeye devam edeceksiniz. Ama bunu gorupte sakin uzulmeyin, C++ in sagladigi avantajlari gordukce onu sevmeye basliyacaksiniz. Ve size birkac kucuk ipucu:
--> Guvenlik konusunda cok guvenilir bir dil oldugundan hala bazi sirketler tarafindan kullanilmaktadir
--> Benim hayrani oldugum ve cok sevdigim JAVA dili bile buyuk olcude C++ ile hazirlanmis bir dildir, yani demek istedigim C++ diger dillerin olusturulmasindada kullanilan bir dildir.
--> C++ in sahip oldugu control statements, inheritance (kalitim) ve polymorphism gibi bazi onemli konulari ogrenmeniz demek, diger programlama dillerini ogrenirken oldukca fazla bir kolaylik ve zaman kazanci sahlayacaktir.
Bu bolum bir bakima C++ hakkinda genel bir bilgi edinmeniz icin hazirlanmistir. Ve umarim amacima ulasmisimdir. Sorunuz olursa Acemiler.net C, C++ ve JAVA forumunda lutfen sorunuz, kucuk veya onemsiz soru demeyin cunku en ufacicik sorular bile ilerde basiniza oldukca dert acacaktir inanin bana.
Saygilar,