C++ vs C# hangisi ogrenilmeli

Arkadaşlar C++ damı C#da mı daha fazla imkan vardır hangisi ogrenilmeli sizin kişisel düşüncenizi soruyorum.

Diller amaç değil, araçtır. Ne için bu ikisinden birini tercih etmeniz gerekiyor?

3 Beğeni

Ne zaman birisine c++ kaynağı sorsam okumadan c# öğren diyor mesela c++ bilen bı abim vardı kaynak sordum dedi csharp öğren bu bir değil iki değil böyle devam etti bende dedim heralde c# c++dan daha iyi veya insanları manipüle ediyorlar bune ya :smile:

Peki neden C++ öğreniyordunuz da adam size C# dedi?

Ben kendimi geliştirmek ve ilerde yapabileceğim uygulama sayısını arttırmak amacı ile c++ öğrenmek istiyordum (UE nin De katkısı var)
Sürekli ne desem csharp öğren
Konuşma aynen şu sekilde

Ben:bana kaynak onerirmisin kardeşim
Arkadaş:c Sharp öğren 
Ben:ne alaka ben ne diyorum sen nediyon
Arkadaş:soruyu okumadimki bidaha sor bakım
Ben: ...

Hmm… Sırf kendinizi geliştirmek için öğrenecekseniz her dil olabilir. Yani mesela bana deseydiniz ki Oyun yapmak istiyorum, ben size C# bu konuda daha iyi derdim. Ama kendinizi geliştirmek istiyorsanız her dil olur. Fakat C++'ın sözdizimi zordur biraz, düşük seviyeli olduğunu da hesaba katarsanız, ben öğrenmeyin derim. Eğer bir dil öğreneyim her yerde işime yarasın diyorsanız, ya Python ya Java ya da C öğreneceksiniz. (C biraz daha dar kapsamlıdır). Zaten halihazırda Python ile ilgileniyordunuz değil mi? Kendinizi Python’da geliştirebilirsiniz veya Java veya C öğrenebilirsiniz.

İlginç bir diyalogmuş :smile:

1 Beğeni

Kardeş bu diller birbirlerinin alternatifleri pek sayılmaz.

C# daha çok Windows’a özgü yazılım projelerini suratlice geliştirebileceğin bir dil. C++'a göre daha yüksek seviyeli, bu nedenden ötürü öğrenilmesi de daha kolay. Kolayca masaustu uygulama geliştirebilirsin.

C++ ile de masaüstü uygulama geliştirebilsen de bu konuda çok tercih edildiğini görmedim. Android uygulama geliştirilebilse de genelde Java tercih ediliyor. Makine diline daha yakın işlerde tercih edilen bir dil. Mesela Arduino programlamak için kullanılıyor yani gömülü sistemlerde tercih ediliyor. Yine işletim sistemlerinin bir çok yeri C++ ile yazılabiliyor.

Kısacası farklı kulvalarda oldukları söylenebilir. İnsanların çoğunun C#'ı önermesi normal. Çünkü çoğunluk masaüstü uygulamalarını süratli bir şekilde geliştirmeyi istiyorlar. C++ bazen eziyet halini alabiliyor.

C++ makine diline daha yakın olduğu için native uygulamalar geliştirilebiliyor. Mesela aşağıda Pardus mağaza uygulamasının adım adım gelişimi görünmekte. Yanlış hatırlamıyorsam C++ & Qt framework’ü ile yazılmıştı.

@Emerald_Gamer C# öğrenmeniz sizin için daha iyi olur.
Hem oyun yapmayı seviyordunuz değilmi ?

Bu noktada sürekli aynı hata yapılıyor. C# ile Windows alakasız şeyler. C# ı Microsoft yaptı ama sadece Windows için değil.

Ama gui si sanirim sadece windows icin
Zaten daha cok dedi windows disinda calismaz demedi birde ben c sharpin calisma mantigini anlamadim derleniyormu birde .net nedir

Bu anlamsız bir cevap, @rosmanoglu’nun da dediği gibi bir amaca göre dil öğrenilmesi daha doğru.

Günümüzde büyük oyunları sıfırdan yazmayı tercih eden çok az kişi var, bu yüzden oyun yapımında dilden ziyade oyun motorları hakkında konuşmak lazım. Burada C# ile, burada da C++ ile kullanabileceğimiz oyun motorlarına örnekler var. C#'ı seçenler geliştiriciye kolaylık olsun diye script dili kullanmak amacı ile seçiyor, C++ kullanmanın asıl sebebi de performans.

Herhangi bir işletim sisteminde çalışacak C# GUI kütüphanesi yapılmasının önünde bir engel yok.

https://docs.microsoft.com/tr-tr/dotnet/csharp/getting-started/introduction-to-the-csharp-language-and-the-net-framework

Daha çok Windows’a özgü dedim kardeş

Sıfırdan yazmayı kastetmedim aslında. Ama c# ın arkasında unity olduğu için böyle söyledim. (Evet cpp için unreal engine var ama unity daha popüler)

.net'in c# dışındaki dillerdeki karşılıkları ne? Örneğin python veya js'de bunun karşılığı ne?

Yok sanırım karsiligi

Programlamanın mantığını kavramak için C++ .
Hızlı proje geliştirmek için C#
Çok kullanılan kütüphaneler sıklıkla C/C++ ile yazılır. Daha low işlerle uğraşarak daha çok kendinizi geliştirebiliriniz…

Katılıyorum. Kendinizi gerçek anlamda geliştirmek için düşük veya orta seviye diller öğrenebilirsiniz.

1 Beğeni

Suanlik başka bir dile gecmemde amaç olmadığından dolayı pythonla biraz daha gelisicem eğer spesifik bir program yapmak istersem c++ gibi low diller öğrenebilirim

Python'da pythonnet modülü var. Ayrıca IronPython yorumlayıcısı da var.

1 Beğeni

Win’ciysen C#.Değilsen C++