Před C# začít s C ?

Před C# začít s C ?
« kdy: 23. 10. 2015, 11:48:10 »
Ahoj, jsem začátečník-stařec, který má malou a dávnou zkušenost s Pascalem. Rád bych si jako hobby zkusil napsat nějakou jednoduchou aplikaci na PC, která "hezky vypadá". Jako vhodný jazyk mi byl doporučen C#, ale chci se zeptat, zda není vhodné předtím začít s C ? Díky


Re:Před C# začít s C ?
« Odpověď #1 kdy: 23. 10. 2015, 12:01:16 »
chci se zeptat, zda není vhodné předtím začít s C ?

Ne.
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

uetoyo

Re:Před C# začít s C ?
« Odpověď #2 kdy: 23. 10. 2015, 12:11:41 »
Odpověď přede mnou je naprosto vpořádku .); Pro vysvětlení: C# je více podobný Pascalu/Delphi než C++ natož C, takže ho bez obav překroč.

Re:Před C# začít s C ?
« Odpověď #3 kdy: 23. 10. 2015, 12:13:22 »
C případně až potom.

perceptron

Re:Před C# začít s C ?
« Odpověď #4 kdy: 23. 10. 2015, 12:59:02 »
neni


zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Před C# začít s C ?
« Odpověď #5 kdy: 23. 10. 2015, 14:05:02 »
Ahoj, jsem začátečník-stařec, který má malou a dávnou zkušenost s Pascalem. Rád bych si jako hobby zkusil napsat nějakou jednoduchou aplikaci na PC, která "hezky vypadá". Jako vhodný jazyk mi byl doporučen C#, ale chci se zeptat, zda není vhodné předtím začít s C ? Díky

C# je zde opravdu nejvhodnější a C je navzdory názvu jazyk podstatně jiný. Myslím, že učit se ho by v tomto případě nadělalo víc škody než užitku (nehledě na zbytečně vynaložený čas).

hmmm

Re:Před C# začít s C ?
« Odpověď #6 kdy: 23. 10. 2015, 19:00:05 »
No z pascalovsko-zaceticnickeho pohledu si jsou C# a C preci jenom trochu podobne.
Slozene zavorky, promenne, for/while/if a dalsi se pisou vicemene stejne.
Ale samozrejme neni potreba se kvuli C# ucit C, v podstate uplne zaklady C se nauci tak jako mimochodem.

čumil

Re:Před C# začít s C ?
« Odpověď #7 kdy: 23. 10. 2015, 19:39:34 »
Když jsem viděl titulek s čím začít dřív, jestli s C# a nebo s Cčkem, tak sem chtěl napsat, že začít bys rozhodně měl se sexem ... a až pak C#. Ale když si napsal začátečník-stařec postrádalo by to kontext...

Začni s C++. Dá ti to velmi dobrou představu o železe na kterém vše běží, vyzkoušíš si prostředí bez GC a raw pole. To ti dá hodně. Na druhou stranu znáš pascal, takže tydle věci asi už dávno znáš. Pokud to tak je, tak jdi na C# a na C ser. Ačkoli, u C# bych pochyboval o moudrosti investice, je to M$hit technologie, která "prorazila" jen ve wokním světe (což nění tak úplně pravda, ale dovoluju si trošku přehánět). Velká opice v redmondu může C# zabít během chvilky, stačí chtít. Já osobně bych šel do Javy (osobně ji neumím a ani to neplánuji v příštím století změnit, ale lepší jak C# z mého pohledu).

Krabice

Re:Před C# začít s C ?
« Odpověď #8 kdy: 23. 10. 2015, 19:44:57 »
Jak aplikace vypadá spíš záleží na GUI knihovnách, než na jazyku. Jestli trváte na C#, tak asi s WPF (místo WinForms), místo C spíš C++ s Qt. Jestli C#, ani C není podmínkou, tak snad Python s Qt.

trrrrr

Re:Před C# začít s C ?
« Odpověď #9 kdy: 23. 10. 2015, 20:07:40 »
Začni s C++. Dá ti to velmi dobrou představu o železe na kterém vše běží, vyzkoušíš si prostředí bez GC a raw pole. To ti dá hodně. Na druhou stranu znáš pascal, takže tydle věci asi už dávno znáš. Pokud to tak je, tak jdi na C# a na C ser. Ačkoli, u C# bych pochyboval o moudrosti investice, je to M$hit technologie, která "prorazila" jen ve wokním světe (což nění tak úplně pravda, ale dovoluju si trošku přehánět). Velká opice v redmondu může C# zabít během chvilky, stačí chtít. Já osobně bych šel do Javy (osobně ji neumím a ani to neplánuji v příštím století změnit, ale lepší jak C# z mého pohledu).

Trochu tě poopravím. Specifikace jazyka C# je samozřejmě veřejná ale je to jazyk vyvinuty Microsoftem stejně jako .NET. Zhruba pře rokem Microsoft oznámil rozšíření .NET na Linux a OSX/iOS od Apple. Zároveň došlo open sourcouvání .NET core v rámci .NET foundation a otevřeli k aspoň k prohlížení naprosto celý .net framework. Ten je na této adrese
http://referencesource.microsoft.com/
Součástí .NET foundation není jen otevřený kód pro .NET, ale i pro nextgen platformu kompilátorů Roslyn, Entity Framework, WCF (komunikační platforma postavená na XML).

A tady pro tazatele:
Co se týká vývojového prostředí tak si pro začátek můžeš stáhnout Express edici, ale lepší je Visual Studio Community 2013/2015. Je to Visual Studio na úrovni proffesional, se všemi fičurami, ale je pro malé týmy a domácí kodování zdarma, legálně od microsoftu.
Visual studio 2015 má ještě jednu pěknou fičurku, můžeš program napsaný v C# zkompilovat přímo do binárního kódu stejně jako program v C, nebo C++. Samozřejmě je možné ho zkompilovat i do IL, jako dříve. Když je program v IL tak se při prvním zavolání metody tato metoda zkompiluje z IL do binárního kódu a potom už to běží stejně jako program v C++.
Jestli to budeš chtít dělat pod Linuxem tak je možnost použít MonoDevelop, a SharpDevelop, a nebo před nedávnem vydaným Visual Studiem pro Linux.

Můj názor: Bež do .NET, Java vypadá na odpis, aspoň podle toho jak ji její majitel ORACLE dává do čím dál většího pozadí. A co se týká rychlostí kódu napsaných v Javě a .NET....jde vidět, že .NET je dále.
Pokud budeš chtít dělat GUI aplikaci, tak je pro začátek nejlepší Windows forms, ale z dlouhodobého hlediska je určitě lepší věnovat čas WPF. Windows forms jsou jen v udržovací fázi a nemyslím, že na tom Microsoft chtěl něco měnit.

Přeju hodně štěstí

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Před C# začít s C ?
« Odpověď #10 kdy: 23. 10. 2015, 20:30:17 »
Když je program v IL tak se při prvním zavolání metody tato metoda zkompiluje z IL do binárního kódu a potom už to běží stejně jako program v C++.

To není tak úplně pravda, kód je sice nativní, ale pořád se používá GC se všemi jeho výhodami a nevýhodami (alokuje deterministicky, ale když je málo volné paměti, značně klesá výkon).

JSH

Re:Před C# začít s C ?
« Odpověď #11 kdy: 23. 10. 2015, 20:35:34 »
Začni s C++...
Tady bych nesouhlasil. Sice je to od c++14 příjemný jazyk, ale má nehezkou minulost. Pro začátečníka to znamená hlavně že většina dostupných učebních materiálů se hodí spíš na podpal. Jakkoliv mám c++ rád, začátečníkům, co chtějí programovat jen tak mimochodem, bych ho nedoporučoval.

Kit

Re:Před C# začít s C ?
« Odpověď #12 kdy: 23. 10. 2015, 20:45:01 »
No z pascalovsko-zaceticnickeho pohledu si jsou C# a C preci jenom trochu podobne.
Slozene zavorky, promenne, for/while/if a dalsi se pisou vicemene stejne.
Ale samozrejme neni potreba se kvuli C# ucit C, v podstate uplne zaklady C se nauci tak jako mimochodem.

Podobnost C# a C se dá najít pouze v syntaxi. Pascalu je syntakticky podobný například Visual Basic. Ovšem syntaxe je je jen detail, který při zápisu programu v dobrém editoru nehraje roli - ve všech jazycích místo složených závorek používám :<Enter> stejně jako v Pythonu, for/while/switch také všude stejně - však on si to editor přebere a opraví podle jazyka, ve kterém má psát program. Proč bych si měl pamatovat, ve kterém jazyce se píše use, using nebo import nebo jestli se ve switch píše else, otherwise nebo default?

Zbývá však sémantika. V C nehrozí, abych napsal return string; který se v Pascalu či v C# dá napsat zcela normálně. Jakákoli složitější struktura se v C musí předávat jako pointer v parametrech, což zcela demoluje představu o funkcích. Předávání funkce (objektu) jako parametru procedury v C také nejde dělat tak přirozeně jako v Pascalu nebo C#.

x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Před C# začít s C ?
« Odpověď #13 kdy: 23. 10. 2015, 20:52:09 »
Chystám se do ciziny. Doporučili mi španělštinu. Neměl bych předtím začít s italštinou?

Re:Před C# začít s C ?
« Odpověď #14 kdy: 23. 10. 2015, 21:09:29 »
Když jsem viděl titulek s čím začít dřív, jestli s C# a nebo s Cčkem, tak sem chtěl napsat, že začít bys rozhodně měl se sexem ... a až pak C#. Ale když si napsal začátečník-stařec postrádalo by to kontext...

Začni s C++. Dá ti to velmi dobrou představu o železe na kterém vše běží, vyzkoušíš si prostředí bez GC a raw pole. To ti dá hodně. Na druhou stranu znáš pascal, takže tydle věci asi už dávno znáš. Pokud to tak je, tak jdi na C# a na C ser. Ačkoli, u C# bych pochyboval o moudrosti investice, je to M$hit technologie, která "prorazila" jen ve wokním světe (což nění tak úplně pravda, ale dovoluju si trošku přehánět). Velká opice v redmondu může C# zabít během chvilky, stačí chtít. Já osobně bych šel do Javy (osobně ji neumím a ani to neplánuji v příštím století změnit, ale lepší jak C# z mého pohledu).

Kolikrat je potreba rikat, ze C/C++ neni dobry jazyk do zacatku?