Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: C# nebo Python?

Aktivity
Avatar
Daryl
Neregistrovaný
Avatar
Daryl:22.1.2014 19:00

Ahoj. Chci se zeptat na Váš názor - s čím mám začít?

S Pythonem jsem ještě nikdy nepracoval. Se C# jsem došel jen k objektovému programování, ale tam jsem celkem tvrdě narazil. A o Pythonu se říká, že je to jazyk vhodný pro začátečníky, tak mě napadlo, že bych se tím mohl zlepšit.

Ještě dodám, že hodlám C# v budoucnosti používat, teď jde jen o to, zda s tím "začít" už teď nebo až po Pythonu.

Díky moc :)

 
Odpovědět
22.1.2014 19:00
Avatar
Benjibs
Člen
Avatar
Odpovídá na
Benjibs:22.1.2014 19:06

Ja by som začal skôr s Pythonom, kedže je ľahší, kratší, jasnejší, tak asi odradí aj menej ľudí. A prejsť potom na C# by nemal byť žiadny problém

Nahoru Odpovědět
22.1.2014 19:06
1 + 1 = 2
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Benjibs
Jan Vargovský:22.1.2014 19:07

Píše, že už zkušenosti má až po oop.

Za mě je to určitě zkušenost s dalším prog. jazykem. Nic tím neztratíš :)

 
Nahoru Odpovědět
22.1.2014 19:07
Avatar
Odpovídá na
Michal Žůrek - misaz:22.1.2014 19:07

Když už jsi u jazyku jednoduchého pro začátečníky, nauč se Visual Basic. Zde na devbooku je pro něj celá sekce http://www.itnetwork.cz/…movani/vbnet umí totéž co C# a přechod je velmi snadný, celý je popsán v článku http://www.itnetwork.cz/…et-vs-csharp .

Python je taky jednoduchý a vhodný pro začátečníky, ale přechod pak bude mírně tvrdší.

Samozřejmě se můžeš všude usídlit, C#, Python i mnou doporučený VB.NET jsou dobré jazyky a dá se v nich udělat dost věcí.

Pokud se nechceš uchylovat k VB.NET tak bych osobně prošel nějakým vyukovým jazykem (třeba Karel Robot, Kodu game lab, small basic, ...) a pak přejít rovnou na C#.

Pokud vyloženě nechceš python, tak C# ti přinese několik výhod. Skvělé IDE Visual Studio, LINQ, WPF a XAML, ... Tyto výhody má i Visual Basic, kdyby ses u něho chtěl usídlit.

 
Nahoru Odpovědět
22.1.2014 19:07
Avatar
Daryl
Neregistrovaný
Avatar
Odpovídá na Michal Žůrek - misaz
Daryl:22.1.2014 19:09

Proč bude mírně tvrdší? To jsou mezi nimi takové rozdíly?

 
Nahoru Odpovědět
22.1.2014 19:09
Avatar
Benjibs
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Benjibs:22.1.2014 19:10

Na druhej strane ten tvrdší prechod sa mu zrejme vyplatí,
kedže nejaký skriptovací jazyk by sa po naučení C# imho hodil viac.

Nahoru Odpovědět
22.1.2014 19:10
1 + 1 = 2
Avatar
Odpovídá na
Michal Žůrek - misaz:22.1.2014 19:33

ano C# je objektově založený, což znamená, že i hello world musí být zapakovaný do objektů. Liší se skoro ve všem tedy od syntaxe po nazvy knihoven tříd.

Ten tvrdší přechod má své nevýhody ale i výhody, které zmiňuje Benjibs.

 
Nahoru Odpovědět
22.1.2014 19:33
Avatar
Daryl
Neregistrovaný
Avatar
Odpovídá na Michal Žůrek - misaz
Daryl:22.1.2014 19:41

Python je ale také objektově založený, ne?

A jestli ještě můžu, díky čemu je vhodnější jako první programovací jazyk?

 
Nahoru Odpovědět
22.1.2014 19:41
Avatar
Benjibs
Člen
Avatar
Odpovídá na
Benjibs:22.1.2014 19:48

Áno, je objektovo založený,
ale umožňuje ti aj používať inú paradigmu, procedurálnu, do istej miery aj funkcionálnu..

čiže v nom po objektovo nemusíš, ale môžeš (teda by si mal).

A vhodnejší je preto, lebo je, ako som už povedal, jednoduchší, treba napísat menej riadkov na dosiahnutie rovnakej veci ako v C# atď

Nahoru Odpovědět
22.1.2014 19:48
1 + 1 = 2
Avatar
Odpovídá na
Michal Žůrek - misaz:22.1.2014 19:54

a Benjibs není objektově založený, je objektově orientovaný. Je v tom rozdíl. Oběktově založený jazyk je prostě komplet objektový a nic s tím neuděláš, zatímco orientovaný OOP umožňuje ale samo jej nepoužívá a lze v něm dost často programovat i dost strukturovaně (ale to jde částečně i v C#).

 
Nahoru Odpovědět
22.1.2014 19:54
Avatar
Benjibs
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Benjibs:22.1.2014 19:56

to je už ťahanie za slovíčka :P

Nahoru Odpovědět
22.1.2014 19:56
1 + 1 = 2
Avatar
Odpovídá na
Neaktivní uživatel:22.1.2014 20:28

Vyber si podle tohodle:

Python: zastaralý jazyk bez budoucnosti, jednoduchý a vhodný pro začátečníky, použití: desktopové aplikace
Visual basic: moderní jazyk prakticky stejný jako C# s kterým se rozchází jen v syntaxi, použití: desktop a web
Javascript: (moje volba): Velmi jednoduchý jazyk částečně OOP, podle mně nejvhodnější jazyk pro začátečníky, použití: web a v Titanium studiu i desktop
pro Windows, Linux, MacOS a co jsem pochytil i pro mobily

Nahoru Odpovědět
22.1.2014 20:28
Neaktivní uživatelský účet
Avatar
MrPabloz
Člen
Avatar
MrPabloz:22.1.2014 20:36

Python jako takový se používá v menších aplikacích, a jsou tam přísné pravidla, které musíš dodržovat, jinak ti to nebude fungovat zprávně, např. v C# napíšeš

if(podmínka)
{
    přikazy;//to co je uvozeno v závorkách platí pro daný if
}

ale v pythonu to musí být takhle :

if podminka:
    prikaz1;
    prikaz2;

rozdíl je v odsazení, v C# nemusíš mít odsazení, stačí jak bude v závorkách, v pythonu je to nutnost, jinak ti if nic neprovede a příkazy zatím se provedou tak nebo tak. Tedy jednoduše python má přísnou syntax, kterou nesmíš porušit jinak ti to nebude fungovat. V některých věcech je zas lehčí, např. definice třídních proměných stačí v konstruktoru pomocí self.promena, atd. z pythonu můžeš přejít na django (tvorba webových stránek, zdá se mi že je v tom i napsán youtube), který je na pythonu založený, jako pokud chceš i něco jiného doporučuju python zkusit a naučit se, není těžký a něco ti i dá, ale víc se využije C#.
PS: v pythonu se dají dělat různé servrové aplikace, aplikace na vykreslování, dá se python propojit s C++ a tak. :)

Editováno 22.1.2014 20:38
Nahoru Odpovědět
22.1.2014 20:36
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Kit
Tvůrce
Avatar
Odpovídá na MrPabloz
Kit:22.1.2014 20:44

Přísný zápis v Pythonu jako součást syntaxe naopak považuji za velkou výhodu. Jen je potřeba dát pozor na to, že tabulátor není totéž co 8 mezer. Obecně se doporučuje tabulátory nepoužívat, odsazovat přesně 4 mezery a nikdy jinak. IDE a Vim to mívají přednastaveno.

Nahoru Odpovědět
22.1.2014 20:44
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:22.1.2014 20:46

python: není zastaralý jazyk a není ani bez budoucnosti.
visual basic: ano, s tím docela souhlasím k použití bych dodal Windows Phone aplikace.
javascript (tvoje, ale přesto špatná volba): píší se v něm zásadně jen webové aplikace jak na straně klienta tak serveru, ale rozhodně ne desktop, Windows Store WinJS aplikace, tam slouží k drobnostem a převodu aplikace z webu.

Projekt jako je Titanium je skoro u všeho, ale nějak ty projekty nezažívají úspěch, proč asi?

 
Nahoru Odpovědět
22.1.2014 20:46
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:22.1.2014 20:47

já si zas tabulátory nemůžu vynachválit, ale to je možná jen můj pocit.

 
Nahoru Odpovědět
22.1.2014 20:47
Avatar
MrPabloz
Člen
Avatar
Odpovídá na Kit
MrPabloz:22.1.2014 20:47

Ale jo, tak nějak sem to myslel, sice mu to ze začátku může dělat problémy, ale je to jako výhoda, nesnáším když opravuju po někom kod, nebo někomu pomáhám a je to napsané bez všech těch odsazení a tak, takže aspon by se to naučil dodržovat a je to jako výhoda.

  • Jsem si vzpoměl na další výhodu/nevýhodu pythonu, nemusí používat středníky, ale to by sem u mohlo vymstit později u dalších jazyků no..
Nahoru Odpovědět
22.1.2014 20:47
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na MrPabloz
Michal Žůrek - misaz:22.1.2014 20:49

u C# se mu to vymstí, ale většina si zvykne, i já jsem si zvykl.

 
Nahoru Odpovědět
22.1.2014 20:49
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:22.1.2014 20:51

Používám jenom tabulátory, ale pssst, někteří vývojáři to neradi slyší :)

Nahoru Odpovědět
22.1.2014 20:51
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na MrPabloz
Jan Vargovský:22.1.2014 20:51

Za to, že neumíš pracovat s IDE neflamuj jazyk, ale tvojí neznalost ;) každé normalní IDE má možnost zformátovat kód.

 
Nahoru Odpovědět
22.1.2014 20:51
Avatar
Kit
Tvůrce
Avatar
Odpovídá na MrPabloz
Kit:22.1.2014 20:54

Takový kód si nejprve zformátuji a teprve pak ho začnu zkoumat. Dřív to nemá smysl.

Nahoru Odpovědět
22.1.2014 20:54
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
MrPabloz
Člen
Avatar
Odpovídá na Jan Vargovský
MrPabloz:22.1.2014 20:55

To že když mi pošle někdo neformatovaný kod neznamená, že neumím pracovat s IDE :) jen sem řek, že ne každý to formatuje, jak se má a já nerad pak po někom takový kod opravuji, kdo sám neumí formátovat kod :)

Editováno 22.1.2014 20:56
Nahoru Odpovědět
22.1.2014 20:55
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na MrPabloz
Jan Vargovský:22.1.2014 21:02

Často opravuju kód od nějakého BFU. Prostě si to zformátuju dle svého formátování a pak už se v tom dá aspoň vyznat.

Btw, já reagoval spíše na to, že opravuješ kód a nic s ním neděláš, první si ho snad zformátuju a pak s ním pracuji.

 
Nahoru Odpovědět
22.1.2014 21:02
Avatar
MrPabloz
Člen
Avatar
Odpovídá na Jan Vargovský
MrPabloz:22.1.2014 21:06

Tak to si mě potom špatně pochopil :) já si to taky samozřejmě formatuji, bez toho by to ani nešlo.

Nahoru Odpovědět
22.1.2014 21:06
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na Michal Žůrek - misaz
Neaktivní uživatel:22.1.2014 21:06

Pravda Python není úplně starý (1991) trochu jsem se spletl s Pascalem, každopádně, když se podíváš na programátorské pozice (ne těch týpků, co chtěj na zakázku) velkých firem, najdeš převážně Java nebo C# (Python jsem žádný nenašel). Potom ten Javascript, neříkej, že je to špatná volba to je blbost. je to jazyk minimálně na pár dalších let (narozdíl od Pythonu), kdy se pravděpodobně velmi rozroste. Možná, že s tím Titániem máš pravdu, já to nezkoušel jenom jsem to čet a slyšel jsem pozitivní reakce na fórech a hlavně jsem nepsal, že se to hojně používá, ale že je to možně

Závěr:

Nahoru Odpovědět
22.1.2014 21:06
Neaktivní uživatelský účet
Avatar
Daryl
Neregistrovaný
Avatar
Daryl:22.1.2014 21:11

Tak na VS jsem se jen tak letmo díval, tedy spíše jen na porovnání s C# a co jsem tak nějak postřehl, tak C# je +- jednodušší VB.

Ty středníky by nemusely být problém, jak jsem říkal, už jsem v C# pracoval, takže bych si to měl vybavit celkem rychle :)

 
Nahoru Odpovědět
22.1.2014 21:11
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:22.1.2014 21:12

To je fuk od kdy tu je Python, on se vyvíjí a každá nová verze něco přinese. Je přece fuk co píši týpci (ano to je poptávka po těch jazicích, taky trochu zásadní), ale i s pythonem se dá žít. Javascript se rozrooste to určitě, web musí dostat nový rozměr, ale nečekám že na desktop a do mobilu, tam prostě nepatří, tam to mají obsazené jiní. Pokud se na tyto platformy dostane, tak s pomocí nějaké firmy, která s původním a dnešním návrhem nemá nic společného, tak jak to udělal třeba Microsoft u Modern UI aplikací, dostal si ho tam, řekl co s ním zamýšlí a k čemu tam je.

 
Nahoru Odpovědět
22.1.2014 21:12
Avatar
Odpovídá na
Michal Žůrek - misaz:22.1.2014 21:13

spíš naopak, VB je díky klíčovým slovům jednodušší C#. Ale to je individuální.

 
Nahoru Odpovědět
22.1.2014 21:13
Avatar
Daryl
Neregistrovaný
Avatar
Odpovídá na Neaktivní uživatel
Daryl:22.1.2014 21:14

V herním průmyslu zase z 90% chtějí C a C++ a jen málokdy C#. A co se týče skriptovacích jazyků, tak chtějí Luu (nejčastěji) nebo i ten Python.

Čím se Javascript liší od Javy?

 
Nahoru Odpovědět
22.1.2014 21:14
Avatar
Daryl
Neregistrovaný
Avatar
Odpovídá na Michal Žůrek - misaz
Daryl:22.1.2014 21:16

Takže bys spíše než C# doporučil VB?

 
Nahoru Odpovědět
22.1.2014 21:16
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na
Jan Vargovský:22.1.2014 21:16

Úplně vším.

 
Nahoru Odpovědět
22.1.2014 21:16
Avatar
Ridge
Člen
Avatar
Ridge:22.1.2014 21:23

pokud ses v c# dostal az k objektove orientovanemu programovani tak by jsi mel zatnout zuby a jit do toho. Dle meho nazoru je sice pekny ze umis nekolik jazyku, ale pokud je plne nepochopis, a tim nemyslim veci typu, cykly, podminky tak je lepsi si vybrat jeden jazyk a na nej se plne soustredit.

Nahoru Odpovědět
22.1.2014 21:23
use brain.
Avatar
Odpovídá na
Neaktivní uživatel:22.1.2014 21:26

Hlavně tím, že Javascript je skriptovací jazyk, Java se kompiluje. Javascript můžeš využít rovnou na webu a nemusíš mít ani server, stačí ti prohlížeč, proto jsem ho doporučoval. Jinak jsou si ty jazyky (v rámci toho že patří do rodiny Céčka) vcelku podobné. OOP je v něm trochu jiné, tam používáš na objekty konstruktory. potom už zásadní rozdíly asi nejsou.

Nahoru Odpovědět
22.1.2014 21:26
Neaktivní uživatelský účet
Avatar
Matej Sladek
Člen
Avatar
Odpovídá na
Matej Sladek:22.1.2014 21:28

Uplne vsetkym. To ze sa to vola Javascript je len marketingovy tah

 
Nahoru Odpovědět
22.1.2014 21:28
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Ridge
Kit:22.1.2014 21:30

Cykly a podmínky s OOP nesouvisí. Patří do strukturovaného programování.

Nahoru Odpovědět
22.1.2014 21:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:22.1.2014 21:36

Viděl jsi ty jazyky vůbec někdy? Už jen to, že jeden je silně typovaný a ten druhý vůbec. Jeden tě nutí psát v objektech, ve druhém můžeš, ale taky nemusíš. V jednom máš klasické IDE, kde můžeš krokovat a checkovat proměnné ve druhém musíš debugovat v prohlížeči (což je pro mě naprosto strašené).

 
Nahoru Odpovědět
22.1.2014 21:36
Avatar
Ridge
Člen
Avatar
Odpovídá na Kit
Ridge:22.1.2014 21:47

zjevne jsi to nepochopil.
pokud dany clovek jiz zmakl zakladni veci a snazi se ucit oop, ktere mu zatim moc nejde, neni moc dobre od toho odbihat k jinym programovacim jazykum. dle meho nazoru je lepsi jit proste do sebe a snazit se to nejak pochopit.

Nahoru Odpovědět
22.1.2014 21:47
use brain.
Avatar
Odpovídá na Jan Vargovský
Neaktivní uživatel:22.1.2014 21:50

Přesně tohohle komentáře jsem se bál :D. nejdřív porovnej Javu a Karla a potom říkej, že se Java a Javascript liší.

Nahoru Odpovědět
22.1.2014 21:50
Neaktivní uživatelský účet
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Petr Nymsa:22.1.2014 21:54

Bohužel. Podle tvých komentářů soudím, že nevíš o čem mluvíš. Absolutně. Nemám teď moc náladu se více rozepisovat. Každopádně JAVA x JavaScript je veliký rozdíl, volit only JavaSript také není nejšťastnější volba. JavScript je stále víceméně pouze web. Ano, lze s ním psát částečně apps pro Windows 8, ale stále se drží čistě na webové sféře.

Pokud vím, v čistém JavaScriptu neexistuje nic moc z OOP - dědičnost, interface, abstraktní třídy, statika,...

Nahoru Odpovědět
22.1.2014 21:54
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Benjibs
Člen
Avatar
Odpovídá na Neaktivní uživatel
Benjibs:23.1.2014 8:19

JavaScript je dieťa Javy, ktoré bolo vytvorené do iného prostredia než materský jazyk,
nemá teda ani zmysel ich porovnávať.

Editováno 23.1.2014 8:21
Nahoru Odpovědět
23.1.2014 8:19
1 + 1 = 2
Avatar
Benjibs
Člen
Avatar
Odpovídá na Petr Nymsa
Benjibs:23.1.2014 8:20

Dedičnosť a statika existujú.

Nahoru Odpovědět
23.1.2014 8:20
1 + 1 = 2
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:23.1.2014 8:51

Pokud jsi tvrdě narazil u objektů v C#, tak stejně tvrdě narazíš i o objektů v Pythonu, Javě, Ruby, PHP, zkrátka v každém jiném jazyce. Ve většině jazyků se dnes programuje velmi podobným způsobem. Doporučuji ti spíše dodělat to, co jsi začal.

Editováno 23.1.2014 8:52
Nahoru Odpovědět
23.1.2014 8:51
You are the greatest project you will ever work on.
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Benjibs
mkub:23.1.2014 9:48

(Javascript != Java)

 
Nahoru Odpovědět
23.1.2014 9:48
Avatar
Odpovídá na mkub
Neaktivní uživatel:23.1.2014 9:56

JavaScript !== Java

Nahoru Odpovědět
23.1.2014 9:56
Neaktivní uživatelský účet
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
mkub:23.1.2014 10:17
  1. Python nie je zastaraly jazyk, stale sa vyvija a nemyslim, ze by nemal perspektivu (aspon na Unix like OS je v nom napisano viacero utilitiek)
  2. Javascript sa pouziva skor na web v podobe roznych vychytavok, resp. na presmerovania,
  3. Java sa pouziva na web v podobe Java apletoch, ako aj na pisanie jednoduchych desktopovych aplikacii (napr. downloadery)
  4. C#, VB su jazyky, ktore maju buducnost a su pouzitelne predovsetkym na MS platforme a zjednodusena verzia VB (konkretne VBA) je pouzita aj v kancelarskom baliku od MS

a jeden z hlavnych odlisnosti medzi Java a Javascript je taky, ze Java sa kopiluje do bytekodu, ktory nasledne vykonava VM a javascript je interpretovany jazyk bud na strane servera, alebo na strane browsera, cize z toho vyplyva, ze Javascript je oproti Jave zjednoduhseny a ma ovela menej moznosti, i ked oba jazyky maju podobnu syntax

 
Nahoru Odpovědět
23.1.2014 10:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Tato diskuze byla označena moderátorem jako nekonstruktivní a myslíme si, že nemá pro veřejnost příliš vysokou hodnotu. Členy můžete samozřejmě stále oslovit soukromě a to formou zpráv nebo chatu.

Zobrazeno 45 zpráv z 45.