Boyle faydali bir konu actigin icin tesekkurler.. Soyle ki isime ek bir hobi olarak bireysel internet ortaminda yazilimimi gelistirmeye calisiyorum, html, css kismen php ogrendim. C++ ogrenmek istiyorum..Bunun yazilim programini nereden ucretsiz bulabilirim ? Dev C++ ve visual C++ var.dev ucretsiz ama visual parali...visual daha faydali diyorlar ki visual icin bana yol gosterirsen memnun olurum..C# da C++ ile yazilmis sanirim, C++ ogrenmem daha yararli..Ek olarak ingilizce kaliteli egitimler tutoriallar varsa tavsiye alabilirim.. |
C++'ya geçtiğine iyi yapmışsın artık %100 native code'a hoş geldin diyebilirim ![]() Ama bunun için bence asla .NET ürünü olan Visual Studio gibi ücretli IDE'ler le uğraşma onun yerine QtCreator kullan , CodeBlocks'la wxWidgets eklentisini kur aynı c#'ta ki forms uygulamalarını biraz daha farklı olarak yazarsın. Windows Phone 8 için 6 gb ram ve 64 bit windows 8 gerekiyor benim bildiğim.Ben sdk'yı yüklemeyi çalıştığımda bu hatayı vermişti çünkü.Bende 32 bit win8 var ama ram yetmiyor ![]() Windows Phone 8 uyarlaması için ise farklı .XAML kodlarıyla uğraşman gerekir. Ama ben sadece windows phone8 için c++'ya geçiş yapıyorum dersen , c# windows phone'la da çalışır.(.net ondada var çünkü) C++.NET (managed kod , %100 MSIL ' çevrilir aynı javadaki byte code ' gibi):
Dikkat edersen , native c++'ya göre farkla .net'te #using kalıbı eklenmiştir. Normal C++'da cout << string; kodu yeterken bu C#'ta da kullandığın aynı Console.WriteLine(string) metodunu çağırır.Sonuçta ikiside derleme sonucu aynı MSIL koduna çevrilir.(Yani C#'la C++'ı aynı MSIL koduna çevriliyor.)
gibi farklılıklar oluşur. |
Öncelikle birkaç sorum olacak izninle; Native Code nedir? .NET nedir? IDE nedir? XAML kodları C++'dan farklı mıdır? MSIL nedir? WP8'e güle güle o zaman, bende 2.5GB RAM var ![]() Windows 8'in uygulama mağazasına program yazmak için aynı C++ kodları kullanabilir miyim ve sistemim yeterli olur mu? INTEL Pentium D 3.4 GHz 2.5GB DDR2 RAM ATI Radeon X1600 Series Windows 7 64 bit Çok teşekkürler... |
Tabiiki hemen cevaplarım ![]() Native Code : %100 Makine koduna derlenmiş kod demek Yani C++'da yazdığın kodlar 10000101010101011... gibi kodlara çevrilir.Farkettiysen .NET ile yazılan bir konsol uygulaması açılırken 2-3 saniye bekletir.C++ ' ta yazılan uygulama ise direk makina kodunda olduğu için ms'ler içinde açılır.(100-200 ms).Bunun sebebi ise , .NET ' de kodlar MSIL kodlarına çevrilir.Ardından JIT ile (anında-derleme) makina koduna çevrilir.İşte bu yüzden C# daha kolaydır.Çoğu işi framework halleder.(bellek yönetimi gibi bir çok iş.) .NET , Microsoft'un zamanında Java'nın JVM'sine rakip olarak çıkarttığı kütüphane , sanal makina ve programlama dillerinin tamamıdır.(Mesela delphi varken Delphi.NET ' de var benim bildiğim, Ama C# zaten bir .NET dili onun unmanaged hali yok.).(İlk çıktığında Microsoft'un sloganı , Java'da olduğu gibi "platform bağımsız! " dı ama maalesef öyle değil : linux de c# kodunu mono olmadan çalıştırmak imkansız.) IDE , Senin kod yazdığın programa verilen genel ortam.Mesela Visual Studio , Code::Blocks , QtCreator. XAML , Android'de ki layout dosyası gibi diyebiliriz.XML tagları'yla kendi form'unu oluşturuyorsun tabi yine sürükle - bırak metodu burdada çalışacaktır.(Windows'ta WPF gibi) MSIL , Dediğim gibi aynı javadaki Byte kodları assembly diline biraz yakın olan bir dil.Microsoft bu dili , herhangi bir .NET dilinde yazılan dili ortak noktada buluşturmak için oluşturmuştur.Yani Visual Basic kodlarıda , C++.NET kodlarıda , C# kodlarıda aynı MSIL koduna çevriliyor.O yüzden C++ ile uğraşacaksan .NET'e bulaşma derim. Kullanabilirsin daha çok native app , yani performans dostu app'lar yazmakta kullanılıyor benim bildiğim c++ ama c# tercih etmek daha iyi. Not : C# ve C++ arasındaki en büyük fark ; C#'ın .NET dili olması.Yani managed code var (Bellek yönetimi , hata yakalama , gibi işleri .NET yapıyor.) C++'da bu işi new ve delete deyimi ile yapıyorsun bildiğim kadarıyla.Kullanılmayan değişkeni silmen önerilir.(Bellekte fazla yer kaplamaması için) |
Çok teşekkürler. Benim için C#'ı mı yoksa C++'ı mı önerirsin? |
Windows 8 için mobil uygulamalar yazacksan , C#'ı. Windows için WinForms yani Button lu , Label'li , Layout'lu program yazmak istiyorsan yine C#'ı öneririm. Ama gerçek ve iddialı program yazmak istersen tabii ki C++'yı öneririm.Çünkü .NET yapısını Microsoft , C# yada VB gibi dillerle yazmamıştır.C++ , C gibi dillerle yazmıştır. Mesela büyük firmalar ünü duyulmuş programlardan örnek vereyim ; Adobe Flash Player'ı yazarken C# ile yazmamıştır.Microsoft Windows'u yazarken C#'ı kullanmamıştır. Basit , syntax'ı kolay okunabilen diller zorlu dillerden doğmuştur.(Java mesela C dilinde yazıldı diye biliyorum) Sen bilirsin... Kolay gelsin. |
Teşekkürler. Windows 8 için mobil uygulamalar derken Windows 8 mağazası mı Windows Phone 8 mağazası için mi demek istedin? Daha önceden Visual C# ile program geliştirirken örneğin button'un tasarımını değiştirebiliyordun. Tasarım konusunda properties'e mi kısıtlıyız? Bir de, programlama dilleri nasıl yazılıyor biliyor musun? Mesela C dili nasıl yazılıyor? |
Dalga geçer gibi söyleme, @Kemâncı'nın da dediği gibi C#'ın kullanım alanları kısıtlı. |
Sağol ![]() Aynen , onu kastettim.Windows8'e tam olarak uygulama geliştirmeyi uğraşmadığım için bilemiyorum.Ama bir çözüm metodu vardır elbette.Mesela Android'de layout.xml dosyası oluyor ; onun içinde <kendi buttonu sürükleyerek ekliyorsun > ve otomatik xml kodları oluşuyor. Programlama dili tam olarak nasıl yazılıyor bilmiyorum ama bence , programlama dili yazılırken 'derleyici' yazılıyor sadece o da derleyip çalıştırıyor ama bu C# ve Java'da böyle değil.Onda birde sanal makinanın yazım aşaması var.C dili Assembly gibi düşük seviyeli bir dille yazılmıştır bence. |
Masaüstü trenini kaçırdık, mobil dünyaya atılalım dedik ama şu windows phone da c# çıktı karşımıza. Ne kadar sevmesem de ona da el atacaz heralde.![]() Bu arada prog. dilleri yazılmazlar. Belli bir formda dilin grameri hazırlanır ve bu gramere uygun derleyici yazılır. Derleyici yazmak için düşük seviyeli şeylere gerek yok. Mesela python ile c derleyicisi yazılabilir. İronik bir şekilde sanal makine veya yorumlayıcı için c gibi hızlı bir dil gerekirken makina koduna derlemek için kaplumbağa hızında işletilen bir dil kullanılabiliyor. |
Ben dalga geçmedim sadece diyorum ki c#ın kolay olduğunu söyledin ama öğrenmedin öğrenemem dedin zamanım yok dedin c++ı nasıl öğreniceksin? Bende sana diyorum ki Önce c#tan başla. Zaten öbürlerini rahat kaparsın Hem vaktin de yok. |
C# kodlayasım olmuyor nedense, kötü bir his var içimde. Zamanım yok derken yine birkaç saatim oluyor. C++'dan başlayayım sonra C#'a bakarız biraz. |
Arkadaşlar bende bildiğiniz gibi Visual Studio 2013 Express vardı. C++ ile programlama yapmak için onda windows form yoktu. Şimdi Visual Studio 2013 RC Express yükledim. Bunda da yok. İnternete yazdım ve sonuçlar çıktı ama sonuca ulaşamadım. İlgili ve bilgili arkadaşların yardımcı olması önemle rica olunur... ![]() |
C++.net windorm... Hala daha winformda takılı mı kalır insan 1 saat açıkladım winformu bırak diye zaten winform birşey öğretmez. Console başla sonra winforma değil wpf ya da qt geçersin diye... Hem c++.net kullanmak native hali varken anlamsız. Ayrıca c++ın yapısı c#a göre çok daha karışıktır Ve daha düşük seviyeli bir dildir c++ıda c#da olduğu gibi kullancağından eminim. |
C++ gui tasarımcıları için hiç uygun değildir. C++ olsun başka bir dil olsun ya konsolda öğreneceksin ya da hiçbir zaman öğrenemeyeceksin. Tavsiye istersen Sefer Algan ın c# kitabını al ve bitene kadar konsol üzerinde çalış. |
WPF ve QT nedir söyler misin? Ayrıca iyi güzel diyorsun da C#'la çok üst seviye programlama yapamıyormuşsun ki, mesela bir işletim sistemi. Tabii şimdilik işletim sistemi yazacak halim yok ama daha kapsamlı bir dil olsa benim için daha iyi olur. Neyse, şimdilik idare edeceğiz sanırım. Teşekkürler, seni de yordum. |
Valla greencraft hocam durumu çok iyi özetlemiş , Hem zora katlanıp C++ öğreneceksin hemde bunda .net kütüphanesini kullanacaksın.(Eski mesajda olduğu gibi ,en basit konsola yazı yazdırmak için bile cout yerine Console::WriteLine metodu kullanılıyor net'te.) @IdeaBulb C++ ' da konsolda başla , sonra Qt ile devam edersin. ![]() edit : Yine de bence doğru yoldasın IdeaBulb daha zor birşeyler başarabilmeyi hedefliyorsun |
Teşekkürler. Qt neydi bir de onu öğrenebilsem... edit: Madem bu kadar console application'u tavsiye ediyorsunuz, kaynak verin de başlayalım bari. |
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @{engineer} , @greencraft , @Bilgisayar Bağımlısı , @Kemâncı