Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: retz 06 Dubna 2010, 18:25:45

Název: C# Windows Forms?
Přispěvatel: retz 06 Dubna 2010, 18:25:45
Takže, zajímalo by mě jestli si myslíte, že se vyplatí učit C# a následně Windows Forms. V případě, že jo, zajímalo by mě, že jo, tak jak to rozchodit pod Linuxem? Teď jsem to zkoušel s monodevelopem a nějak se nedařilo :(

Nebo myslíte, že se spíše vyplatí učit C++ a pak s tímto jazykem grafiku? Co je nejlepší použíž pro tento jazyk OpenGL?

Díky, za vaše názory a rady :)
Název: Re: C# Windows Forms?
Přispěvatel: premet 06 Dubna 2010, 19:41:36
Záleží co od toho programovacího jazyku očekáváš a co v něm plánuješ vytvářet, protože kombinaci C# a Windows Forms, no nevím nevím, nevím jak moc dobře je na tom C# v Linuxu, ale osobně bych spíš zvolil C/C++.

Pro OpenGL opět C/C++  :)
Články pak třeba tady - http://www.root.cz/serialy/graficka-knihovna-opengl/ (http://www.root.cz/serialy/graficka-knihovna-opengl/)
Název: Re: C# Windows Forms?
Přispěvatel: q66 06 Dubna 2010, 19:42:53
ne, nevyplatí. Radši C/C++ a pro GUI nějakou multiplatformní knihovnu, dostupných je jich dost.
Název: Re: C# Windows Forms?
Přispěvatel: premet 06 Dubna 2010, 19:43:42
ne, nevyplatí. Radši C/C++ a pro GUI nějakou multiplatformní knihovnu, dostupných je jich dost.
Jak by ti jistě quejky poradil, nejradši GTK  ;D
Název: Re: C# Windows Forms?
Přispěvatel: retz 06 Dubna 2010, 20:23:35
díky všem za názory :)
to quaker66:
ty si myslíš, že c++ má větší budoucnost než c#?  ???

Myslíte si, že c++ má vůbec nějakou budoucnost? Tak nějak jsem se c++ začal učit a docela mě láká, ovšem je to poměrně těžkej jazyk, takže bych se ho nerad učil pokud už by se v něm za 2 roky nemělo dělat :)

Neberte v potaz pouze vyvíjení pod Linuxem prosím, zajímalo by mě, co se vyplatí se učit do budoucna? Asi c# co? v c++ už asi moc lidí dnes nedělá co?
Název: Re: C# Windows Forms?
Přispěvatel: premet 06 Dubna 2010, 20:31:27
Na Windows má větší budoucnost C#, ale na Linuxu těžko  8)
Název: Re: C# Windows Forms?
Přispěvatel: retz 06 Dubna 2010, 20:32:59
jj, takže, kdybych se jednou chtěl živit jako programátor, tak dnes jedině C# :(
Název: Re: C# Windows Forms?
Přispěvatel: q66 06 Dubna 2010, 21:04:19
jj, takže, kdybych se jednou chtěl živit jako programátor, tak dnes jedině C# :(

to není pravda, c# je pro lamy :P velké projekty se dělají v C/C++, OS jsou programovaný v C, herní enginy jsou programované v C++ + OpenGL/Direct3D, nenajdeš skoro žádný v C# .. navíc když umíš C++, tak není už problém pochopit jakýkoliv programovací jazyk .. takže znalost C++ je daleko užitečnější než znalost C# ..

a ty přemete nerýpej :D gtk sux :P
Název: Re: C# Windows Forms?
Přispěvatel: premet 06 Dubna 2010, 21:18:07
jj, takže, kdybych se jednou chtěl živit jako programátor, tak dnes jedině C# :(

to není pravda, c# je pro lamy :P velké projekty se dělají v C/C++, OS jsou programovaný v C, herní enginy jsou programované v C++ + OpenGL/Direct3D, nenajdeš skoro žádný v C# .. navíc když umíš C++, tak není už problém pochopit jakýkoliv programovací jazyk .. takže znalost C++ je daleko užitečnější než znalost C# ..

a ty přemete nerýpej :D gtk sux :P
Svatá pravda  8)
Název: Re: C# Windows Forms?
Přispěvatel: mka 06 Dubna 2010, 23:39:09
S učením se čehokoliv od M$ bych počkal, až se to naučí ti od M$. Do té doby je to zbytečná starost.
Název: Re: C# Windows Forms?
Přispěvatel: Kedrigern 07 Dubna 2010, 00:13:10
No C# není špatný jazyk, neříkám, že je nejlepší (což není žádný), ale je funkční, hlídá za tebe kde co, návrhem nedělá nějaké blbosti (vše je třída etc. a tak tomu doopravdy, ne jako některé jiné jazyky, které něco někdy umí, jindy ne...), dnes má širokou podporu MS (MSDN není špatná) a v firmy ho používají (což nesvědčí o jazyku, ale pokud chce člověk mít také práci, tak je to dobré).

Co se týče programátorské části, tak plně funguje v Monu. Mono holt nemá takovou podporu WinForms a těchto zcela specifických věcí (prostě nemá stejnou fgrafiku)... zas MonoDevelop dobře umí GTK, škoda že rovnou nemá i Qt, pak by to bylo zcela ideální. Je to moloch, ale zas v něm můžeš udělat zcela jednoduše i docela velké věci... do budoucna to jinak nepůjde. Stejně ty "čisté" lehké jazyky v reálném použití zaplavíte tunou cizorodých knihoven, takže pochybuji, že dlouhodobě bude ten výsledek tak jiný.

Samozřejmě vaše příklady OS a projektů typu Xorg, grafické prostředí jsou fajn, ale kolik "programátorů" se k nim dostane? Nejdřív se musí naučit opravdu dobře programovat (to už stejně bude umět, alespoň 4 jazyky) a pak se mu musí chtít piplat s takovýmito nízkoúrovňovými věcmi... Spousta lidí zůstane u drobnějších aplikací, kde rozhoduje hlavně jednoduchost výroby, popřípadě u větších nenízkoúrovňových projektů. Třeba jsem nedávno potkal nějaký multiplatformní simulátor vlaků a byl psán v C#...

Pro tazatele: Pokud opravdu začneš programovat, tak začneš používat víc jazyků. C++ a C# jsou navíc relativně příbuzné (syntakticky téměř identické, zvláště pokud porovnáváš s větší množinou prog. jazyků a ne jen těmi nejvykřičenějšími), čili to opravdu není problém střídat. Zkusil bych se naučit takový úvod k oboum a pak dle chuti. Každý má své výhody a nevýhody.

Edit: Tady jsou ty C# vláčky: http://www.openbve.org/

Edit 2: Tak jsem přemýšlel nad těmi okénky pro Mono a MonoDevelop a: http://www.mono-project.com/Gui_Toolkits (http://www.mono-project.com/Gui_Toolkits)
No koukám, že jsem je podcenil, těch Gui mají hodně - i když otázka je jak je to s reálnou použitelností, ale věřím, že ty WinForms budou třeba do roka standartní součástí. Dělám teď jeden projekt v C# (tak si asi s různými gui pohraji a pak snad sepíši).
Název: Re: C# Windows Forms?
Přispěvatel: zcout 18 Dubna 2010, 00:14:39
Pokud chceš vyloženě pracovat s 3D grafikou, tak C++ je obecně podporovanější v tomto směru. Čistě v OpenGL nebo DirectX dělají dnes jen blázni a nadšenci do corového programování grafiky, naproti tomu ti, co chtějí v reálném čase dosáhnout nějakého výsledku, si radši vyberou z celé řady knihoven, které práci velmi zjednodušují. C++ je podporovanější jednak protože se standardně používá na většině platforem a jednak protože je velmi rychlé (skutečně rychlejší než C#). Z vlastní zkušenosti tedy vím, že knihovny na 3D grafiku jsou většinou hlavně v C++, případně se pak portují na ostatní jazyky (jako Python, Java nebo C#), což ovšem zvyšuje riziko bugů a porty většinou přichází až nějaký čas po vydání C++ verze.

C# má ale i své výhody, je to jazyk s hezkou syntaxí a spoustu věcí dělá za programátora. Programování v C++ je mnohem problematičtější než v C#, především protože má programátor přímo přístup do paměti.

Na Windows bych asi neváhal a šel bych do C#, jistě existuje spousta grafických enginů přímo pro něj. Na linuxu už je to horší, zatím jsem vyzkoušel 5 renderovacích 3D enginů (v C#, C++ a ve Flashi), zatím u mě vede C++.
Název: Re: C# Windows Forms?
Přispěvatel: Karas 22 Ledna 2011, 18:05:35
Já bych se rád zeptal k tomuhle tématu, jak můžu zprovoznit program napsaný v C# v MonoDevelopu. Pokaždé se mě vytvoří soubor s koncovkou .exe a ta jede na windows, ale nikde sem nenašel co udělat, aby to šlo také v Ubuntu, jestli to vůbec jde.
Název: Re: C# Windows Forms?
Přispěvatel: Kedrigern 22 Ledna 2011, 18:29:14
Já bych se rád zeptal k tomuhle tématu, jak můžu zprovoznit program napsaný v C# v MonoDevelopu. Pokaždé se mě vytvoří soubor s koncovkou .exe a ta jede na windows, ale nikde sem nenašel co udělat, aby to šlo také v Ubuntu, jestli to vůbec jde.
No nemusíš, jen na něj klikneš a on se spustí :).

Samozřejmě musí být nastavený jako spustitelný (ale kompilátor ho takový vyrobí). Jinak pokud máš nainstalované Mono, tak se Mono .exe soubory rovnou spouští přes něj (pokud máš, ale Mono jen ve std. instalaci, tak ti mohou chybět knihovny).

Jenom občas bývá problém s exáčema pro Win32 etc., které by měl spouštět Wine.
Název: Re: C# Windows Forms?
Přispěvatel: Karas 22 Ledna 2011, 20:08:12
Zeptám se špatně- mám poklikat na ten soubor .exe nebo na ten samotnej projekt s koncovkou .cs ?

Pokud de o Mono tak mám nainstalovanej MonoDevelop, ale samotný Mono nemám a ani nemůžu nic takovýho najít na stáhnutí.
Název: Re: C# Windows Forms?
Přispěvatel: pacholik 22 Ledna 2011, 21:03:28
Na exe

MonoDevelop ti udělá binárku kterou můžeš pouštět na všech platformách kde je Mono nebo .NET. A už jenom proto že má ten soubor koncovku exe ho za to někteří zarputilí linuxáci proklínaj :)
Název: Re: C# Windows Forms?
Přispěvatel: Karas 22 Ledna 2011, 22:33:56
 ;) jo díky už vím jak na to a jede to :P
Název: Re: C# Windows Forms?
Přispěvatel: oyankee 23 Ledna 2011, 11:13:59
Na exe

MonoDevelop ti udělá binárku kterou můžeš pouštět na všech platformách kde je Mono nebo .NET. A už jenom proto že má ten soubor koncovku exe ho za to někteří zarputilí linuxáci proklínaj :)

Bodnul si do rány, au :-).
Název: Re: C# Windows Forms?
Přispěvatel: vlabra 27 Ledna 2011, 20:27:16
Jenom občas bývá problém s exáčema pro Win32 etc., které by měl spouštět Wine.
To občas bývá problém i se starými hrami pro Dos (Dosbox). A proto by mne zajímalo, jestli existuje nějaká utilita která tenhle problém řeší. Tj. kterou si asociuji s .exe a ta při spuštění koukne do toho souboru a podle obsahu spustí Mono, Wine či Dosbox. Co se Win32 / Dos týče, to bych asi byl asi schopný splácat nějaký prográmek (tam je rozdíl docela velký a celkem dobře dokumentovaný) ale s Win32 / .NET bych si už asi neporadil.
Název: Re: C# Windows Forms?
Přispěvatel: Kedrigern 27 Ledna 2011, 21:12:20
Jenom občas bývá problém s exáčema pro Win32 etc., které by měl spouštět Wine.
To občas bývá problém i se starými hrami pro Dos (Dosbox). A proto by mne zajímalo, jestli existuje nějaká utilita která tenhle problém řeší. Tj. kterou si asociuji s .exe a ta při spuštění koukne do toho souboru a podle obsahu spustí Mono, Wine či Dosbox. Co se Win32 / Dos týče, to bych asi byl asi schopný splácat nějaký prográmek (tam je rozdíl docela velký a celkem dobře dokumentovaný) ale s Win32 / .NET bych si už asi neporadil.
Poslední vývojová větev Wine implementuje rozpoznání DOS EXE a pak se to pokusí pustit v DosBox.

.NET je hodně jiný, ale problém bude asi s nepodporovanými frameworky. Když použiješ .NET 4 a starší Mono, tak ho prostě spustit neumí (asi to správně nahlasí prostředí) a prostředí se to tedy pokusí spustit ve Wine (tipuji).
Název: Re: C# Windows Forms?
Přispěvatel: vlabra 11 Února 2011, 20:23:24
Poslední vývojová větev Wine implementuje rozpoznání DOS EXE a pak se to pokusí pustit v DosBox.

.NET je hodně jiný, ale problém bude asi s nepodporovanými frameworky. Když použiješ .NET 4 a starší Mono, tak ho prostě spustit neumí (asi to správně nahlasí prostředí) a prostředí se to tedy pokusí spustit ve Wine (tipuji).
Nakonec jsem to vyřešil tak, že jsem si zbastlil takovou jednoduchou utilitku. Podle hlavičky v EXE souboru zjistí co to je zač, a podle toho spustí dosbox, wine nebo nono. Akorát to ještě nedetekuje verzi .NET runtime a typ CPU pro které to je přeložené, ale to se snad časem poddá :-)

http://sourceforge.net/projects/run-exe/files/