Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => C/C++ => Konuyu başlatan: yldzelektronik - 21 Ağustos 2014, 11:50:06

Başlık: C++ Nedir / Visual C++ Nedir
Gönderen: yldzelektronik - 21 Ağustos 2014, 11:50:06
Selamlar,

C++ programlama dili ve Visual C++ programlama dili.

İkisi arasında nasıl farklılıklar var?

Sanıyorum visual olanı .net platformuyla alakalı.Ancak .net platform bağımlılığı getiriyor.

C++ deyince işler biraz farklılaşıyor mu?

Benim bu noktada kafam çok karıştı.Aslında belki de işler çok basittir.

Yani neticede c++ ansi diyebilmek için dilin tanımlanan standartlara uyması gerekir.vc++ ile diğerleri arasında farklılıklar olduğunu söyleyenler olmuş forum içinde.Acaba bu durum birlikte gelen kütüphaneler ile mi alakalı?

Eğer öyle ise ekstra kütüphaneler barındırması dili ansi olmaktan çıkartır mı?Yanında fazla kütüphanesi olması neden ansi kılmaz ki?

Vc++ ile yazılmış programların platform bağımlılıkları .netten geliyor diye biliyorum.Eğer öyle ise c++ ile arasında kütüphanelerden öte farklılıklar olmalı gibi geliyor.Neticede işletim sistemi üzerinde çalışan bir yapı değil mi .net?

"c++ öğrenicem nereden başlayım" cümlelerine girmek istemiyorum ama bu kafa karışıklığını da gidermek istiyorum.

Aslında mesele gui hazırlama kısmında.VS ile çok hoş şeyler yapılıyo tamam.Ama .net istemiyorum ve gui yapmak istiyorum desek ne yapıcaz?

Mesela bir de qt var.Bu nasıldır?Bu da .net gibi bir ara platform üzerinde mi çalışıyor?

Bir de şunu merak ediyorum; .net vs gibi şeyler olmadan çalışıyorsa bir program ne oluyor, .net gibi bir platform üzerinde çalışıyorsa ne oluyor?

Java gibi mi .net yoksa farklı mı?

Mesela javada bildiğim kadarıyla sanal makine var.Yazdığın java program önce o makine tarafından çevriliyo sonra çalıştırılıyo. .net benzer bişey diye okuduğumu hatırlıyorum.Ama nasıldır, nedir ne değildir tam olarak bilmiyorum.

Bu konuların detayları nedir?

Herkez bildiğinden bir cümle de olsa paylaşabilir mi?

Teşekkürler.

Not: Karışık ve hiç anlaşılmayan bir yazı olmuş olabilir.Konular hakkında bilgim olmadığından durum böyle.Sizden beklediğim de bu tip konuları nasıl, ne diye aramak gerek sorusuna cevap.Konu başlıklarını söyleseniz bile benim için büyük bir şey.
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: Tesla.25 - 21 Ağustos 2014, 14:02:26
C++ bir tanedir: ANSI C++. Dilin herşeyi belirlenmiştir. Kütüphaneler belirlenmiştir. Eğer C++ 'da yazdığınız bir program tüm paltformlarda sorunsuzca derlenip çalıştırılmasını istiyorsanız, ANSI standartlarına uymalısınız. Bu şekilde portatiflik sağlanır.

VC++ ise, aslında, .NET kütüphanelerini kullanan Microsoft tarafından biraz değiştirilmiş bir C++ türevidir. Bakın mesela, bildiğimiz C# dili de aslında çoğu kaynakta Visual C# diye geçer. Nedeni ise, herhangi bir dilin "visual" olup olmaması diye bir kavram yoktur. Dile bu özelliği katan kütüphanelerdir. İşte Visual C++ anlatan çoğu kaynağa bakın, System::Windows::Forms namespace 'ini anlatırlar. Yani butonları, menüleri falan... Tabi C++, ın .Net platformuna uyması için de Microsoft tarafından biraz değiştirilmiştir. Pointerler falan...

İşte Visual(!) olmayan bir C#:http://zetcode.com/lang/csharp/ (http://zetcode.com/lang/csharp/)

.NET 'te Java gibi bir "Virtual Machine" üzerinde çalışır.  Herhangi bir Sanal Makine üzerinde çalışmayan programlar "native" oluyor. Yani direkt makine diline çeviriliyor.Yani önce bir ara kod, daha sonra bu ara kod makine diline çevrilme işlemi yok.  Hoş .NET Windows dışı bir yerde çalışmıyor ya, hadi neyse. ...

Ama C++ ile bir program yazdığımızda, bu program Java 'nın bile sağlayamadığı taşınabilirliği sağlar. Tek sorun, her işlemci/işletim sistemi ile derlenmesidir programın. "Bir kere yaz, heryerde derle."

Java/C#, programın çalışma hızından kaybettirip, programı yazma hızından kazandırırken;
C/C++ programın çalışma hızından kazandırır ama programın yazma hızından kaybettirir.

Qt mükemmel bir framework. En az .NET kütüphanesi kadar başarılı. Ki kendisi sadece bir GUI araç takımı değil. İçinde her türlü amaca hizmet eden sınıflar bulabilirsiniz. Şöyle diyim siz anlayın;
C#/.NET ile Visual Studio neyse, C++/Qt ile QtCreator aynı şey. :D :D

Herhangi bir dile, biz kendi ihtiyaçlarımıza göre birşeyler ekleyip çıkardığımızı düşünelim. Bu durumda dil, "standart" olmaktan çıkacaktır. O dilin bir "implementasyonu" olacaktır. Bu Java için de C++, C için de geçerli.

Hatam varsa, yüzüme vurmaktan çekinmeyin. :D


düzenleme:
Qt çatısı, "native" dir. Yani bir sanal makine üzerinde çalışmaz. Doğrudan makine diline çevrilir.
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: MC_Skywalker - 21 Ağustos 2014, 15:31:05
Tesla.25 'in yazdıklarına ek olarak.
Visual C++;

Microsoft amcanın kendi pencereler işletim sitemine daha hızlı kod yazılması amacıyla geşlitirdiği bir IDE dir. içinde microsoft amcanın api, libary lerini barındırır.  bu sayede Pencere işletim siteminde pecere oluşturmak için veya onu yıkmak için kod yazmakla uğraşmazsın. Pencereler işletim sitemi senin donanımdan uzak tutuğu için onlar ancak bu apiler vb. ile eişirsin.

Yanlış hatırlamıyorsam Intel'in c++ derleyicinde sinden türetilimiştir.

.net öncesi .com dur. Java'nın işlemciden bağımsızlığına özenen ve kendi java sanal makina ile kaybettiği davalar nediniyle.  .net i çıkarmıştır.

unutmadan şunu hatırlatayım iki java vardır; bir java diğeri ise java scriptir.

normal C++ yazdığında yazdığın kod direkt derlenir ve işlemci tarafından doğrudan koşturulur.  işin içine .net girdiğinde yazdığın program sanal makinada çalıyoprmuş gibi yorumlanarak işlemciye .net tarafında koşturtulur.
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: mufitsozen - 21 Ağustos 2014, 16:26:25
Alıntı yapılan: Tesla.25 - 21 Ağustos 2014, 14:02:26
........Yani önce bir ara kod, daha sonra bu ara kod makine diline çevrilme işlemi yok.  Hoş .NET Windows dışı bir yerde çalışmıyor ya, hadi neyse. ...
............
Hatam varsa, yüzüme vurmaktan çekinmeyin. :D
..............


mono ile .net'in buyuk bir bolumu linux, android, solaris, bsd, ios ve hatta bazi oyun konsollarinda calisir :P

vb ve c# compilerlarida var.
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: Tesla.25 - 21 Ağustos 2014, 16:40:13
Mono 'yu biliyorum fakat bir hobi projesinden daha büyük birşey değil. O yüzden söylemedim.

Bu Xamarin 'in Android 'de falan çalışması ise, yine Java koduna dönüşüyor diye biliyorum. CLR yok.
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: yldzelektronik - 21 Ağustos 2014, 17:49:31
Yanıtlar için teşekkürler.

Olay biraz daha netleşti gibi.

Aramızda qt kullanan var mı?Qt nasıldır,-, kolaylıkları var mıdır, dökümantasyonu falan iyi midir?

Qt de socket signal kavramları var.Bunlar nedir?Qtde işler nasıl yürüyor?

Bu arada qt türkçe çeviri kitabını okuyorum
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: Tesla.25 - 21 Ağustos 2014, 18:45:36
Hocam birkaç tane link vereyim:

https://eksisozluk.com/entry/39777219 (https://eksisozluk.com/entry/39777219)
https://qt-project.org/forums/viewthread/23536 (https://qt-project.org/forums/viewthread/23536)

Herhangi bir olay olduğu zaman bir "signal" yayınlanır.  SLOT lar ile de bu sinyal yakalanır.
Valla hocam ben Qt 'yi anlata anlata bitiremem (zaten çok derin bilgilerim yok ama). Eğer öğrenecekseniz, kesinlikle pişman etmez.
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: yldzelektronik - 22 Ağustos 2014, 09:18:05
Teşekkürler.Peki qt için en mantıklı adres qt-project.org adresi midir?

Kullananlardan bildikleri başvurdukları adresleri isteyebilir miyim?
Başlık: Ynt: C++ Nedir / Visual C++ Nedir
Gönderen: Tesla.25 - 22 Ağustos 2014, 10:58:04
Benim arada sırada baktığım adresler: :D

http://www.qtforum.org/index.html (http://www.qtforum.org/index.html)
http://www.qtcentre.org/forum/ (http://www.qtcentre.org/forum/)
http://planet.qt-project.org/ (http://planet.qt-project.org/)
http://qt-apps.org/?xsection=home&PHPSESSID=741821e7a4387b701ee088cdb699f809 (http://qt-apps.org/?xsection=home&PHPSESSID=741821e7a4387b701ee088cdb699f809)
https://qt-project.org/ (https://qt-project.org/)

Ayrıca Github, Stackoverflow, Quora, Sourceforge gibi adreslere de bakın. İnanılmaz faydası oluyor.