co je lepší   zodpovězená otázka

Offtopic

Dobrý den mohu vás poprosit aby mi někdo poradil jaký je všeobecný rozdíl a který slouží k čemu .mezi Visual Basic , Visual c++ , c++ ??

budu vám vděčný DĚKUJI

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den , vemu to stručně (chvátám na bus).Všechny jazyky se liší syntaxí.Visual Basic je spíše pro ty co s programováním začínají a nelze v nich programovat například (antiviry,firewall,složité hry,O.S ,drivery..atp)Teď se dostanu k c++ .V c++ lze napsat jak drivery, tak hry, systémové aplikace atp. Ovšem pro začátečníka hrůza. Proč? Extremní složitost + dost otravná syntaxe (chybí znaménko a hle nejde to)

Snad to alespoň takhle stačí a já uháním na bus :)

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

http://www.vbnet.cz/faq.aspx

Ve VB nenapíšete akorát drivery a věci, které nějak hlouběji šahají do systému (resp. jde to, ale není to úplně ideální).

Prakticky nevidím důvod, proč by se neměly složité hry psát ve VB, ano, bylo by to trochu pomalejší než v C++, ale u hry to až tak nevadí, protože fyzikální výpočty a grafiku stejně počítá grafická karta, pro kterou se ty části píšou v jazyku podobném céčku.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

To máte pravdu , ale stejně jsou pro hry "lepší" jiné prog. jazyky.Pravě mi šlo o to že by to bylo ve vb.net pomalejší.Pokud bych nějak psal hru ve vb.net tak bych použil XNA Framework.Na druhou stranu mi přijde lehčí napsat hru ve vb.net než v hororovém c++

K tazateli: Ješte je podstatný rozdíl rychlost vývoje.Ve vb.net to napíšete rychleji než v c++

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ve VB jsem trošku pokročilejší a v tom c++ a Vc++ jdou delat aplikace které vypadají stejně jako ve VB (okno tlacitka) nebo v C++ musim tlacitko definovat urcit velikost a vlastnost rucne ?

PŘEMEJŠLÍM ŽE ZAČNU VE VC++

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Okenní aplikace se v C++ dělají o dost hůře než v .NETu, pokud nechcete psát něco, co sahá hluboko do systému, pak myslím, že nemá cenu se do c++ pouštet. Není to tak těžké naučit se to, pokud umíte objektově orientované programování, které ale doporučuji naučit se na nějakém jiném jazyce (VB.NET, C#).

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

jedná li se o programy ve stylu prehrávač,malování,práce se soubory, zalohování,malé hry,nějaké ty aplikace pro Windows atd.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak to začněte s VB.NET. Učit se C++ na okenních aplikacích je cesta do pekel, pokud s programováním zkušenosti nemáte. C++ není pro začátečníky vhodné.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

C++ je obecná specifikace programovacího jazyka (něco jako Basic, který má také mnoho implementací). Microsoft Visual C++ je vývojové prostředí pro tento jazyk, existuje jak ve velmi omezené Express verzi, tak v plnohodnotné verzi, která je součástí Visual Studia Standard nebo lepšího. Vizuální návrh aplikace tak jako je ve Visual Basicu .NET nebo C# rozhodně nečekejte, většina uživatelského rozhraní se píše ručně bez vizuálního návrhu (naprosto katastrofální, neefektivní a pomalý vývoj). Pokud je mi známo tak v tom jdou vizuálně navrhovat pouze jednoduchá dialogová okna se základními Win32 ovládacími prvky, zbytek je ručně pomocí MFC.

Rovněž doporučuji raději Visual Basic .NET nebo C#.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ona podpora klasického C++ ve Visual Studiu je taková trochu nedotažená. Nejsou na to třeba unit testy, designer na formuláře atd. Okénka se dají dělat v MFC, ale není to úplně jednoduché a rozhodně se to nedá naklikat.

Něco jiného je to už s C++/CLI, ale to už není čisté C++, ale jeho Microsoftí rozšíření - takový hybrid .NET aplikace a klasické unmanaged aplikace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jednoduché věci se daly naklikat ve verzi 8.0 (2005), ale mělo to asi stejné možnosti jako návrhář formulářů ve VBA (verzi 9.0 jsem nezkoušel). C++/CLI je totální odpad a nevím jak vůbec mohl Microsoft provést takovýto výkřik do tmy, když už od VS2002 existuje C#, což je samo o sobě hybrid mezi C++ a Visual Basicem. Ještě větší zrůdnost bude Visual C++ 10.0 (2010), které už bude kompletně na Frameworku 4.0.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Jděte už s tím nadáváním a totálními odpady, podle vás je každá druhá technologie odpad. C++/CLI má několik rozumných využití, samozřejmě někde se nevyužívá zrovna správně, ale to je tak u každé technologie. Mnoho produktů je napsáno právě v C++/CLI, ta technologie se docela používá.

C# a VB.NET je sice fajn, ale dokud na .NETu nebude kompilátor, který bude umět pořádně optimalizovat, tak prostě občas .NET výkonově nestačí. To, že JIT negeneruje optimalizovaný kód, se dá pochopit - na pořádnou kompilaci tam není čas. Ale bohužel pořádné optimalizace nedělá ani ngen. A co se týče spotřeby paměti, tak ta je v .NETu prostě větší, protože na každý objekt máte overhead, se kterým už z principu nic neuděláte. V C++ je ta režie daleko menší. A navíc v C++/CLI třeba narozdíl od C# můžete objekt dát na stack, což se taky dost často hodí a šetří to výkon při Garbage Collection. Kolikrát v metodě vytvoříte instanci nějakého objektu, kterou po výstupu z metody již nikdy nepotřebujete a je zbytečné kvůlu ní zakládat záznam na heapu a nechat ho tam až do doby, kdy se GC uráčí ho odstranit?

Ano, jazyk C++ jako takový má dost nevýhod, neumí třeba property, což je imho jedna ze základních věcí, ale to je spíš věc zvyku.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

C++/CLI je skutečně odpad, divím se že jste to jako vývojář ještě neslyšel. Já to slýchám od svých kolegů co se v praxi pohybují velmi dlouho skoro pořád (a proto v tom také nikdo nedělá). Kde píšu že každá druhá technologie je odpad? To je nesmysl. C++/CLI je klasický příklad vytvoření nepoužitelného hybridu, který nemá žádné pozitivum, pokud je potřeba výkon, nikdo vám nebude dělat v něčem takovém, ale čistě ve Win32/Win64. Nevím jestli tvrzení že JIT kompilátor v .NETu negeneruje optimalizovaný kód má být vtip, ale pravda je přesný opak. JIT generuje kód přesně optimalizovaný pro danou platformu, který se rychlostí vyrovná unmanaged kódu, ostatně jste to tu i vy i já několikrát tvrdil. Pomalý a neoptimalizovaný je například JIT kompilátor Javy, rozhodně ale ne .NET Frameworku. Alokace a dealokace paměti pro objekty není vůbec tak kritická záležitost, aby se kvůli tomu muselo používat zrůdné C++/CLI, takové operace probíhají minimálně a Garbage Collector je sám o sobě dost inteligentní aby mu bylo možno svěřit veškerou správu paměti (kromě toho jde explicitně popohnat nebo pozdržet).

Jde mě o to, že Microsoft vytváří zcela zbytečné, ve výsledku nepoužívané technologie, místo aby věnoval úsilí do užitečných věcí (nepoužitelné IntelliSense ve Visual C++).

Prostě C++ by mělo zůstat doménou Win32/Win64 aplikací a necpat se do .NETu kde nemá co dělat.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

JIT generuje optimalizovaný kód pro daný procesor, to ano. Ale protože aplikace se musí spustit během pár sekund, kompilace musí být rychlá. Díky tomu JIT nestíhá dělat inlinování delších metod než 32 bytů v MSILu (na 64bitových Windows pro jistotu neinlinuje vůbec), až od .NETu 4 teprve podporuje tail rekurzi (to si vynutily dynamické jazyky).

Kód většiny metod se kompiluje až před jejich prvním spuštěním, někdy se metoda ani nekompiluje a provede se interpretovaně, až v okamžiku, kdy se volá víckrát, se teprve zkompiluje, protože jinak by to bylo pomalejší (tohle je tuším hlavně u dynamických jazyků).

Neříkám, že JIT je špatný, to rozhodně ne, ale ve srovnání s kdejakým C++ kompilátorem prostě ngen dělá jen minimum optimalizací a JIT ještě míň, protože na to prostě není čas.

C++/CLI má pár nevýhod (a hlavně starší verze Managed C++ měla otřesnou syntaxi, ta nová již jde), ale používá se pro spojení výhod a nevýhod obou technologií a postupnou migraci z C++ na .NET.

Jinak s tou IntelliSense v C++ se toho myslím moc udělat nedá, C++ je šílený jazyk a jeho specifikace je chuťovka, na mnoha místech nejednoznačnosti. Ano, mohli by dodělat třeba podporu unit testů, ale tam je taky spousta technických omezení.

Kamarád si na C++/CLI pochvaloval, že třeba některé kolekce jsou lepší v C++ a některé v .NETu, nebo třeba streamy jsou daleko lépe udělané v .NETu (používají overlapped IO, což se v C++ píše drobet obtížněji). Asi záleží, co člověk dělá, ale myslím, že C++/CLI svůj smysl má. Je v něm například napsaný SQL Server a vlastně velká část aplikací Microsoftu.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Zdravím

Pán Herceg a p. Linhart myslím, už prebrali a popísali najzákladnejší a najdôležitejší rozdiel medzi nimi. Ten najviditeľnejší je samozrejme v syntaxi. Pre neznalého človeka, ktorý nevie kód písať je na začiatok dôležité sa naučiť ho aspoň čítať. Ja by som osobne rozdiel charakterizoval prirovnaním, že kód VBasicu sa dá čítať po riadkoch, kdežto kód C/C++ sa číta po písmenách a znakoch, a bez praxe a nejakých skúseností sa vňom stratíte už pri čítaní prvých riadkov programu. Nehovoriac o niektorých booleanských výrazoch, ktorých výsledok môžete iba odtušiť z kontextu programu. Odvážim sa tvrdiť, že toto každého začiatočníka na 99 per. odradí a znechutí. Nehovoriac o hľadaní kadejakých chýb súvisiacich s tým jak to v C-éčku chodí.

Dôležitým poznatkom je, že Céčko je priekopníkom programovacích techník. To znamená, že všetky potrebné teórie a postupy Céčko už dávno obsahuje. Čiže štúdiom C++ sa máte šancu naučiť a pochopiť všetko potrebné ale aj niečo naviac v porovnaní s VB. Výhodou .NETu je najmä priložená kolekcia hotových objektov, ktoré môžete okamžite použiť a za pár minút urobiť takmer akúkoľvek aplikáciu a to výkonnostne porovnateľnú. Pokiaľ použijete syntax VBasicu zistíte, že práca s objektami je veľmi podobná práci v C++. Rozdiel je v tom, že VB je naozaj blízko vývojárovi a umožňuje mu oslobodiť sa od všetkých možných "zbytočných" podrobností.

Programátor dnešnej doby si moc nenavyberá. Firma kúpi vývojársky nástroj a ty rob. Naozaj to nie je príjemné lietať z kódu do kódu. Preto to vítam, že .NET má podporu pre "všetky" jazyky aj keď C# je naozaj ani ryba ani rak. A keď budú robiť všetci kolegovia v C#, tak ja určite tiež.

Pokiaľ zvládnete VBasic a v ňom prácu s objektami, určite sa Vám Céčko sprístupní za kratší čas a popri tom pričuchnete k pokročilejším technikám, čo by Vám v samotnom C++ trvalo oveľa oveľa a oveľa dlhšie. Samotné hotové objekty sú stavebnými kameňmi všetkých dnešných aplikácií. Ak toto pochopíte, nebude pre Vás problém programovať v čomkoľvek.

To, že C++ je schopné pracovať s "nebezpečným" kódom, nie je ani tak vec syntaxe jazyka, ako skôr vec kompilátora. K tomuto obmedzeniu v rámci VB došlo práve kvôli zabezpečeniu bezpádového chodu programov, pretože takmer všetko bežne potrebné sa dá zabezpečiť "kódom bezpečným" a bez zbytočnej straty času s vyšperkovávaním Vášho kódu. Vyhrať sa so správnou logikou programu s prihliadnutím na výkon, optimálne pamäťové nároky atď. sa dá aj prostredníctvom VBasicu, ktorý odporúčam aj ako vynikajúci odrazový mostík začínajúceho vývojára.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback