Je c++ důležitý? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Je c++ důležitý? – C / C++ – Fórum – Programujte.comJe c++ důležitý? – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
pavlík100
~ Anonymní uživatel
5 příspěvků
25. 9. 2012   #1
-
0
-

dobrý den vážení,

není dneska c++ zbytečný? Programujou se hlavně moderní aplikace v .NET a
na to je nejlepší (možná jediný vhodný) jazyk C#.
Používám visual studio pro c++ a pro c#. To c++ mi nabízelo tvorbu projektů
tvořených pochybným prastarým způsobem.
Před dvaceti lety bych možná uspěl s konzolovou aplikací psanou v c++.
Mám se vůbec c++ učit? Uvažuju o tom, že bych přešel k c#.

Nahlásit jako SPAM
IP: 88.102.98.–
Reklama
Reklama
KIIV+42
God of flame
25. 9. 2012   #2
-
+1
-
Zajímavé

zalezi hlavne na tom, na co to chces pouzit...

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
vitamin+8
Grafoman
25. 9. 2012   #3
-
+1
-
Zajímavé

#1 pavlík100

Posledný veľký update c++ štandartu prebehol koncom roku 2011 a má názov C++11 (prípadne C++0x). Tento nový štandart dopĺňa c++ o množstvo nových vecí. C++ nie je zastaralý jazyk a určite nie je mŕtvy. C# nie je lepší ani horší jazyk, je INÝ. Má výhody aj nevýhody tak isto ako ich ma aj c++ alebo iný jazyk.

Najlepšie je naučiť sa obidva.

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
liborb
~ Redaktor
+18
Guru
26. 9. 2012   #4
-
0
-
Nahlásit jako SPAM
IP: 78.80.52.–
Radek Chalupa
~ Redaktor
0
Super člen
26. 9. 2012   #5
-
+1
-
Zajímavé

#1 pavlík100
Nevím jak jsi přišel na to že se "moderní aplikace" dělají v .NET ???

Např. nevím o jediném z hlavních prohlížečů, který by byl napsán v .NET, podobně je to s nejrozšířenějšími "mediaplayery"...

Nahlásit jako SPAM
IP: 213.220.211.–
ingiraxo+15
Grafoman
26. 9. 2012   #6
-
0
-

#1 pavlík100
.NET je dobrý hlavně pro rychlou a jednoduchou tvorbu app, hlavně v GUI, protože to lze přes desinger a pro windows je to nejsnažší "jazyk" pro vytvoření app podle představ

ale v C++ máš mnohem víc možností, který by si v .NET jen tak nevyřešil a hlavně .NET díky frameworku a jeho GC bere dost paměti a tím i rychlost, sice na moderních PC to už není takovej rozdíl, ale rozdíl stále je a hlavně ve využití paměti

většina app co běžně používáš je postavena na C++ nikoli na .NET a pro hry to platí dvojnásob, tim myslim C++/DirectX

Něco jiného může být win8 s jeho WinRT, co je nadstavba winapi co je spojená s C++/CLI, takže má přívětivější (modernější) syntax, ale je pravděpodobně pouze pro windows8 a vyšší

zde narazíš na další fakt, že v linuxu s .NET moc neobstojíš, sice existuje mono, ale osobně si myslim, že je blbost dělat .NET app v linuxu, to už rozhodně C++/Qt když už

takže si zde mužes vyvodit, že C++ rozhodně není mrtvej jazyk, spíš naopak :) Jde opravdu o to, na co, co, a na čem to přesně plánuješ dělat

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
pavlík100
~ Anonymní uživatel
5 příspěvků
26. 9. 2012   #7
-
0
-

Bude vůbec c++/CLI, c++/CX nebo jiné rozšíření oblíbený?
Nebude se to od tradičního c++ moc vzdalovat?
Neupravil to microsoft až moc k obrazu svému?
A jaký novinky tyto lepší c++ přináší?

Nahlásit jako SPAM
IP: 88.102.98.–
crazy
~ Moderátor
+10
Grafoman
26. 9. 2012   #8
-
0
-

#7 pavlík100
C++ bude pořád C++ :)

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
ingiraxo+15
Grafoman
26. 9. 2012   #9
-
+1
-
Zajímavé

#7 pavlík100
jestli ti jde o to, jestli se C++ za pár let přestane používat a tak se to nechceš učit zbytečně tak ne-e ... C++ tu bude ještě hooodně dlouho né-li stále a jak napsal crazy, tak C++ ve všech jeho podobách bude stále C++ :)

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Hlavinka0
Návštěvník
26. 9. 2012   #10
-
0
-

ale zajímalo by mě, jestli by se nepovedlo c++ nahradit Déčkem?

Nahlásit jako SPAM
IP: 188.175.185.–
pavlík100
~ Anonymní uživatel
5 příspěvků
26. 9. 2012   #11
-
0
-

??

Nahlásit jako SPAM
IP: 88.102.98.–
Hlavinka0
Návštěvník
26. 9. 2012   #12
-
0
-

dlang.org

Nahlásit jako SPAM
IP: 188.175.185.–
pavlík100
~ Anonymní uživatel
5 příspěvků
26. 9. 2012   #13
-
0
-

(zpět k původnímu tématu)
Takže bude lepší naučit se WinAPI než .NET?

Nahlásit jako SPAM
IP: 88.102.98.–
yaqwsx+9
Posthunter
26. 9. 2012   #14
-
0
-

#13 pavlík100
Záleží, co chceš dělat. Jazyků není nikdy dost. Spousta lidí říká "Každý rok by se programátor měl naučit důkladně minimálně jeden nový jazyk a důkladně pokořit jednu novou technologii"

Začni s C# a pak se začni učit C++.

Ad. životnost C++ - dokud nebude kvantová počítač, bude C++. A i poté se budeme setkávat s C syntaxí.

Nahlásit jako SPAM
IP: 85.160.55.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Thew0
Newbie
28. 9. 2012   #15
-
0
-

#13 pavlík100
Všetko čo môžeš urobiť v C++, môžeš urobiť v C# niekoľkokrát rýchlejšie. Musíš rozlíšiť, čo sa chceš z WinAPI naučiť. Učiť sa cez WinAPI robiť GUI aplikácie je v dnešnej dobe nezmysel. Ľudia chcú aplikácie, ktoré začínajú aj trochu vyzerať, v ktorých sa dá jednoducho pracovať, cez WinAPI by to bola samovražda.

Kedysi, keď som začínal svoj prvý veľký projekt, rozhodoval som sa medzi C++ a C#, zvolil som C++. Všetko fungovalo, ale časom ten projekt rástol do neskutočných dimenzií a tak som prešiel na C#. Celý mesiac a pol som dennodene prepisoval kód do C# ale môžem ti povedať jednu vec, bolo to to najlepšie, čo som mohol urobiť. Od tej doby už každý projekt, ktorý má tendenciu zväčšovať sa, kódujem v C#.

Podľa môjho názoru, pokiaľ za tebou niekto príde s ponukou vytvoriť kancelársku aplikáciu šitú na mieru, o inom jazyku ako o C# ani neuvažuj. Zákazník taktiež ocení rýchlosť, akou program pomocou C# vytvoríš, v C++ by si sa sním trápil oveľa dlhšie a musel by si ho testovať oveľa tvrdšie (predsa len GC má svoje čaro).

Nahlásit jako SPAM
IP: 195.168.209.–
Get off the cross, we need the wood
KIIV+42
God of flame
28. 9. 2012   #16
-
0
-

#15 Thew
jen si pak neprej videt tu melu, az budes muset prejit na neco, co GC nema :)

Kazdopadne tydle jazyky s VM nemuzou byt nikdy tak rychly jako nativni kod. (nepocitame, kdyz nejakej Javista dela srovnani kodu, kterej naprogramuje v C++ ve stylu Javy - pak to samozrejme vychazi stejne nebo hur pro C++ :D)

+ .net se da pouzit i s C++ .. C# je jen jazyk - neni to ".net" - jediny na co clovek musi dat bacha jsou ty memory leaky

(a pak sou samozrejme ty platformy, na ktery se C# nehodi vubec (podobne jako java ikdyz se tam rve) - napriklad jednocipovy mikroprocesory - 8/16bitu a tak)

akorat c++ chce fakt dobry programatory... s javou (mozna i .net+c#) si poradi kazdej amater co umi slepit par kusu neceho a ani netusi o co tam jde

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Thew0
Newbie
28. 9. 2012   #17
-
0
-

#16 KIIV
Späť na zem, ty si už niekedy programoval aplikáciu do kancelárie na 8 bitový procesor? Ja teda zatiaľ nie.

Čo sa týka rýchlosti, tak pokiaľ si zvyknutý programovať v jave tak chápem tvoje obavy, ale C# ? Výkonový rozdiel medzi C# a C++ je zanedbateľný pri kancelárskych aplikáciách. Jasne že ak chce programovať hru tak ju nebude robiť v C#, ale otázka bola, či sa radšej učiť WinAPI alebo C#. Tam jednoducho nie je iná odpoveď ako C#.
Najlepšie by bolo, keby chalan videl na vlastné oči rozdiel medzi WinAPI a WinForms, dve aplikácie, ktoré robia to isté, jedna v C++ pomocou WinAPI a druhá v C# pomocou WinForms. Tú prvú možnosť by si s pravdepodobnosťou blížiacou sa k istote určite nevybral.

A tá posledná veta, nehnevaj sa, ale to si trochu prehnal. Peace

Nahlásit jako SPAM
IP: 195.168.209.–
Get off the cross, we need the wood
KIIV+42
God of flame
28. 9. 2012   #18
-
0
-

Tak kdyby chteli treba skolni hodiny rizeny GPS signalem :D Nebo davat dohromady nejakou tiskarnu (ciste teoreticky - v realu jich je dost)

A k posledni vete - si asi nikdy nedelal pohovory s "programatorama" nebo si je nezaskoloval...

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV+42
God of flame
28. 9. 2012   #19
-
+2
-
Zajímavé

Ale trochu sem zakecal tu nejdulezitejsi vec - programator by mel byt schopen prechazet mezi jazyky - jedno v cem programuje, staci zjistit syntaxi jazyka a pak uz se s tim poprat. Algoritmy sou obecna zalezitost a nezalezi na jazyku (ikdyz nektery veci se musi hackovat - to je v pripade ze clovek nezna vsechny moznosti a aplikuje moznosti jazyku, ktere uz zna). No proste jde o to programatorsky mysleni, schopnost resit problemy + umet najit jednoduchy reseni (nejakou knihovnu) ale umet to zvladnout naprogramovat i na cisty louce (aby chapal co jak funguje).

Proste ptat se jaky jazyk je dobre se naucit - na to se neda odpovedet bez znalosti "co chce clovek delat". Pokud programatora tak idealne vsechny. Pokud jen kancelarskou aplikaci tak treba .net framework (jedno jaky jazyk) (nebo delphi :D)

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
yaqwsx+9
Posthunter
28. 9. 2012   #20
-
0
-

#17 Thew
Ne všichni programují kancelářské aplikace ;). Ale hlavně je nutno volid adekvátní prostředky a nefixovat se na jeden jazyk. Každopádně bych C++ úplně pro kancelářské aplikace nazatracoval.

Jedná má zkušenost z nedávné doby - jednalo se v podstatně o "kancelářskou aplikaci". V jedné firmě potřebovali zajistit přenos programů pro NC stroje ze sítového disku na jednotlivé (a hodně rozličné) stroje. Mělo to být co nejjednodušší a nejlevnější. A zde jsem sáhl po C++ a WinAPI - díky němu jsem mohl použít klasický počítač s Windows XP (takových vyřazených tam mají desítky), ke kterému jsem napsal jednoduchý vlastní shell (místo explorer.exe) - po spuštění počítače se zobrazí na obrazovce několik velkých tlačítek. Napsat toto bylo otázkou večera a splnilo to veškerá zadání - jednoduchost obsluhy i pro neznalé PC; obsluha si nemůže zahrát Sollitaire a také celý systém dostal branding té firmy (včetně bootovacího loga), takže je i stylové. Co jsem zatím dostal zpětnou vazbu, tak obchodním partnerům na exkurzi se takto "profi vypadající" řešení  velice líbilo.

Pokud bych zde sáhl po C#, tak by mi vývoj zabral zhruba stejně dlouho, ale navíc bych musel řešit omezení přístupových práv uživatele apod.

Nahlásit jako SPAM
IP: 85.160.42.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Thew0
Newbie
28. 9. 2012   #21
-
0
-

#20 yaqwsx
Máš pravdu, nie všetci programujú kancelárske aplikácie. Ale nie každý si vystačí s aplikáciou, ktorý má "niekoľko veľkých tlačidiel". Ja sa jednej venujem už dva roky, vždy sa o niečo doplní, aktualizuje a pod. a robiť ju vo WinAPI by bola samovražda.

Tak kdyby chteli treba skolni hodiny rizeny GPS signalem

Bože bože, za čo ma trestáš :D kde by si tam preboha použil WinAPI? Kúpia Netduino a naprogramujú to cez C# !!! :D

Za seba to zhrniem:

  • "Je c++ důležitý?" - Áno je.
  • "Takže bude lepší naučit se WinAPI než .NET?" - Nie, začni s .Net, pochopíš prečo keď s tým budeš pracovať. A keď bude čas tak sa uč aj C++. Ako píše KIIV, je lepšie vedieť viacero jazykov.

Pozri sa sem Using ListView control under Win32 API a pochopíš o čom je WinAPI. Ako príklad uvediem ako vložiť riadok do ListView v C#, aby si videl ten rozdiel:

ListViewItem riadok = listView.Items.Add("Text 1. stĺpca");
riadok.SubItems.Add("Text 2. stĺpca");

2 riadky kódu na vloženie jedného riadku do ListView, ktorý má 2 stĺpce (vložíš cez designer vo Visual Studiu). WinAPI na to potrebuje niekoľkostránkový článok... :)

Nahlásit jako SPAM
IP: 195.168.209.–
Get off the cross, we need the wood
liborb
~ Redaktor
+18
Guru
28. 9. 2012   #22
-
0
-

Původní otázka tohoto vlákna byla, jestli C++ nebo .NET. Samozřejmě C++ :), ale jak už tu bylo mockrát zmíněno, tak hodně záleží na tom, co chceš dělat.
Jiná otázka je, jak na GUI. Sám dělám ve WinAPI a každému, kdo chce dělat pod Windows bych doporučil se s ním alespoň seznámit. Pak ovšem existují další knihovny a nadstavby, protože ano, všechno jsou to nadstavby WinAPI i ten .NET. Dokonce si lze vybrat i multiplatformní.

A teď je srovnání WinAPI a .NET. Tvrzení, že .NET aplikace bude dosahovat stejné rychlosti jako aplikace ve WinAPI je úsměvná. Ano, rychlost vývoje pod .NET je na začátku rozhodně větší. Sám mužů ale potvrdit, že časem se ten rozdíl ale smaže. Když člověk používá ve WinAPI pořád to samé, tak z toho nakonec udělá knihovnu. A s použitím komponent (COM) to je ještě výraznější.

A dále nechápu v čem by mělo být udržování aplikace v .NET lepší než WinAPI aplikace. Svoje aplikace udržuji rozhodně víc jak 2 roky. U některých vývoj stále probíhá a i když jsou mezi nimi i rozsahem molochální, tak mi to nečiní nejmenší problém.

A přidán jednu zkušenost s .NET aplikací. Potřeboval jsem jednoduchou aplikaci, nejvíc práce dalo rozmístit komponenty na dialog, tak jsem šáhnul po C#. Šlo o komunikace, samotnou komunikaci mám řešenou v COM komponentě s duálním rozhraním, takže jde použít i v C#, Pythonu nebo i v HTML (IE). Udělat jsem jí. Přenesl na koncový počítač a ejhle, nebylo to pro správnou verzi .NET. Ano, stačí doinstalovat, ale hůř se to řeší u počítače, co nemá připojení k internetu. Jak se říká: fčíl sme v řiti :)

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 82.145.208.–
pavlík100
~ Anonymní uživatel
5 příspěvků
29. 9. 2012   #23
-
0
-

ok, takže jsem vybral winapi.

dík za odpovědi.

Nahlásit jako SPAM
IP: 88.102.99.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 59 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý