[C#] syntax error (???)

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

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

Odeslat příspěvekod Alesh2020 18. 10. 2021 11:53

OK...

A] a kdo vlastně řídí tohle "rozkládání a skládání]?
B] takže jedinej "výkladedovej slovník" kterej existuje, je tohleto "https://en.wikibooks.org/wiki/C_Sharp_Programming/Keywords" (či obdobné věci) pro každou třídu/metodu to není, protože by ti byla hromada papíru, na který by se dalo sedět...
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 18. 10. 2021 11:55

Projektoví manažeři, architekti, seniorní programátoři...
Možná nejen sedět, ale zabralo by to menší skladiště.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod soban 18. 10. 2021 12:23

Nějak nechápu co pořád řešíš.

Určitě k tomu programovacímu jazyku je nějaká oficiální dokumentace, tak ji prozkoumej.

Jinak já jsem si kdysi koupil překladač Borland C++ pro MS-DOS a k tomu jsem dostal metr knih kde bylo vše popsáno - dnes je to většinou v elektronické podobě na internetu.
/----------------------------------------\
| Petr Šobáň |
| Olomouc |
\----------------------------------------/
soban
Pokročilý

Odeslat příspěvekod Alesh2020 18. 10. 2021 15:40

A kde mám vyhrabat tu oficiální dokumentaci k C#?

Možná nejen sedět, ale zabralo by to menší skladiště.
Jo, tak to je super. :hm Jak říkám, vadí mi situace, kdy mám něco dělat, a nevím, s čím vším mohu počítat, jaké všechny "vyjadřovací" prostředky mám k dispozici.
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 18. 10. 2021 16:08

Na tu dokumentaci jsem tu dával odkaz. Sice teda přímo na metodu int.Parse(), ale můžeš se lehce proklikat na zbytek.
A vědět všechno opravdu nechceš. Zvlášť v začátcích bys měl řešit jenom to, co opravdu potřebuješ.

Nebo můžeš dát příklad něčeho, k čemu bys potřeboval "vyjadřovací prostředky"?
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 18. 10. 2021 16:23

No, rád bych udělal nějakou funkční aplikaci. Tím, že jen opíšu a zprovozním to, co je v knize, se k ničemu nedostanu.

Abych věděl, jak mohu něco udělat, musím vědět, z čeho můžu stavět. Pokud bych např. chtěl udělat šachy, musím se nějak dozvědět, jaké třídy se mi k tomu hodí. Třída pro grafiku, třída pro to, jak určit jaké atributy a "pravomoci" má jaká figurka. Prostě abych věděl, jak (a hlavně z čeho) udělat šachovnici a jednotlivé herní figurky a pravidla (jak udělat ovládání, jak udělat to, že figurka vyslechne příkaz, jak udělat to, že se figurka někam posune, a když hráč zadá příkaz, co je neplatný, např aby kůň jezdil jako střelec) tak ho hra upozornila, že to takle nejde. Opravdu, tím že mi program vypočte faktorial nějakého čísla se K NIČEMU nedostanu, protože NIDKO dneska už nebude chtít jednu dosovskou appku co umí jen počítat faktoriály, jinak nic. :hm

Pokud bys chtěl postavit ze dřeva altánek na zahradě, taky musíš vědět jaký tvar, délku apod mají prkna, jaký máš spojovací materiál, jaký nářadí, a tak dále. Nemůžeš cokoliv postavit, pokud je to na nějakém pro tebe neviditelném místě.

Prostě je to jako na SŠ: plno pitominek, co jsou v praxi k ničemu. Nikdy sem nepočítal goniometrické funkce, nikdy sem nepájel ne-SMD součástku trafopájkou (dneska je skoro všechno SMD, a pájí se to horkovzduchem) v praxi. Prostě NETUŠÍM, co si z tohohle druhu vzdělávání odnést. Ať už je to kniha o C#, nebo skoro celé SŠ. To není fňukání nad tím, jak je svět zlej. Jen prostě netuším, v čem mě mají tyto kurzy obohatit.
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 18. 10. 2021 16:47

Teda tušil jsem to od samého začátku, ale tenhle příspěvek mi to jenom potvrdil. Tobě chybí úplné základy programování (algoritmy, datové struktury, objektové programování...). Jinak bys nezavrhoval úlohy typu počítání faktoriálu, protože na takových úlohách se velmi dobře učí základy algoritmizace. A zrovna k těm šachům budeš algoritmizaci potřebovat opravdu hodně.
A až budeš mít nějaký ten šachový "engine", tak teprve začni řešit nějaké grafické rozhraní.

Prostě děláš poměrně častou začátečnickou chybu, kterou už jsem tu také naznačoval. Umět programovat a znát programovací jazyk, jsou dvě poměrně dost odlišné věci.

Doporučil bych ti, aby ses vrátil k těm úlohám, které ti přijdou zbytečné a k ničemu. A teprve až je budeš umět sám vyřešit, tak jít dál.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 18. 10. 2021 17:05

Mě rozhodně nejde o to někoho urážet, ale řekl bych, že tohle je podobný problém, jak u učitelů matematiky. Nablijou na žáky pár ukázek, které asi nikdo nepochopí, protože žáci netuší, co si z těch ukázek má člověk odnést, a pak žáci nadávaj na matiku, a učitelé, jak jsou ti žáci blbí.

Přitom jde podle mě o šum v komunikaci... :hm

Známá se učí Xamarin, a ta mi zase řekla, že než pročítat knihu je smysluplnější psát hned použitelnej kód, a pak případně odhalovat chyby. :hm

Doporučil bych ti, aby ses vrátil k těm úlohám, které ti přijdou zbytečné a k ničemu. A teprve až je budeš umět sám vyřešit, tak jít dál.


Můžu je jenom opsat z knihy, nic víc. Nemůžu je sám řešit, když nevím, jaké všechny prostředky k vyřešení úlohy mám. Taky budu nadávat, jak se blbě vrtá do zdi, kdyby mi nikdo nikdy neřekl, že existujou elektrický vrtačky...
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 18. 10. 2021 17:12

Tak nijak nepochybuju o tom, že spousta učitelů matematiky by měla radši dělat něco jiného. Ale to nic nemění na tom, že když chceš počítat dráhy planet, měl by ses nejdřív naučit sčítání, násobení atd.

Nemůžu je sám řešit, když nevím, jaké všechny prostředky k vyřešení úlohy mám.

Na těhlech základních úlohách je krásné i to, že k vyřešení potřebuješ jenom minimum prostředků. V podstatě ti stačí znát jenom samotný jazyk (= cca klíčová slova, na které jsi tu dával odkaz). A jenom minimum dalších věcí.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 18. 10. 2021 17:56

// v pohodě, dal jsem v Chrome back, a příspěvek obnovil z minulé stránky //

A jenom minimum dalších věcí.


Obávám se, že ne. Třeba o tý nešťastný Parse() bych netušil že existuje, pokud bych ji z té knihy neopsal.

To je to, z čeho mám obavu. Že budu mít hromádku střepů, co mi budou k ničemu. A nikoho (bylo mi řečeno jiným chlápkem, že na příjímacích pohovorech se prezentujou hotový práce často) neosliním DOS aplikací, co mi vypočítá jednou jeden faktoriál čísla, a pak se sama ukončí.

Ale to nic nemění na tom, že když chceš počítat dráhy planet, měl by ses nejdřív naučit sčítání, násobení atd.


Nechci, aby to vypadalo, jako že tě chytám za slovíčko (respektuju tě, a oceňuji tvou snahu mi pomoct), ale nevěřím tomu, že někdo bude v dnešní době počítat do sešítku ručně, vše nahradily aplikace. Rychlejší výsledek, a menší pravděpodobnost chyby vlivem lidského faktoru. A je jedno, zda jde o dráhy měsíce Europa, anebo o výpočet mzdy pro zaměstnance. Spíš věřím, že školství je dobrá zašívárna pro ty, který by jinde neměli šanci. Na děcka se to hodí vždycky velice snadno. :twisted:
Naposledy upravil Alesh2020 dne 18. 10. 2021 18:14, celkově upraveno 2
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 18. 10. 2021 18:09

Třeba o tý nešťastný Parse() bych netušil že existuje

A vůbec by to nevadilo. Klidně by sis mohl napsat její (byť třeba zjednodušenou) alternativu. A hned by sis něco procvičil a tím se tak posunul dál. A nebo bys prostě napsal do googlu "C# how to covert string to number" a hned by na tebe vypadl odkaz na dokumentaci.

nikoho neosliním DOS aplikací, co mi vypočítá jednou jeden faktoriál čísla

Však to taky nikdo netvrdí. Ale naučí tě to základům.

ale nevěřím tomu, že někdo bude v dnešní době počítat do sešítku ručně

Opět víceméně stejná odpověď. Nejde o to, abys to dělal ručně. Ale věděl, co to znamená, jaká to má pravidla atd.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 18. 10. 2021 18:53

A]
A vůbec by to nevadilo. Klidně by sis mohl napsat její (byť třeba zjednodušenou) alternativu.


Daj se tyhlety metody (jsou to metody, doufam, abych dodržel správnou terminologii) nějak "rozkuchat"? Když sem dělal modifikace anebo překlady pro hry, hodně věcí sem zjistil reverzním inženýrstvím a kucháním už hotovejch věcí.

B] Šéf ve firmě se asi podě*á, pokud uvidí, jak si rabotnik každou druhou věc googlí... pokud vůbec budeš mít neblokovanej přístup na web.
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Just_jo 18. 10. 2021 19:10

Vsadil bych se, že většina programátorů bude minimálně prohledávat dokumentaci.
Ne každý si pamatuje veškeré třídy - ale to celkem kompenzuje našeptávač, který pak zobrazuje co je k dispozici.

Z mého pohledu je start učení nového jazyka lepší začít nějakým vlastním projektem, než to opisovat - např. třeba jednoduchý telefonní seznam. Potom se může doplňovat o funkce.
Pokud mi chybí nějaká aplikace, alternativy se mi nelíbí nebo je to pouze placené, tak si aplikaci začnu vyvíjet sám - ostatně jinak by mě to nebavilo.

Ale pokud člověk začíná s programováním a neví ani základy, tak je nejlepší se podívat na jednoduché příklady, jaké jsou třeba v té knize. Můžeš to brát jako zbytečnost, ale máš názorné ukázky jak fungují podmínky, operátory, jaké existují typy proměnných a jak se definují, případně používají.

A jak tu už někdo na začátku zmínil - neexistuje jediné správné řešení. Vždy to lze zapsat několika skvělými, vícero bezpečnějšími nebo hromadou, sice funkčními, ale hroznými způsoby.

Také záleží na potřebách pro projekt - např. správným zvolením typu proměnné pro seznam záznamů. Ono není List jako List
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Alesh2020 18. 10. 2021 19:38

Já to všecko beru, ale jak říkám, blbě se staví altánek na zahradě, když ani nevíš, jakej materiál máš k dispozici, a ani nevíš, jaké nářadí máš k dispozici a jak se to nářadí správně používá, resp. jak a k čemu se ti hodí.

A našeptávač je mi k ničemu, když napíšu "Par" a on mi našeptne "Parse" a k tomu kopu dalších věcí, co začínaj na "Par" ale ani u jedné člověk neví k čemu je vlastně dobrá.
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 18. 10. 2021 19:57

Ano, jsou to metody. A .net je v současné době už opensource, takže si to klidně můžeš prohlédnout, aniž by to bylo potřeba nějak pitvat. Což je teda ale také možné.
https://github.com/dotnet/runtime/blob/ ... 32.cs#L113

A k tomu googlení. Šéf, který své práci rozumí, naopak bude preferovat lidi, kteří se nejdříve podívají, jestli už neexistuje nějaké hotové řešení. Nemá cenu neustále vynalézat kolo. A i kdyby to nakonec použil jenom jako inspiraci, tak to bude rychlejší, než to napsat celé znovu od začátku. A co je rychlejší, je i levnější. A to manažeři moc rádi.
Wikan
Moderátor
Uživatelský avatar

Předchozí stránkaDalší stránka