C ve C++ Dilleri Nasıl Öğrenilir: Nihai Liste

Yayınlanan: 2022-03-11

C programlama dili orijinal olarak Dennis Ritchie tarafından UNIX işletim sistemi için geliştirilmiş ve uygulanmıştır. Oldukça basit olan C dili herhangi bir donanıma veya sisteme bağlı değildir. Bu, bir kullanıcının hemen hemen tüm makinelerde pek çok (veya herhangi bir) değişiklik olmadan çalışacak programlar yazmasını kolaylaştırır.

C dili, üst düzey dillerin öğelerini montaj dilinin işlevselliğiyle birleştirdiği için genellikle orta düzey bilgisayar dili olarak adlandırılır. C programlama, bitlerin, baytların ve adreslerin değiştirilmesine izin vererek programcıya programın tam olarak nasıl davranacağı üzerinde daha fazla kontrol ve temel donanımın mekaniğine daha doğrudan erişim sağlar.

C, çalışan programcılar tarafından yaratıldı, etkilendi ve sahada test edildi. Sonuç olarak, C programcıya programcının istediğini verir.

C++, C dilinin geliştirilmiş bir sürümüdür. C++, C'nin parçası olan her şeyi içerir ve nesne yönelimli programlama (OOP) için destek ekler. Ayrıca C++, nesne yönelimli programlamadan bağımsız olarak onu "daha iyi bir C" yapan birçok iyileştirme ve özellik içerir.

C++ dili aslında genişletilebilir çünkü yeni türleri, standart dilin parçası olan önceden tanımlanmış türler gibi davranacak şekilde tanımlayabiliriz.

C++'ı daha iyi bir C olarak kullanırsanız, tüm gücünü kullanmayacaksınız. Herhangi bir kaliteli araç gibi, C++ da zenginliğinden yararlanmak için tasarlandığı şekilde kullanılmalıdır. Yeni özelliklerden bazıları kapsülleme, satır içi işlev çağrıları, operatörleri aşırı yükleme, kalıtım ve polimorfizmi içerir.

Neden C veya C++ öğrenmek isteyeyim?

C ve C++ hala en popüler programlama dillerinden ikisi. Özellikle C'nin sözdizimi ve kavramları zamanın testinden geçmiştir ve bunların diğer popüler programlama dillerine, hatta Go gibi modern olanlara bile taşındığını görebilirsiniz.

Hayatınızın geri kalanı için web uygulamaları veya süslü web ön uç bileşenleri oluşturacak olsanız bile, C öğrenmek, yazılım ve donanımın gerçekte nasıl etkileşime girdiğini anlamanıza yardımcı olacaktır.

Ayrıca, C ve C++ her yerdedir.

Özellikle C, inandığımızdan çok daha fazla teknolojiye güç veriyor.

Öte yandan, en sevdiğiniz yazılımlardan bazıları - muhtemelen bu makaleyi okuduğunuz web tarayıcısı bile - C++ üzerine kuruludur. C'yi bilmek iyi bir temeldir, ancak çoğu durumda yazılım geliştirme, C++ ve paradigmalarını öğrenmenizi gerektirir.

Örneğin, bir bilgisayarın performansından ve yeteneklerinden en iyi şekilde yararlanmanız gereken bir yazılım geliştirmek istiyorsanız (örneğin, üst düzey masaüstü oyunları, gelişmiş üretkenlik araçları veya karmaşık hesaplama açısından yoğun programlar) veya yalnızca size izin veren bir programlama dili istiyorsanız. bir bilgisayarın donanımıyla doğrudan etkileşime geçin, C ve C++ sizin için dillerdir.

Öyleyse neden C++ veya C öğrenmek istemiyorsunuz ? Başlamak için tescilli bir derleyiciye yatırım yapmak zorunda kaldığınız 25 yıl öncesine benzemiyor - bugün kesinlikle ücretsiz C++ öğrenebilirsiniz.

C ve C++ ile nasıl başlayabilirim?

C veya C++'a başlamak için, çoğu durumda en azından bir derleyiciye ihtiyacınız olacak - ancak günümüzde tarayıcıda "merhaba dünya" C projeleriyle biraz deneyerek C'yi çevrimiçi olarak da öğrenebilirsiniz.

Derleyiciler, komut satırı arabirimleri (CLI'ler) aracılığıyla çalıştırılabilen programlardır. Programın tamamını okurlar ve onu program kaynak kodunun bir çevirisi olan nesne koduna, bilgisayarın doğrudan çalıştırabileceği bir forma dönüştürürler.

Hayatı kolaylaştırmak için, C veya C++ ile deneyiminizi daha da keyifli hale getirebilecek tam teşekküllü IDE'lere gidebilirsiniz.

pencereler

Windows'ta birçok iyi derleyici mevcuttur.

Windows'ta Visual Studio, bir C++ derleyicisi sağlar.

Derleyici ayrıca C programları da oluşturabilir.

Visual Studio, kendi güçlü, zengin özelliklere sahip IDE'si ile birlikte gelir ve bu da onu C veya C++ ile başlayan veya öncelikle Windows platformunu hedefleyen herkes için mükemmel bir seçim haline getirir.

Daha standart uyumlu bir şey arıyorsanız, GCC (MinGW) ihtiyacınız olan şey olabilir. Codeblocks IDE, bu kurulumda son derece iyi çalışıyor.

Clang da artık Windows'ta zorlu bir seçim, hatta günümüzde Google Chrome'u oluşturmak için bile kullanılıyor.

Eclipse CDT, Jetbrains CLion ve Netbeans gibi tamamen işlevsel C ve C++ geliştirme ortamları sağlayan başka platformlar arası IDE'ler mevcuttur. Ancak son zamanlarda bunlar, Linux ve Mac ortamları için de kullanılabilen Visual Studio Code tarafından gölgede bırakılıyor (ironiyi bağışlayın).

Linux

Linux kullanıyorsanız, muhtemelen dağıtımınızın bir parçası olarak GCC'yi yüklemişsinizdir. Değilse, yüklemek yalnızca tek bir komuttan ibaret olmalıdır:

 # Ubuntu sudo apt-get install build-essential # Fedora sudo yum install gcc gcc-c++ # Arch Linux sudo pacman -S base-devel

Codeblocks IDE ve Eclipse CDT, Windows'ta olduğu gibi Linux'ta da eşit derecede iyi çalışır.

Mac / Mac OS X / OS X / macOS

Mac'te Clang veya GCC'yi kullanabilirsiniz; her ikisi de ücretsiz olarak mevcuttur. GCC, daha geniş bir C ve C++ standartları yelpazesini desteklerken, Clang çoğu durumda iyi çalışacaktır.

Clang zaten kurulu olmalıdır.

GCC'yi Homebrew kullanarak kurabilirsiniz:

 brew install gcc

Mac OS geliştirici araçlarının bir parçası olan harika bir IDE olan XCode'u kullanabilirsiniz.

C ve C++ öğrenmek için iyi dersler nelerdir?

Öğreticiler, yeni bir programlama diline başlamak için harika bir yoldur. Programlamaya pek aşina olmasanız bile. Aşağıdaki öğreticiler size en önemli kavramları öğretecektir.

LearnVern'de C Programlama

Bu kapsamlı C programlama çevrimiçi kursu, daha önce programlama deneyimine sahip olmayan yeni başlayanlar için harikadır. Genel olarak C ve programlamanın en temellerinden başlar ve dinamik bellek ayırma, dosya yönetimi vb. gibi ileri düzey konuları kapsar.

Coursera'daki C Programcıları için C++

Zaten C'ye aşinaysanız ve parmaklarınızı C++'a daldırmak istiyorsanız, bu iki bölümden oluşan kurs tam size göre. Bu kurs, bu iki dil arasındaki farkları gerçekten vurgular ve size C++'tan en iyi şekilde nasıl yararlanabileceğinizi gösterir.

Pluralsight'ta C++ Temelleri

Öte yandan, C++'ın temellerinden başlamak ve bunu temelden öğrenmek istiyorsanız, PluralSight tam size göre bir öğreticiye sahiptir. C++ ile daha verimli olmak isteyenlere yöneliktir.

Udemy'de Yeni Başlayanlar İçin C Programlama

Bu çevrimiçi C programlama kursu, yeni başlayanlar için uygundur ve üç popüler platformdan herhangi birinde (Windows, Linux ve Mac OS X) C ile başlamak isteyen herkes için mükemmeldir.

Udemy'de Yeni Başlayanlar için C++ Eğitimi

Bu kurs, temel bilgisayar bilgisine sahip olan ancak şimdi programlama alanına girmek isteyen herkese yöneliktir. Muhtemelen, ilk diliniz olarak C++ öğrenmenin en iyi yolu budur. Ayrıca, oyun geliştirmeyi ilginç buluyorsanız, başlamak istediğiniz kurs budur.

Udemy'de İleri Düzey C++ Programlama Eğitimi Kursu

Temel C++ programlama becerilerinizden memnun olduğunuzda ve gerçek anlaşmaya geçmeye hazır olduğunuzda, bunun gibi gelişmiş bir eğitim isteyeceksiniz. Eğitim, polimorfizm, şablonlar, istisna işleme, akışlar, kapsayıcılar, algoritmalar, yığınlar ve çok daha fazlasını kapsar.

comp.lang.c Sıkça Sorulan Sorular

Bazen tek ihtiyacınız olan, sorunlarınızı çözmek için hızlıca arayabileceğiniz zengin bir soru ve cevap listesidir. Bu, başlı başına bir öğretici değil, daha çok yapılandırılmış bir sık ​​sorulan sorular dizisidir.

Frank Brokken tarafından C++ Ek Açıklamaları (Sürüm 10.9.2)

Bu web tabanlı eğitim, C++'a geçiş yapmak isteyen ileri düzey C programcıları (veya Perl veya Java programcıları - "C benzeri bir dilbilgisine sahip olduğu düşünülen herhangi bir şey" için) için tasarlanmıştır. C programlama dilinin bittiği yerde (işaretçiler, bellek ayırma ve bileşik türler gibi) devam eder ve bu da onu çok iyi bir C++ programlama kılavuzu yapar.

Google C++ Stil Kılavuzu

C++ programlamayı öğrenirken daha ayrıntılı programlar yazdıkça, hızla bakım sorunlarıyla karşılaşabilirsiniz. Kıdemli C++ programcılarının stil kılavuzlarının kullanışlı olduğu yer burasıdır. Bu stil kılavuzu Google tarafından sağlanmaktadır.


Yukarıdaki C/C++ öğreticileri sizin için yeterli değilse, C öğrenmek ve C++ öğrenmek için topluluk tarafından yönetilen iyi öğretici listeleri vardır.

Kitap okuyarak C ve C++ öğrenebilir miyim?

Kitaplar, bir programlama dili hakkında derinlemesine bilgi edinmenin harika bir yoludur. Bir programlama dilinin karmaşık işlevlerinin nasıl çalıştığına dair birçok harika açıklama ile, C veya C++ ile ilgili iyi bir kitaptan edindiğiniz bilgiler, bu dilleri projeleriniz için kullanırken size üstünlük sağlayabilir.

Özetle C: Kesin Referans (2. Baskı) Peter Prinz ve Tony Crawford

Bu kitap C programlama diline küçük bir giriş içermekle birlikte, C programlamayı öğrenmek istiyorsanız ikinci bir kitap olarak daha uygundur. Bu kitap, ileri düzey geliştiricilerin becerilerini en üst düzeye çıkarmasına olanak tanıyan ipuçları, teknikler, örnekler ve pratik tavsiyeler sağlar. yetenekler.

Kitap üç bölüme ayrılmıştır.

İlki, C dilini terimin tam anlamıyla tanımlar; ikincisi standart kitaplığı tanımlar ve üçüncüsü popüler GNU yazılım koleksiyonundaki araçlarla programları derleme ve test etme sürecini tanımlar.

Özetle C, Brian W. Kernighan & Dennis Ritchie (K&R olarak da bilinir) tarafından yazılan The C Programming Language kitabının mükemmel bir arkadaşıdır ve masanızda en çok erişilen başvuru kitabı olmaya adaydır.

Brian W. Kernighan ve Dennis Ritchie tarafından yazılan C Programlama Dili

Bu, orijinal Kernighan & Ritchie metninin ikinci baskısıdır.

İlk baskının yapısını korurken ANSI standardı tarafından dahil edilen değişiklikleri içerdiğinden genellikle Yeni Ahit olarak anılır.

Kitap, okuyucunun bazı temel programlama bilgisine sahip olduğunu varsayar. Dolayısıyla, programlamaya yeni başlıyorsanız ve C ilk dilse, bu kitap sizin için ideal olmayabilir. Bununla birlikte, üzerinde bu yoğun notları faydalı bulabilirsiniz.

Bu, C programlamaya giriş yapmanın en iyi yollarından biridir ve olmazsa olmazlardandır - özellikle de kendi programlama kitapları koleksiyonunuza başlıyorsanız.

Bjarne Stroustrup tarafından yazılan C++ Programlama Dili (4. Baskı)

Bjarne Stroustrup, C++'ın tasarımcısıdır ve bu konuda birçok harika kitap yazmıştır.

Bu kitap üç bölüme ayrılmıştır.

İlk bölüm, C++ programlamaya öğretici bir giriş sağlar.

İkinci bölüm, C++ kullanımıyla bağlantılı olarak ortaya çıkan tasarım ve yazılım geliştirme konularının bir tartışmasını sunar ve üçüncü bölüm, eksiksiz bir başvuru kılavuzudur.

C++'ın popülaritesi ile birlikte, birkaç bağımsız C++ dağıtıcısı öne çıktı, ancak kitap 'saf C++' konusunu tartışıyor; yani, uygulamaya bağlı uzantılar kullanılmaz.

Bir programlama dilini öğrenmenin en iyi yollarından biri, çalıştığınız konu ile ilgili küçük programlar yazmaktır. Her bölümün sonunda yeni öğrendiğiniz bilgileri uygulamaya yönelik alıştırmalar bulunmaktadır.

Etkili C++: Programlarınızı ve Tasarımlarınızı Geliştirmenin 55 Özel Yolu, Scott Meyers

C++ ile büyük yazılımlar oluşturmak tasarım ve disiplin gerektirir. C++ konusunda ciddiyseniz, bu kitap mutlaka okunmalıdır.

Etkili sınıfların, işlevlerin, şablonların ve miras hiyerarşilerinin tasarımı için bir uzman kılavuzudur. Kitap ayrıca C++'ın diğer dillerden nasıl farklı olduğunu ve işlerin "C++ yolu" nasıl yapıldığını tartışıyor.

C++ Primer (5. Baskı), Stanley B. Lippman tarafından

C++ Primer harika bir kitap ve C++ öğrenmeyi eğlenceli hale getirecek. Gerçekten de piyasadaki en iyi C++ kitaplarından biridir, ancak programlama kavramlarına çok fazla aşinalık ve C'de yeterlilik varsayar.

Bu kitabın en son baskısı, yeni ve gelişmiş özelliklerden en iyi şekilde yararlanmak isteyen programcılar için mükemmeldir.

Marshall P. Cline'dan C++ SSS'leri (2. Baskı)

Bu, programlama, tasarım, analiz ve test hakkında yaklaşık 500 sorunun yanıtlarını içeren olağanüstü bir kitaptır. Yeni başlayanlar için değil, dilin sözdizimini çözen programcılar bunları uygulamak istiyor.

“Sınıf değişmezi nedir?”, “İstisnaları nasıl kullanmalıyım?”, “Bir yıkıcı çalıştırıldığında ne olur?” gibi sorularınız varsa, bu kitap tam size göre.

Etkili Modern C++: C++11 ve C++14 Kullanımınızı Geliştirmenin 42 Özel Yolu, Scott Meyers

Halihazırda C++ konusunda deneyimliyseniz ancak bunun daha yeni standartlarını test etmek istiyorsanız, bu kitabı okuyun. Bu yeni standartlar sayesinde C++'ın ne kadar geliştiğine şaşıracaksınız. Kitap, C++'daki yeni yeteneklerin en etkili şekilde nasıl kullanılacağını tartışıyor. (C++ standardı şu anda C++17'ye kadar çıksa da, C++14 hala birçok proje bağlamında son teknolojidir.)

Etkili STL: Scott Meyers'in Standart Şablon Kitaplığını Kullanımınızı İyileştirmenin 50 Özel Yolu

C++'ın en şaşırtıcı yönlerinden biri, Standart Şablon Kitaplığı'dır (STL). En güçlü özelliklerden biridir, ancak oldukça karmaşık olabilir. Bu kitap, STL'nin farklı alanlarını keşfeden 50 harika ipucu ve 100'den fazla STL algoritması sunarak, onu C++'a yeni başlayan geliştiriciler için daha ulaşılabilir hale getiriyor.

İlgili: Geliştiricilerin Yaptığı En Yaygın 10 C++ Hatası