Neden C yerine tamamen C++ kullanılmıyor?

C++ C'nin üstü derken iPhone 11 ve iPhone 12 gibi üstü olmuyor. C++ daha "yüksek seviyeli" bir dildir. Burada seviye düştükçe makine diline yaklaşılır, daha karmaşık fakat daha hızlı çalışan kod anlamına gelir. Gömülü sistemler için C daha uygun iken çeşitli programlar için C++ daha uygundur.
Üstü derken yani sadece OOP hali mi ne diyorlardı. Yani ek özelliği olacak şekilde. Bunu demek istedim.
Bana dillerin kullanım alanlarını ve amaçlarını kavrayamamışsın gibi geldi. C'nin alternatifsiz olması demeyelim de bu kadar önemli olmasının sebebi, makine diline oldukça yakın olması. Bir şeyi kontrol etmek istersen, ona yakın olman gerekir. Aynı şekilde, işletim sistemi de yazarken makineye yakın olman gerekir. Makineye yakınlık hızın dışında verimlilik ve kolaylık sağlar. MAkine dili için bu makaleye bakabilirsin:

Hocam YouTube'dan takip ettiğim hoca alternatifsiz demişti de, ondan. Gerçi video 5-6 yıllık yanlış hatırlamıyorsam.
 
C ile C++ derleyicileri aynı. Visual C++ ile C de derleniyor, gcc içinde g++ var.
Hayır , her c++ derleyicisi c derleyebilirken c derleyiciler c++ derleyemez . g++ "gcc c derleyicisinin" içinde değildir gcc derleyiciler koleksiyonunun bir parçasidir . Zira gcc nin açılımı gnu compiler collection dur c derleyicisinin gcc olarak gecmesi populerligi ve ilk gcc derleyicisi olmasindandir . Bir c derleyicisinde type deduction gibi gelişmiş yapılar yoktur .
 
Hayır, her c++ derleyicisi C derleyebilirken C derleyiciler c++ derleyemez. G++ "gcc C derleyicisinin" içinde değildir gcc derleyiciler koleksiyonunun bir parçasidir. Zira gccnin açılımı GNU compiler Collection dur C derleyicisinin gcc olarak gecmesi populerligi ve ilk gcc derleyicisi olmasindandir. Bir C derleyicisinde type deduction gibi gelişmiş yapılar yoktur.
Çoğu nesne yönelimli ve C++ dan daha yüksek seviyeli programlama dillerinin derleyicilerinin kaynak kodlarına bakarsan, çoğu C ile yazılmış. (Python, Perl, Ruby ve neredeyse başka daha ne varsa.) Standard kütüphanelerinin bir şeyi desteklememesi, mutlaka o kütüphanelere bağlı kalınması anlama gelmez. Kütüphaneler programcılar için kolaylık. Yine bazı yüksek seviyeli diller derlenmeden önce C kaynak koduna çevrilip, bir C derleyicisi üzerinden derleniyor. (Swift, Rust, Nim, Vala v.s)
 
Çoğu nesne yönelimli ve C++ dan daha yüksek seviyeli programlama dillerinin derleyicilerinin kaynak kodlarına bakarsan, çoğu C ile yazılmış. (Python, Perl, Ruby ve neredeyse başka daha ne varsa.) Standard kütüphanelerinin bir şeyi desteklememesi, mutlaka o kütüphanelere bağlı kalınması anlama gelmez. Kütüphaneler programcılar için kolaylık. Yine bazı yüksek seviyeli diller derlenmeden önce C kaynak koduna çevrilip, bir C derleyicisi üzerinden derleniyor. (Swift, Rust, Nim, Vala v.s)
Hocam konu standart kütüphane değil konu direkt olarak derleyici örneğin microchip'in pic mikrodenetleyicileri için c++ derleyicisi yok fakat c derleyicisi var . Bana güvenmediysen stackoverflow'da neden c++ yerine c kullanmalıyım sorusuna yaklaşık 180 upvote almış yanıttan alıntı bırakıyorum şuraya :
  • your platform doesn't provide C++ (a C compiler is much easier to implement),
Çoğu nesne yönelimli ve C++ dan daha yüksek seviyeli programlama dillerinin derleyicilerinin kaynak kodlarına bakarsan, çoğu C ile yazılmış. (Python, Perl, Ruby ve neredeyse başka daha ne varsa.) Standard kütüphanelerinin bir şeyi desteklememesi, mutlaka o kütüphanelere bağlı kalınması anlama gelmez. Kütüphaneler programcılar için kolaylık. Yine bazı yüksek seviyeli diller derlenmeden önce C kaynak koduna çevrilip, bir C derleyicisi üzerinden derleniyor. (Swift, Rust, Nim, Vala v.s)
Ayrıca Rust Swift gibi dillerin c kaynak koduna derlenmesi gibi olay yok saydığın diller lvvm arka ucuna sahip dillerdir .Llvm dahil Hicbir derleyici bir yuksek seviye dili diger yuksek seviye dile cevirmez kaynak kodu okur sonra ya assembly komutlarina donusturur yada o anda yorumlar ve kodu calistirir.
 
Llvm dahil hicbir derleyici bir yuksek seviye dili diger yuksek seviye dile cevirmez kaynak kodu okur sonra ya assembly komutlarina donusturur ya da o anda yorumlar ve kodu calistirir.
Konu ile alakasız ancak bu ifadeyi çürütmek için;
TypeScript, JavaScript'e derleniyor.

Benim gözümde Clean Code'un neredeyse eş anlamı olan DOOM'un kaynak kodunu incelediğimizde çok sade, temiz bir yapının kurulduğunu görebiliriz. C++ programcısının bir tanesi Twitch üzerinde 11 saatte DOOM'un C kodunu C++'a çevirdi. Büyük bir kısmını takip ettim.
Sırf Abstraction yapabilmek için kodun içinden geçti. void*'lar havada uçuştu.

Bir dilin iyi olması onun her zaman her yerde kullanmamız gerektiği anlamına gelmiyor.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 

Yeni konular

Geri
Yukarı