Autor Zpráva
Lenew
Profil
Zdravím,

chci se prosím na něco zeptat.

Přemýšlel jsem, že bych se začal učit programovací jazyk Swift, vzhledem k tomu, že mám dost věcí od Applu a celkově mám Apple rád.. a Swift jako takový se mi docela i líbí, co jsem zatím zkoušel. Na druhou stranu se mi líbí i C#, který jsem si taky měl možnost vyzkoušet trochu. Nemám žádné extra zkušenosti v programování, jenom trochu PHP.

Nevím, který ovšem zvolit. Moje cíle jsou: jednoduchost (alespoň pro začátečníka), fajn plat a dostatek nabídek práce + materiálů k učení a možnost pracovat ve stylu na živnostenský list, tzn. sám na sebe (ze začátku to nejspíše nepůjde, ale postupem času bych rád tuto možnost měl a nemusel být zaměstnaný pod někým).

Který podle Vás má budoucnost, alespoň prozatím v ČR? Opravdu se programováním pro iOS, potažmo teda Swift, neuživím? Díval jsem se po nabídkách práce, když opominu, že je všude většinou Java, tak i ten C# jsem již několikrát viděl, ale Swift moc ne. Na druhou stranu.. dá se tímto vyloženě řídit nebo je realita trochu jinačí? Nerad bych skončil o hladu jen proto, že jsem se rozhodl špatně:)

Mohl by mi prosím někdo poradit? Který má větší význam se učit? Swift nebo C#?

Děkuji
M02
Profil *
Nauč se oboje. Objektové principy platí obecně a API závisí na platformě, ne na jazku. Swift a Sharp se v iOS zatím docela doplňují, pravděpodobně bude budoucnost patřit Swiftu.

Programováním čehokoliv v čemkoliv se uživíš dobře, pokud nebudeš lempl.
Chamurappi
Profil
Reaguji na Lenewa:
Nerad bych skončil o hladu jen proto, že jsem se rozhodl špatně
Téměř jediná cesta, jak může programátor v současné době skončit o hladu, je, že si zabrán do práce zapomene sehnat jídlo.
Je pravděpodobné, že v brzké době Apple ani Microsoft nezkrachují, takže oba jazyky mají nějakou budoucnost.

Díval jsem se po nabídkách práce, když opominu, že je všude většinou Java, tak i ten C# jsem již několikrát viděl, ale Swift moc ne.
Pokud budeš pracovat sám na živnosťák, je asi větší pravděpodobnost, že přijdeš častěji do kontaktu s koncovým zákazníkem/zadavatelem, a tomu bude dost možná jedno, jakou cestou k výsledku dospěješ. Ale možná mám zkreslený pohled, mobilní aplikace jsem sám nikdy nedělal.

+ materiálů k učení
Swift je mladší, takže na C# je určitě víc materiálů k učení.
Ale jinak platí, že všechny objektové programovací jazyky jsou si do jisté míry podobné, takže přeučit se z jednoho na druhý je poměrně snadné.
mckay
Profil
Lenew:
Osobně bych šel do C#, protože umožní programovat prakticky pro všechny dostupné mobilní platformy dnes. Aplikace pak můžou vypadat dost podobně a být vyvíjeny pod jedním frameworkem, což určitě usnadní práci a výsledek pak nebude omezen na pouze jednu cílovou platformu.
Co se týče platu, C# programátoři berou dost. Co jsem se díval, v Praze oproti Java programátorům mají průměrně méně, ale vždycky se to odvíjí od schopností vývojáře a plat i tak je slušný.

Chamurappi:
Je pravděpodobné, že v brzké době Apple ani Microsoft nezkrachují, takže oba jazyky mají nějakou budoucnost.
A dokonce i pro Android se dá (a programuje se) v C#, takže by se případně musel se zlou potázat i Google.
Joker
Profil
Lenew:
Podstatné je se naučit programovat, změnit později jazyk není zase tak těžké*. Není ani problém se naučit více jazyků (naopak poměrně běžně programátoři ovládají více jazyků).

Co se týká budoucnosti, podle mě ani u jednoho nehrozí, že by brzy skončil.
Jednoduchost neumím posoudit, protože Swift neumím.
Pokud jde o množství studijních materiálů a pracovních nabídek, patrně na tom bude lépe C#.
Na druhou stranu rozšířenost není vše, méně populární jazyk může znamenat i menší konkurenci ostatních programátorů.
Je to taková analogie celého pracovního trhu, úplně ideální povolání je takové, které Vás baví a umíte to, zároveň ho neumí ostatní (popř. je nebaví) a je po něm vysoká poptávka.

Nerad bych skončil o hladu jen proto, že jsem se rozhodl špatně:)
To u programátorů myslím nehrozí :-)
Navíc, jak bylo už řečeno, to není rozhodnutí na celý život. Když se později ukáže, že pro nějaký jazyk už není uplatnění, není celkem problém přejít na jiný jazyk.

Chamurappi:
tomu bude dost možná jedno, jakou cestou k výsledku dospěješ
To je taky leckdy pravda.

* Samozřejmě to není snadné úplně vždycky, hlavně když nový jazyk má jiné paradigma. Například naučit se LISP mi připadá relativně složité i se znalostí např. Javy nebo C.
Lenew
Profil
Moc děkuji všem za odpovědi, hodně mi to pomohlo :) Z toho všeho nakonec vychází asi C# nejlíp. Je pravda, že mě osobně přijde i kód čitelnější než tomu je u Swiftu, ale to může být jen počáteční dojem.. nevím jak to potom bude v pokročilejším programování. Nechci se učit dva jazyky naráz a taky vím, že to není životní volba, ale nechci hned ze začátku něco pokazit a učit se špatnej jazyk.

To, co tu zmínil Joker mě docela zaujalo taky.

"Na druhou stranu rozšířenost není vše, méně populární jazyk může znamenat i menší konkurenci ostatních programátorů." + "úplně ideální povolání je takové, které Vás baví a umíte to, zároveň ho neumí ostatní (popř. je nebaví) a je po něm vysoká poptávka."

Tohle je ostatně důvod, proč stále Swift zvažuji. Sice to není přímo asi ten pravej jazyk v tomhle smyslu, ale přeci jen těch lidí, co se to učí bude míň. Kdežto C# se, když to řeknu laicky, učí každej druhej a de facto je tam pak velká "konkurence", nicméně zase větší možnost tu práci získat. Na Swift jsem popravdě moc nabídek neviděl, nevím, jestli to mám chápat jako příležitost - "umět jazyk, který neumí moc lidí, alespoň u nás" a sázet vyloženě na toto a nebo se vrhnout na C#. Potíž se Swiftem vidím ještě kvůli Objective-C, resp. se v nabídkách stále objevuje a asi by to vyžadovalo se naučit i tenhle jazyk.

Chápu, že ani jeden z nich není vyloženě špatná volba. Nicméně bych přeci jen ještě aspoň na tohle znal názor a pak se už vrhnu do učení.

Děkuji moc :)
pcmanik
Profil
Lenew:
Okolo swiftu je naozaj veľká komunita, aj keď je to relatívne mladý jazyk. Na stack overflow bežne nájdeš odpovede už len pre swift pretože prakticky všetky nové projekty sa stavajú na ňom. Ak chceš robiť natívne aplikácie pre iOS prípadne OS X tak nemáš na výber a musíš použiť Swift / Objective-C, prípadne útržky C a prostredie Xcode, ktoré ťa nie jeden krát naštve :) Prípadne použiť Xamarin kde môžeš písať kód v C#, ale pri nových API proste budeš musieť počkať než ich microsoft implementuje.

Objective-c sa hodí už len na udržiavanie starých projektov a prepojiť Swift s Objective-C tiež nieje problém. Preto povedzme bude starý projekt celý v Objective-C ale novú triedu už budeš písať vo Swifte.

S C# nemám skúsenosti, ale Swift ako taký je už len zo svojej podstaty bezpečný jazyk a čitateľnosť je naozaj dobrá, len si treba prečítať dokumentáciu k nemu.

Taktiež dosť návyková vec na rýchle prototypovanie nejakej funkcie sú Playgroundy. Neviem či to podporuje aj Visual studio. Napríklad toto demo. Bohužial je už staršie a nepôjde rovno pustiť. Stačí kliknuť na červený "puntík" a dať fix-it a same to opraví chybu.

Na peknej ukážke Swift vs C# mi osobne príde swift čitateľnejší. Ale tak to je vec vkusu.

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: