C/C++ programlama ile ilgili sıkça sorulan sorular

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
21,558
C/C++ programlama ile ilgili sıkça sorulan soruları burada toplayalım.

C ile ilgili ingilizce ve çok kapsamlı bir "sıkça sorulan sorular" sitesi: http://c-faq.com/

C++ ile ilgili ingilizce ve çok kapsamlı bir "sıkça sorulan sorular" sitesi: https://isocpp.org/faq

KONUDA MESAJ DAĞINIKLIĞI OLMAMASI İÇİN, SADECE SORU/CEVAP OLAN YENİ MESAJLAR EKLEYELİM. EĞER ZATEN VAR OLAN BİR SORU/CEVABI İYİLEŞTİRMEK, ELEŞTİRMEK, VEYA TARTIŞMAK İSTİYORSANIZ, İLGİLİ MESAJA YORUM YAZIN. BÖYLECE BU KONUDA SADECE SORU/CEVAPLAR OLUR VE HER BİRİSİ DE YORUMLARLA TARTIŞILIP EN DOĞRU, EN YARARLI HALE GETİRİLMİŞ OLUR.
 
Son düzenleme:
Önce C mi öğreneyim yoksa direkt C++ ile mi başlayayım?

Eğer yapacağınız iş C++ dilini gerektiriyorsa veya çoğunlukla bu dil ile proje yapmanız gerekecekse, direkt olarak C++ öğrenmeye başlayın. Eğer yaptığınız iş C dilini gerektiriyorsa veya çoğunlukla bu dil ile proje yapmanız gerekecekse, o zaman da C öğrenmeye başlayın. Ama C öğrenmenin, C++ öğrenmeye pek bir faydası olmaz. C ve C++ dillerinin ortak yönleri vardır, ama bunlar C++ dilinin çok kısıtlı bir bölümünü teşkil eder. Kabaca bir oran belirtmek gerekirse, C ve C++ ortak yönleri, C++ dilinin tamamının en fazla %10 udur. C++'ın geriye kalan %90 ını eninde sonunda öğreneceksiniz, o yüzden işiniz C++ ile ise, direkt C++ öğrenmeye başlayın.

Eğer C++ öğrendiyseniz C dilini de büyük ölçüde biliyorsunuz demektir. Tek sorununuz, C dilinde sık görülen birçok riskli programlama yapısını olağan karşılamak olacaktır :) Var olan bir C programına bakıp da "lanet olsun, bunu sıfırdan yeniden yazmak lazım" dürtüsüne teslim olmamaya çalışmanız lazım :)

Eğer C biliyorsanız dahi, C++ öğrenmek baya bir zamanınızı alacaktır.

Ama neticede, her iki dili de öğrenmek lazım. Öğrenmek derken de, C++ dilinde "guru" seviyesine çıkmaktan bahsetmiyorum. C++ daki class'ları, overloading, inheritance, abstraction, polymorphism konularını iyice öğrenmek lazım. Şablonlar (templates), İsim alanlar (namespaces), exception'ları gerektiğinde öğrenseniz de olur. Ayrıca C++'ın bir de STL'si vardır (Stardard Template Library). Bu kütüphane, kullanıma hazır, şablonlanmış birçok class'tan oluşur. Bunu da sonra gerektiğinde öğrenirseniz olur.
 
Son düzenleme:
C/C++ dillerinin standartlarını en yakın takip eden, ve standartlaştırılmış özellikler için en kapsamlı desteği sunan derleyiciler hangileri?

GNU Compiler Collection (GCC) ve CLang, bu konuda diğer derleyicilere göre açık ara farkla öndeler. O yüzden, eğer mümkün ise, bu derleyicileri kullanmak lazım.

Derleyicilerin en son standartları destekleme durumu ile ilgili bir karşılaştırma tablosu: https://wiki.apache.org/stdcxx/C++0xCompilerSupport
 
C, C++ dilinden daha az bellek tüketir ve daha az özellik sunar. C++ dili daha çok bellek tüketir ve bazı ek özelliklerle birlikte gelir. C dilinin birçok konuda yeterli olduğunu düşünüyorum. C dili, düşük kaynağa sahip sistemler için uygundur. C++ dili, daha yüksek kaynağa sahip sistemler için daha uygun olabilir.
 
Soru: C/C++ ile sadece konsolla mı çalışılır?

Yanıt: Hayır. Her "Turing Complete" dille her şey yapılabilir. Önemli olan derleyiciler (compilers), bağlayıcılar (linkers), birleştiriciler (assemblers) ve kitaplıklardır (libraries).



Soru: C/C++ dili öldü mü?

Yanıt:
Hayır. C/C++ ile yazılmış binlerce proje var ve C/C++ dili hâlâ kullanılmaya devam edecektir.



Soru: C/C++ ile GUI programlama kütüphane önerileriniz var mıdır?

Yanıt: C için en iyi GTK+, C++ için en iyi Qt öneririm.



Soru: Başlangıç dili olarak C veya C++ önerir misiniz?

Yanıt: Tabii ki, hatta çocuklar için bile bunlar uygundur. Bence Scratch gibi şeyler C/C++ kadar öğretici olamaz.

Ama çocuklara C/C++ çok ağır gelir, bir sürü derleyici, editör vs. var, bunlar kafa karıştırır diyenlere Turbo C++ 1.01'i ve Turbo C 2.01'i öneririm. Bunları DOSBox emülatör ortamında veya Windows XP'li bilgisayarınızda güzelce kullanabilirsiniz.
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,660
Mesajlar
97,362
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top