C++ nedir? Ne ise yarar?

Örümcek adam dalga geçmiyor, ben geçiyorum. Keşke o çok kullanmayı bildiğiniz Google'ı kullansanız da yazılım mühendisliğinin aslında ne kadar basit bir şey olduğunu, yazılım kelimesinin günümüzde ne kadar boş bir kelime olduğunu anlayabilseniz.
Yazılı değil, bilgisayar.
Bir bakın okullara. Hangisi ne alemde? Hangisi kaç yıldır var? Hangisindeki hocalar daha iyi?
 
Örümcek adam dalga geçmiyor, ben geçiyorum. Keşke o çok kullanmayı bildiğiniz Google'ı kullansanız da yazılım mühendisliğinin aslında ne kadar basit bir şey olduğunu, yazılım kelimesinin günümüzde ne kadar boş bir kelime olduğunu anlayabilseniz.
Yazılı değil, bilgisayar.
Bir bakın okullara. Hangisi ne alemde? Hangisi kaç yıldır var? Hangisindeki hocalar daha iyi?
Bu yazılım kelimesiyle alıp veremediğiniz şey hakkında biraz bizi aydınlatırmısınız beyfendi ?
Örümcek adam dalga geçmiyor, ben geçiyorum. Keşke o çok kullanmayı bildiğiniz Google'ı kullansanız da yazılım mühendisliğinin aslında ne kadar basit bir şey olduğunu, yazılım kelimesinin günümüzde ne kadar boş bir kelime olduğunu anlayabilseniz.
Yazılı değil, bilgisayar.
Bir bakın okullara. Hangisi ne alemde? Hangisi kaç yıldır var? Hangisindeki hocalar daha iyi?
Ayrıca örümcek adam değil simit yiyen örümcek adam
 
C sistem programlama dilidir. Makine diline çok yakın çıktı üretir bu sayede en basit en ucuz mikrodenetleyiciden en gelişmiş bilgisayar mimarilerine kadar her şeyi programlamayı olanaklı kılar. Donanım kontrolü için en ideal dillerdir. İşletim sistemi çekirdekleri, donanım sürücüleri çok büyük bir oranda C veya C dialekti ile yazılır. Grafik programlamada da kullanılır.

C++ C'ye yeni özellikler ekleyen bir dildir. Daha organize kod yazmanızı sağlar ve büyük projelerde çalışmayı kolaylaştırır. C++ ile yapılan her şeyi C ile de yapabilirsiniz. C ile de aslında her şeyi yapabilirsiniz. Bu dillerin en büyük özelliği sistem seviyesine ve donanım seviyesine yakın olmalarıdır fakat bu gücün handikapı uygulama geliştirmenin zor olmasıdır. Çünkü kısa bir süreye kadar bellek yönetimi dahil her şeyi elle kendiniz yapmanız gerekiyordu. Modern C++'da bunu dile de bırakabiliyorsunuz ama iyi bir şekilde C ve C++ programlama yapabilmek demek bellek yönetimini iyi yapabilmek demektir. Bu da çok çok zor bir iş. Yazılım geliştirmenin en temel sorunlarından biri bile diyebiliriz. Hata yapmanın kolay, tespit etmenin zor olduğu bir numaralı alan olabilir.

Bu nedenle bizi bu işletim sistemi, bellek yönetimi, donanım vs. gibi karmaşık işlerden soyutlayan direkt ne yapmak istiyorsak onu yapmamızı kolaylaştırmaya çalışan diller var. Genel amaçlı uygulama geliştirme dilleri bunlardır. Akla ilk gelenler C# ve Java. Bunlarda da çok isterseniz kendiniz bellek yönetimi belli bir ölçüde yapabilirsiniz ama dilin temel tasarımı bu değildir. Sizi bunlara takılmadan uygulama geliştirmeye teşvik eder.

Bu nedenle eğer amacınız donanım programlama, işletim sisteminin derinliklerine girme ya da çok yüksek performans gerektiren uygulamalar geliştirme değilse sistem dillerinden ziyade uygulama dillerine bakmak daha mantıklı olabilir. Özellikle C++ çok büyük bir külliyat. Bunla uğraşıp teorik bilgi içinde boğulmaktansa C# ile Unity'de küp çevirme başlangıç için daha motive edici olabilir. C# ve Unity programlama öğrenmek için oyuncak gibi de düşünmeyin. Stratch gibi programlama öğretmeye yönelik bir oyuncak değil bunlar. C# Unity ile öğrendiğiniz hemen her şey sektörde de doğrudan kullanabileceğiniz bilgiler olacaktır. Türkiye'de de C# oldukça yaygın bir dil. C++'dan daha yaygın olduğu da kesin. Web, masaüstü, oyun gibi bir çok alanda da kullanılıyor. Öğrenmesi de C++ kadar ağır değil.

Lisans eğitimine de fazla takılmayın. İyi bir okulda öğrenim görmediğiniz sürece lisans eğitimin kendisi çok bir anlam ifade etmez. Tabi okulda çok güzel çevre edinip çok değerli hocalar ile tanışabilirsiniz fakat salt bilgi edinme olarak bakıyorsanız çok iyi okullar hariç ufkunuzu genişletecek bir eğitim sizin önünüze hazır olarak konmayacak. Yine kendiniz araştırıp öğreneceksiniz. Bu nedenle özellikle bu programlama gibi bir alanda elinizin altında internet varken okula bel bağlamak anlamsız. Okulun size ektradan sağladığı bir imkan yok yani olay yine sizde bitiyor. Çok iyi bir okul olmadığı sürece okul sadece bu alanlarda ilgili kişilerle bir araya gelmenizi sağlayan bir ortam olur. O bile bir nebze sonuçta inşaat mühendisliği, makine mühendisliği altına bilgisayar yazıp gelen hiç ilgi duymayan arkadaşlarınız da olacaktır. İyi bir okul kazanamadıysanız slayttan programlama öğretmeye çalışan hocalarınız olacaktır. O nedenle lisans eğitiminden çok bir şey beklememek lazım.
 
Son düzenleme:

Yeni konular

Geri
Yukarı