Uygulama yapmak için C++ vs C#

715226

Centipat
Katılım
22 Eylül 2023
Mesajlar
40
Arkadaşlar C++'i orta seviyeden bir tik ustte biliyorum. Windows icin bir uygulama olusturmak istedigimde vesaire windows.h kutuphanesini falan ogrenmem gerekiyor, bu kutuphaneyi biraz arastirdim ve gereksiz zor, makine diline yakin.

Ornegin keylogger programi veya klavye, mouse hareketlerini takip eden bir program olusturmak icin vb. windows.h kutuphanesi kullaniliyor.
Acaba boyle uygulamalari yapmayi C++'da mi ogrensem yoksa C# veya Python'a mi gecsem diye merak ettim. Cunku genellikle bu 2 dil ile programlar gelistiriliyor.
 
Arayüz falan yapacaksan C# ile form uygulaması yapabilirsin. Arayüz olmayacaksa Python bence iyi. Gerçekten profesyonel bir şey istiyorsan windows.h ögrenmen gerek. Rust diline bakabilirsin belki daha basit olabilir C++'tan.
 
Arkadaşlar C++'i orta seviyeden bir tik ustte biliyorum.
C++ ile cok cesitli programlar yazdim hala su iddiada bulunacak kadar C++ bilmiyorum. C++'in syntaxi zor degil belki ama standard library'nin yarisini bile ogrenmek cok vakit alan bir sey. std::variant, std::any nedir biliyor musun? Nasil calistiklarini? Memory layoutlarini? concepts? Template meta programming? Parameter packs? std::async? std::string_view? std::atomic? C++'i ortanin ustunde biliyorum derken hangi kiyasa gore orta?

Acaba boyle uygulamalari yapmayi C++'da mi ogrensem yoksa C# veya Python'a mi gecsem diye merak ettim. Cunku genellikle bu 2 dil ile programlar gelistiriliyor.
Windows icin WinUI3 kullanarak C++ ile GUI uygulamalar yapabiliyorsun. Cross-platform istiyorum diyorsan -> QT.

Projeye uygun dil secilir. Bir seyi yapmak C++'ta C#'tan 10 kat daha fazla zaman alacaksa, ihtiyacin olan seyleri hizli bir sekilde projeye dahil etmek C#'ta daha kolaysa, C# secersin, C++ degil. Kullandigin araca, hedef platforma, projenin kapsamina gore degisir neler yapacagin. Windows.h kutuphanesinde sunulan API'lerin %90'i falan .NET'in icerisinde var zaten. Kalanlari da Syscall ile DLL'den cekiyorsun.

Syntax olarak da aman aman farkli diller degiller. Sadece object reference mantigini kavraman lazim yoksa memory leak introduce edersin programa. (Spesifik olarak delegateleri ve async methodlari kullanirken dikkatli olman lazim.)

Son genelde bu 2 dile ile programlar gelistiriliyor yorumuna; hangi data soyluyor bunu? Dillere takilip kalmayin. Gerektiginde dil degistirilir. Onemli olan aktarilabilen programlama becerileri. Konseptleri, kavramlari, data tiplerini ogrenip anlayabilmek. Bir seyin nasil calistigini anlayabilmek, bir seylerin algoritmasini tasarlayabilmek. API kullanmayi ogrenmek zor degil.
 
Malware geliştirmek istiyorsan win32 api öğrenmen gerek win32 api ile çalışabileceğin en iyi dil C/C++'dır. Eğer GUI gerektiren yazılımlar yapmak istiyorsan QT framework ile çalışabilirsin.
 
Win32 God mode gibi bir şey. C# ile en kötü metotları çağırarak da kullanabilirsin ama Win32'ye özel bir şey yapacaksan C++'ta daha rahat olursun. Ama dile takılmanın ne anlamı var ne zaman hangi dili kullanacağını bilemezsin. Zaten mantığı kavradığında çoğu dili gerektiğinde rahatlıkla öğrenir kullanırsın.
 
Rust , C++, Python, C#, JS hatta miden kaldiracaksa Java ile de yaparsin Windows uygulamasini.

Once dili secip sonra uygulama yazmiyoruz; yazilacak uygulamayi analiz edip dile ondan sonra karar veriyoruz.

Windows API ya da herhangi bir OS kernel call a direkt ihtiyacin varsa Python ya da byte code diller ile takla atarsin sabaha kadar.
 
Degerli bilgiler icin tesekkurler, yeni seyler ogrendim.

C++'da bir sure daha kalip kurcalamak daha mantikli.


Bilgilendirdigin icin teşekkürler

Class ve STL kutuphanesini ortalama derecede biliyorum.

Bir soru daha soracagim.
C++'da kalip Win32 API, qt Framework vb. ogrenmek daha karlıysa C# ve Python gibi dillerin avantajlari kalmiyor mu? Python yapay zeka yonunden daha iyi evet ama gene de cok dusuk kalıyorlar C++ yaninda. Karsilastirma yapabilir misiniz?
 
Son düzenleme:
Sorduğun sorular "ben okuduğumu anlamıyorum" der gibi.
 
C++'da kalip Win32 API, qt Framework vb. ogrenmek daha karlıysa C# ve Python gibi dillerin avantajlari kalmiyor mu? Python yapay zeka yonunden daha iyi evet ama gene de cok dusuk kalıyorlar C++ yaninda. Karsilastirma yapabilir misiniz?
Karlı olup olmaması duruma bağlı, öyle genel bir kural yok. Gerektiğinde JIT bir seçenek olabilir. Özellikle çoklu platform için.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…