Avatar
wanty
Člen
Avatar
wanty:

Zdravím. Chcel som si spraviť GUI aplikáciu, ale zistil som, že túto možnosť z visual studia odstránili pretože c++ nie je najlepší jazyk na programovanie GUI aplikácií a mal by som radšej použiť c#. Keď som robil v Unity tiež som bol nútený používať c#. Na programovanie arduina som zo začiatku používal c++, ale bol som presvedčený že na programovanie mikrokontrolérov a teda aj arduina je lepšie použiť c. Chcel by som vedieť, kde najlepšie využijem c++ a na čo bolo c++ primárne určené.
Ďakujem.

 
Odpovědět 27.10.2015 22:17
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na wanty
Martin Dráb:

Pokud vím, tak jediné GUI, které šlo v MS VS z C++ naklikat, byly Windows Forms a pokud vím, tak to znamenalo volání dovnitř .NETu. Takže jsi použitím C++ nezískal moc výhodu.

Na mikrokontrolery bych C++ nepoužíval, pokud fakt není důvod, protože má větší footprint než C. Nemám s programováním mikrokontrolerů zase takové zkušenosti, takže jsem C++ k tomuto účelu nikdy nepotřeboval.

Výhoda C++ je, že ti dává větší moc nad tím, co se v programu děje, než GC jazyky (Java, C#) a zároveň obsahuje podobně mocné prostředky pro programování (pravda, ještě mocnější). Pokud budeš programovat něco, kde ti záleží na výkonu, může být C++ dobrou volbou (ale pak musíš v tom jazyce vědět, co děláš). Nebo, pokud chceš programovat něco systémového – C++ má blíže k Cčkovým rozhraním systému než Java/C# (i když jich lze také použít).

Ale dá se v tom psát i GUI (např. Qt).

Nahoru Odpovědět  +1 27.10.2015 22:25
2 + 2 = 5 for extremely large values of 2
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na wanty
patrik.valkovic:

S C++ můžeš jít víc do hloubky. Můžeš ho přímo kombinovat s ASM, můžeš volat systémové přerušení, můžeš si sám spravovat paměť. Výhodou je i jeho rychlost, která je mnohonásobně lepší oproti GC jazykům (jazyky s Garbage Collectorem).
Po zkompilování je o něco větší, než čisté C, ale výkonostně jsou na tom stejně. Současně ti při tom dává nástroje jako objektově orientované programování, šablony, přetížení a podobné věci, které nejsou v čistém C možné.
Kde tedy použíš C++? na místech, kde ti jde o výkon, ale nejsi limitován příliš malou pamětí. Operační systém, hry. Někdy se používá i ve spojení se C#, kdy v C++ je implementován konkrétní algoritmus (protože je efektivněší než v C#) a ze C# zvoláš pouze ten algoritmus v nativním kódě.

Nahoru Odpovědět 27.10.2015 22:35
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.