[C/C++] Kde se učit Win32 API?

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Tepster 10. 4. 2014 10:52

Ahoj,
trochu ovládám C# (pak i PHP a ostatní jazyky pro web) a chtěl bych se naučit C/C++. Moc o tom zatím nevím, ale předpokládám, že ty "běžné" programy se dělají právě v C/C++ Win32 API. A chtěl bych se zeptat, jestli neznáte nějaký internetový server zabývající se tímto, ze kterého bych se mohl učit. Našel jsem tuto sadu článků (http://www.builder.cz/rubriky/c/c--/uci ... e-156002cz), nicméně je to 12 let staré, takže asi není úplně dobré učit se z toho.

Děkuji
Tepster
Junior

Odeslat příspěvekod Wikan 10. 4. 2014 11:07

I v C# můžeš dělat "běžné" programy.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Tepster 10. 4. 2014 13:00

Jasně... Ale to je jedno, prostě se chci učit C/C++.
Tepster
Junior

Odeslat příspěvekod PiranhaGreg 10. 4. 2014 13:58

Vřele ti doporučuji u C# pro Win aplikace zůstat. Prog. jazyků už "umím" dost a teď se musím ve škole učit C++ a je to fakt hardcore. Správně navrhnout a naimplementovat něco většího v C++ je hodně hodně těžký :-S .

Hlavně jak si tam sám spravuješ paměť, tak hned musíš u každý blbosti řešit různý kopírující a přesouvací konstruktory, počítat si reference, přetížit min. operátor přiřazení, správně uvolňovat paměť i při errorech... Je toho strašně moc a čím větší aplikace, tím rychlej tyhle problémy narůstají.
PiranhaGreg
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod JimmyFL 10. 4. 2014 14:45

Mit alespon zakladni prehled o tom jak funguje C/C++ ti docela zasadne zmeni pohled na jazyky typu Java/C# a jeste "hur" PHP/atd, ktere si vetsinu toho co musis v C/C++ delat rucne resi automaticky. Najednou zjistis ze starat se o pamet vlastne neni vubec tak jednoduche jak by se ti mohlo zdat, a dalsich milion zaludnosti.

Kde se ucit ti neporadim, ale doporucuji s tim zacit, i kdyz to bude jenom okrajove. Jeste dal by si mohl jit do zakladu Assembleru, ale to uz je mozna az moc daleko pro dnesni normalni pouziti...

A hlavne nezalezi na pocku jazyku ktere umis, ale hlavne jak je umis.
Brzdy ani vykonem nenahradis...
JimmyFL
Junior
Uživatelský avatar

Odeslat příspěvekod ferrad 10. 4. 2014 15:04

Ve win32 API jeste někdo dělá když existuje qt a jemu podobne frameworky?
ferrad
Junior

Odeslat příspěvekod Tepster 11. 4. 2014 08:50

Koukal jsem na to QT a přijde mi to docela dobré. Chci se zeptat, má cenu se něco takového vůbec učit? Proč se vůbec programují některé věci v C/C++ a ne třeba v C#, když píšete, že je to v něm jednodušší, lepší?
Tepster
Junior

Odeslat příspěvekod Wikan 11. 4. 2014 09:30

V C/C++ se obvykle programují věci, u kterých je kritická rychlost, ale zase je s tím víc práce.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod George2005 11. 4. 2014 09:31

Tepster píše:Koukal jsem na to QT a přijde mi to docela dobré. Chci se zeptat, má cenu se něco takového vůbec učit? Proč se vůbec programují některé věci v C/C++ a ne třeba v C#, když píšete, že je to v něm jednodušší, lepší?

Sorry, ale pokud se takto ptáš, tak programovacích jazyků zas až tak moc "neumíš" - ono znát syntaxi je skoro možná až to poslední - pokud opravdu umíš programovat (tj. chápeš algoritmizaci a znáš "background" toho co vlastně děláš) tak už se docela rychle zorientuješ (skoro) v jakémkoli jazyce. Krásný příklad je právě .NET - VB a C# mají jinou syntaxi a přesto v nich uděláš (skoro) totéž, neboť se beztak překládají do IL, který se pak kompiluje. Ale .NET má za sebou Framework, který za Tebe dělá spoustu věcí, které nemusíš řešit (na rozdíl třeba od C++). Pak ovšem vznikají "programátoři", pro které je obrovským problémem např. pochopit v C++ princip pointerů - já jsem začínal na ZX Spectrum v Z80 assembleru a poté jsem dělal v x86 asm - tam se opravdu nejvíc naučíš, jaký je vlastně ten "background" počítače a pak Ti stesky někoho, že nechápe pointer přijdou opravdu k smíchu. Dneska dělat v ASM je samozřejmě už passé (pokud se nevěnuješ reverznímu inženýrství, psaní sofistikovaných driverů či automatizaci), nicméně jako okénko do "hloubi duše kompjútrů" je to neocenitelné!

Btw: pro flamery: dvakrát jsem použil slovíčko "(skoro)", neboť jsem daný text chtěl oprostit od technických detailů, protože složité vysvětlování by šlo nad rámec tohoto příspěvku ...
Nesnáším nesmysly jako jsou lesklé displeje, počítače typu tablet a pak především facebook, jakožto i ostatní společenské sítě, které kdekdo chybně překládá jako sociální ...

Blog: http://dlazdic.blog.zive.cz/
George2005
Junior

Odeslat příspěvekod Bespi_ 11. 4. 2014 09:34

Pokud mas alespon nejake znalosti o programovani tak by jsi na to mel znat odpoved ne ?

PS: Pokud delas v C# a zda se ti QT dobre tak si asi nikdy nevidel WPF, a stale si "hrajes" s prehistorickym WinForms ze.
Bespi_
Junior

Odeslat příspěvekod cicobasket 11. 4. 2014 09:49

A je to tady zas. Protěžování to ho WPF bazmeku, který prakticky umřel ještě než se narodil, v diskusi která vůbec není o frontendu. Tebe to snad baví čéče.
Jseš si opravdu jistý, že bys tuto informaci nenašel v google.com ?
No (f)lame wars, pls.
Špatná stránka Internetové komunikace je ta, že si někteří lidé pod rouškou skryté identity myslí, že se mohou chovat jako doma ve chlívku....
cicobasket
Junior

Odeslat příspěvekod Bespi_ 11. 4. 2014 09:57

zas komentar od nekoho kdo o WPF nic nevi, ale keca do toho :D

PS: QT je podle tebe co ? Pokud to nevis - http://cs.wikipedia.org/wiki/Qt_%28knihovna%29
Bespi_
Junior

Odeslat příspěvekod cicobasket 11. 4. 2014 10:17

Rád bych se zeptal co je cílem. Dal sis totiž cíl dosti vágní a pochybný. Mezi C a C++ je sice jenom to(++) ale jinak tě to zavede do zcela jiných světů. Chtít se učit Win32 API je jako kdyby automechanik se chtěl učit principy parního stroje.
Já tedy už neholduji jazykům, které mají pro text dva až dvacet datových typů, ale být tebou, začnu v knihách. Pokud potřebuješ pomoc, stačí najít (vygooglit) nějaké C++ fórum(třeba programujte.com). Co se Win32 API, tak ti doporučím legendu Charlese Petzolda a jeho Win32 API. Sám jsem jako na potvoru vyhodil český překlad této knihy(kterou možná ještě někde koupíš), ale anglický originál najdeš všude po netu. Jako učební vzorek je to dneska mimo hru. Zkusil bych spíš WinRT - jeho nástupce

http://en.wikipedia.org/wiki/Windows_Runtime

http://programujte.com/clanky/45-serial-win-32-api/

http://www.docstoc.com/docs/40168478/Pr ... old-5Th-Ed)

-- 11. 4. 2014 10:36 --

PS: QT je podle tebe co ? Pokud to nevis - http://cs.wikipedia.org/wiki/Qt_%28knihovna%29[/quote]

Vy jste QT do toho zamotali jenom proto, že ferrad si myslel, že Win32 je nějaký frontendový FW, jako QT.
Jseš si opravdu jistý, že bys tuto informaci nenašel v google.com ?
No (f)lame wars, pls.
Špatná stránka Internetové komunikace je ta, že si někteří lidé pod rouškou skryté identity myslí, že se mohou chovat jako doma ve chlívku....
cicobasket
Junior

Odeslat příspěvekod TomasXXG 11. 4. 2014 10:37

A je to tady zas. Protěžování to ho WPF bazmeku, který prakticky umřel ještě než se narodil, v diskusi která vůbec není o frontendu. Tebe to snad baví čéče.


WPF zomrel? :) Tak to je pre mna novinka, pretoze ja sa s nim stretavam takmer vsade.
TomasXXG
Junior

Odeslat příspěvekod Bespi_ 11. 4. 2014 10:52

cicobasket: si komik.

Dotycny psal ze se mu zda QT dobre, predtim napsal ze pise v C#. Z toho usuzuji ze pouzival WinForms, kdyby pouzival WPF a mel o nem apon castecny prehled tak by tak "nadseny" z QT moc nebyl.
Bespi_
Junior

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků