Diskuze: Co je nejlepší? C/C++
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj. C resp. C++ a C# jsou jazyky určené k něčemu jinému. C je dobré pro programování hardwaru, C++ na velmi výkoné aplikace a C# pro běžné programování aplikací. Pro ovládání Windows se používá WinAPI, které je nativně psáno v C, ale existují bindingy na C#, takže je to ve výsledku jedno. Pokud začínáš a chceš prostě dělat aplikace, zvolil bych C#. Pokud chceš vědět, jak to funguje na pozadí a vědět co se děje, zvolil bych C resp. C++. C++ je víceméně rozšíření C, takže lze začít s C a potom přejít na C++ (je tu zvlášť článek pojednávající o přechodu z C na C++).
Děkuju... a kde bych ty tutorialy našel?
Ještě poslední otázka. Jakou učebnici na C# bys mi doporučil prosím?
Opět, je tu kopec článků pro C#: https://www.itnetwork.cz/csharp/zaklady
Opravdu, základy C# je velmi kvalitní sekce, jsou to moc dobře napsané
články, které jsou pochopitelné. gripen wo.cz já sám jsem se k C#
dostal z Javy ve které jsem psal jednoduché aplikace. Nyní pracuji na
větším projektu a C# je na to ideální. Stačí se podívat na metody
výpisu textu Systém.out.println nebo Console.Write? C# je velmi moderní jazyk,
který má své výhody i nevýhody. Například není moc použitelný na
Linuxu a Maců ale na Windows je to asi nejlepší jazyk.
To už btw není pravda, s .NET Core jde v pohodě programovat na Linuxu i Macu. Je fakt, že WPF apod. tam člověk nedostanu, ale jinak je to v pohodě.
Asi jsem trošku zaspal. O .NET Core vím ale jak to spustím? V čem mám vyvíjet. Je tu
mnoho věcí o kterých mi bylo dobré se zamyslet a vylepšit. Například VS
pro Linux by byl dar z nebes.
Pokud chceš psát vysoce výkonné aplikace, nauč se C. WinApi pro správu okna a vstupů, OpenGL popř. Vulcan pro grafické Api, OpenAL pro audio (vše psané v C). Výhodou je, že více porozumíš tomu jak to funguje. Naproti tomu Tě to bude stát více úsilí. Pokud Ti postačí psát "běžné" aplikace, kterých je většina, pak C# je postačující a dobrou volbou. Dále můžeš použít různé nadstavby jako GLFW, SFML, SDL, ALLEGRO, RAYLIB, které Ti v mnohem zjednoduší práci. Obvykle jsou psány v C/C++, ale existují bindingy pro další jazyky.
Jinak dívejte se, do jaké sekce píšete a na co se ptáte. Dva úplně stejné dotazy za sebou (na knihu o C#) vložené do sekce C/C++. Ať se tu pak zbytečně nerozvíjí debata o něčem, co v dané sekci nemá co dělat.
O C se nedá říct že by bylo zastaralé, ale přeci jen dnes dělat v céčku je zvláštní, ale pokud někdo chce vytvořit nové Windows tak se céčko určitě hodit. Jinak jazyky jsem přezkoušel všechny a céčko asi není špatné, ale poslechne tě na slovo, takže můžeš zničit PC, C++ je dost podobné, ale trošku složitější a pokročilejší. Dalo by se říci že C a C++ jsou v podstatě to samé, ale C++ má třídy. Rozhodně ani jeden z těchto jazyků nejsou špatné spíše primitivnější. Rozhodně pokud někdo zvládne C++ tak s ostatními jazyky problém mít nebude protože to bude zjednodušení. Do začátku jsou Java či C# asi nejideálnější jazyky na naučení. Ale rozhodně žádný jazyk není špatný. Btw kdyby někdo chtěl pomoc s C# tak do mého projektu hledám lidi nebo kdybyste jen potřebovali pomoc, tak pište do PM. V céčku jde v podstatě cokoliv. Kdyby někdo vyvíjel operační systém tak se rád připojím.:-D Takže nejjednodušší C# a pak C a C++.
Otázka: co z toho vybrat, když chci udělat appku s grafickým rozhraním? Nabízí mi to tam jen konzolové aplikace. Děkuju.
Posuzovat programovací jazyky dle toho, jak dlouho jsou vývojářům k dispozici, je pro mě bezpředmětné. Pojem "zastaralý" ve mě evokuje význam, že něco je nahrazeno něčím jiným, což se o jazyku C rozhodně říci nedá. Právě blízká spojitost s hardwarem, schopnost řešit daný problém silou, pružně, elegantně a zejména efektivně mu dává vysokou exklusivitu nad ostatními jazyky. Programovací jazyky posuzuji podle mnoha kritérií, zejména dle toho co poskytují a co vývojáři umožňují.
přeci jen dnes dělat v céčku je zvláštní...
Proč zvláštní? Nebudu zacházet úplně do detailu, to by obsáhlo několik článků, ale ve stručnosti:
Nástroj je dostupný, neustále se rozvijí, umožňuje dílčí problém zapsat čitelnou a jasnou formou a mnoho mnoho dalších aspektů.
Samozřejmě ani to, co jsem zde vypsal, nemusí znamenat, že je to
nejlepší nástroj pro všechny. Každý preferujeme něco jiného. Obvykle to
bývá komfort který je vývojáři poskytnut při používání toho daného
nástroje (např. automatická správa paměti, apod).
Většinu z toho co jiné nástroje poskytují lze v C nahradit. Ano, vyžaduje
to v lecčem více úsilí. Ale výkon, který C poskytuje, nahradit nelze.
Samozřejmě ne vše si vyžaduje takový výkon abychom nutně používali C,
od toho tu jsou další programovací jazyky, se kterými si lze vystačit.
Až něco z toho co jsem zde uvedl nebude možné a bude to pro mě
stěžejní, pak mohu začít uvažovat o používání jiného nástroje.
V současnosti si však nedokáži představit, že bych vyvíjel vysoce
výkonné, extrémně bezpečné a uživatelsky přátelské aplikace v něčem
jiném než v C.
Neříkám že C je špatně, ale spíše jednodušší a kód v C dokáže nadělat paseku.
Jak postupovat při vytváření Windows aplikace v C++ je uvedeno na
následujícím odkazu:
Návod: Vytvoření tradiční Windows Desktopové aplikace
(C++)
Ale abys mohl začít vytvářet grafické aplikace pod Windows v C++, je
třeba už mít patřičné znalosti.
Je tedy dobré začít postupně, psaním konzolových aplikací. Každá cesta
začíná prvním krokem...
Hele pupíčku otázka je čím se chceš živit ... jako programátor v
Javě v bance v praze si mužeš vydělat i 150tis měsíčně ...
Ta nejdůležitější otázka je 1/ Chci být programátor PLC (např. Siemens
Simatic S7) nebo 2/ chci být WEBový programátor a musím se naučit
HTML5+CSS3+JavaScript což je základ pro vše ostatní 3/ chci být WEBový
programátor v MS VS ASP C# .NET5 Razor/Blazor nebo 4/ chci být WEBový
programátor v PHP + MySQL nebo 5/ chci být databázový programátor v MS SQL,
PostgreSQL, MySQL, OpenSQL atd. nebo 6/ Chci být programátor her v C#+Unity a
proto se musím přestěhovat do Brna nebo 7/ Chci být programátor pro MS VS
C++ x64 + WinAPI + DirectX12 a proto se musím přestěhovat do USA nebo do
Brna, nebo 8/ chci být programátor her pro mobilní telefony a proto se musím
naučit Android Studio C++ a VULKAN (nebo OpenGL) nebo 9/ chci být embedded
programátor a proto se usím naučit jazyk C a C++ nebo ... atd ...atd ...
každopádně v dnešní době bych se nenápadně vetřel do nějaký firmy a
učil bych se to za co ti někdo zaplatí ... protože ... život utíká
hrozně rychle ... jenom abych tě připravil předem tak WEB programátor se
zaučuje cca 3 roky a herní programátor v DirectX cca 6-7 let
C# je jak na hry s použitím Unity (2D/3D) tak i na desktopový aplikace.
Mužeš použít jak starší knihovnu .NET 4.7.2 WinForms
nebo novější .NET5 WinForms nebo .NET5 WPF. Starší knihovna .NET 4.7.2 (a
nižší číslo) se už nebude vyvíjet a proto bych doporučoval přejít od
listopadu 2021 na .NET5. Základem pro C# je stáhnout si MS Visual Studio 2019
(KEY najdeš někde na netu).
ještě taková drobnost .. desktopovou aplikaci v C++ ? máš několik
možností
1/ MS VS 2019 C++ s WinAPI + knihovnou MFC (to je stará knihovna z 90 let ale
pořád se používá převážně v německu)
2/ MS VS 2019 C++ / Qt (což je moderní multiplatformní knihovna pro desktop i
mobilní aplikace) můžeš používat překladač GCC nebo Clang nebo ten v MS
VS
3/ MS VS 2019 C++/CLI pro starý .NET1.x, 2.x, 3.x, 4.x nebo i nový .NET5/6 ale
bez !!! podpory knihoven WinForms nebo WPF takže se s tebe stane konzolový C++
programátor wrapperů z C/C++ do řízeného kodu Windows
4/ MS VS 2019 C++/Cx - do toho bych nešel je to odepsaný C++ jazyk od MS
5/ MS VS 2019 C++/WinRT nový prog. jazyk C++ od MS ještě se neví co z toho
bude...
6/ No a pak je tady taky Intel Parallel C++ Studio pro vysoce výkonné
počítače a výpočty .. ale to asi chcít nebudeš ...
a pak sem zapomněl na programátory v NVidia CUDA a AMD Khronos pro paralelní výpočty na grafických kartách ... to je taky v C++
Zobrazeno 17 zpráv z 17.