Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Prazak123 23. 10. 2015, 11:48:10

Název: Před C# začít s C ?
Přispěvatel: Prazak123 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
Název: Re:Před C# začít s C ?
Přispěvatel: tuxmartin 23. 10. 2015, 12:01:16
chci se zeptat, zda není vhodné předtím začít s C ?

Ne.
Název: Re:Před C# začít s C ?
Přispěvatel: uetoyo 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č.
Název: Re:Před C# začít s C ?
Přispěvatel: Ondra Satai Nekola 23. 10. 2015, 12:13:22
C případně až potom.
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 23. 10. 2015, 12:59:02
neni
Název: Re:Před C# začít s C ?
Přispěvatel: zboj 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).
Název: Re:Před C# začít s C ?
Přispěvatel: hmmm 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.
Název: Re:Před C# začít s C ?
Přispěvatel: čumil 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).
Název: Re:Před C# začít s C ?
Přispěvatel: Krabice 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.
Název: Re:Před C# začít s C ?
Přispěvatel: trrrrr 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í
Název: Re:Před C# začít s C ?
Přispěvatel: zboj 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).
Název: Re:Před C# začít s C ?
Přispěvatel: JSH 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.
Název: Re:Před C# začít s C ?
Přispěvatel: Kit 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#.
Název: Re:Před C# začít s C ?
Přispěvatel: x14 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?
Název: Re:Před C# začít s C ?
Přispěvatel: Ondra Satai Nekola 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?
Název: Re:Před C# začít s C ?
Přispěvatel: JS 23. 10. 2015, 22:11:41
Chystám se do ciziny. Doporučili mi španělštinu. Neměl bych předtím začít s italštinou?

Pokud jedes do Latinske Ameriky, tak spis zacit s portugalstinou. Abys nedopadl jako Feynman - ten se ucil spanelsky a pak skoncil v Brazilii.  ;)
Název: Re:Před C# začít s C ?
Přispěvatel: trrrrr 23. 10. 2015, 22:59:12
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).

Nechtěl jsem ho zatěžovat detaily. Ano pořád to používá garbagecollector. Ale na druhou stranu musím říct, že jsem pracoval na systémech programovaných pro servery kde docházelo k masívním přesunům dat a výraznější problémy v rychlosti jsem nezaznamenal a to jsem nepoužíval kod zkompilovaný do natívní formy.
 Mám za sebou i programování v C a C++, takže jsem osobně poznal jakou paseku můžou i v jednoduchých metodách napáchat memory leaky a osobně jsem nepotkal žádného guru, který by programoval úplně bez nich. Spíše se ty problémy vychytávaly v rámci bugfixingu. GC tyhle problémy čístečně odstraňuje. Sice se občas vyskytne nějaká nullreferenceexception, ale na rozdíl od problémů v C++ jdou tyhle problémy poměrně snadno vyřešit.
V případě velkých problémů s pamětí jde použít i metody třídy GC. Nebo  v případě problémů s pamětí použít nějaký buffer, nebo queue a sám si to ohlídat aby se to včas uvolnilo.
A nebo použít unsafe kód a přistupovat přímo do paměti pomocí ukazatelů a referencí jako v C++.
Možností je celkem dost jak se vyrovnat s problémy s pamětí, ale nemyslím, že se s tím ten tazatel ze začátku potká. GC dneska používá třeba i ten nový jazyk D, který vznikl přepracováním C++.
Název: Re:Před C# začít s C ?
Přispěvatel: JSH 24. 10. 2015, 00:05:08
GC dneska používá třeba i ten nový jazyk D, který vznikl přepracováním C++.
2001 je nový? A mezi jazyky které skoro nikdo nepoužívá se navíc vyskytují podstatně zajímavější kousky. :)
Název: Re:Před C# začít s C ?
Přispěvatel: zboj 24. 10. 2015, 00:13:03
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).

Nechtěl jsem ho zatěžovat detaily. Ano pořád to používá garbagecollector. Ale na druhou stranu musím říct, že jsem pracoval na systémech programovaných pro servery kde docházelo k masívním přesunům dat a výraznější problémy v rychlosti jsem nezaznamenal a to jsem nepoužíval kod zkompilovaný do natívní formy.
 Mám za sebou i programování v C a C++, takže jsem osobně poznal jakou paseku můžou i v jednoduchých metodách napáchat memory leaky a osobně jsem nepotkal žádného guru, který by programoval úplně bez nich. Spíše se ty problémy vychytávaly v rámci bugfixingu. GC tyhle problémy čístečně odstraňuje. Sice se občas vyskytne nějaká nullreferenceexception, ale na rozdíl od problémů v C++ jdou tyhle problémy poměrně snadno vyřešit.
V případě velkých problémů s pamětí jde použít i metody třídy GC. Nebo  v případě problémů s pamětí použít nějaký buffer, nebo queue a sám si to ohlídat aby se to včas uvolnilo.
A nebo použít unsafe kód a přistupovat přímo do paměti pomocí ukazatelů a referencí jako v C++.
Možností je celkem dost jak se vyrovnat s problémy s pamětí, ale nemyslím, že se s tím ten tazatel ze začátku potká. GC dneska používá třeba i ten nový jazyk D, který vznikl přepracováním C++.

Okenní aplikaci s GUI bych klidně psal s GC, ale na zatíženém serveru bych to moc neriskoval, mám s tím špatné zkušenosti. BTW v C++ jde psát bez leaků, stačí dodržovat jednoduchá pravidla.
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 00:50:54
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í.

Aha, pan je expert. :-/  Java nie je na odpis, velka cast serverovych aplikacii bezi na jave.
Název: Re:Před C# začít s C ?
Přispěvatel: ujia 24. 10. 2015, 01:07:52
GC dneska používá třeba i ten nový jazyk D, který vznikl přepracováním C++.
2001 je nový? A mezi jazyky které skoro nikdo nepoužívá se navíc vyskytují podstatně zajímavější kousky. :)
No spíš "mladý" než "nový", to je pravda. A když chce člověk něco podobnýho C# nebo Javě s aktivní komunitou, je to celkem solidní volba.
Název: Re:Před C# začít s C ?
Přispěvatel: trrrrr 24. 10. 2015, 09:32:52
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í.

Aha, pan je expert. :-/  Java nie je na odpis, velka cast serverovych aplikacii bezi na jave.

Tak se podívej co dělá ORACLE s vývojáři co programují JAVA. Odvolali, hlavního architekta, hlavního "evangelizátora" a možná se pletu, ale myslím že jim přiškrtili rozpočet.
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 24. 10. 2015, 10:06:09
java absolutne neni mrtva. vyvoj ide dopredu, bude java 9.

ziaden hlavny architekt nebol odvolany, mark reinhold by o tom nieco vedel.

dajte si fakty dohromady a aspon nazov piste poriadne
Název: Re:Před C# začít s C ?
Přispěvatel: trrrrr 24. 10. 2015, 10:57:06
java absolutne neni mrtva. vyvoj ide dopredu, bude java 9.

ziaden hlavny architekt nebol odvolany, mark reinhold by o tom nieco vedel.

dajte si fakty dohromady a aspon nazov piste poriadne

Javě vývoj přeju. Má co dohánět. ale co tyhle zprávy?
http://www.infoq.com/news/2015/09/oracle-purges-java-evangelists
Název: Re:Před C# začít s C ?
Přispěvatel: petrph 24. 10. 2015, 11:28:32
Dobrý den,  možná pokud jste kdysi pracoval s Pascalem, zkuste   se podívat na Delphi,vycházející  přímo z pascalu.Na internetu se dají starší funkční verze nalézt. Popřípadě, tedy i některe  jiné moderní projekty  Pascalu, třeba Lazaurus..

Místo toho ,pokud  Vám jde o to "napsat nějakou jednoduchou aplikaci na PC, která "hezky vypadá"-čímž tedy myslíte určitě i graficke rozhraní, tak tedy platformu .NET která obsahuje jak  Vámi zmíněný C#,tak i Visual Basic,záleží na tom co Vám bude bliž ..
Vracet se k jazyku C? Pokud by jste ho chtěl pak skutečně profesně využívat-jinak je to dost pomalá (a drsná) cesta. Odhadem tak několik měsíců na učení se psaní programů pracujících v příkazové řádce, potom k tomu přidat API Windows aby jste mohl začít tvořit grafické rozhraní...Přičemž tedy až příjdete k C#, tak zjistíte že řada z toho se nedá využít, protože se tam řeší úplně jinak.
Název: Re:Před C# začít s C ?
Přispěvatel: IAM MARTIN 24. 10. 2015, 11:46:03
java absolutne neni mrtva. vyvoj ide dopredu, bude java 9.

ziaden hlavny architekt nebol odvolany, mark reinhold by o tom nieco vedel.

dajte si fakty dohromady a aspon nazov piste poriadne

Vyvoj sice ide dopredu ale akym tempom?je rok 2015 a java len teraz prisla s lambdami ktore sa stali beznou sucastou inych jazykov niekedy v roku 2005.

Inak java ako jazyk je hnus vsetci kolegovia z prace co v nej musia kodit na nu nadavaju aj C# ma svoje muchy a je ich dost (osobne mi svojou filozofoiu a pramociarostou noznostami viac vyhovuje F# pripadne z ineho sudka c++ alebo objective C) ale oproti jave je c# vykupenie. Mna uz len koli jave k androidu nikto nedostane.

Ale javu nebrzdi len kvalita samotneho jazyka, ale aj patentovy troll Oracle. Boli casy ked v oblasti Enterprise dominoval COBOL dnes po nom ani pes nestekne a rovnako moze dopadnut aj Java.
Název: Re:Před C# začít s C ?
Přispěvatel: Franta <xkucf03/> 24. 10. 2015, 12:50:23
Tak se podívej co dělá ORACLE s vývojáři co programují JAVA. Odvolali, hlavního architekta, hlavního "evangelizátora" a možná se pletu, ale myslím že jim přiškrtili rozpočet.

Zase tak zlé to nebude, ale i kdyby – je celkem jedno, co dělá Oracle – máme OpenJDK, zdrojáky jsou svobodný software vydaný pod GNU GPL (navíc s class path výjimkou) a dá se pokračovat i bez Oraclu. Je tu silná komunita vývojářů (kolem GNU, Apache, Eclipse, Spring… + spousty frameworků a middlewarů + prakticky v každé SW firmě někdo dělá Javu). A je řada jazyků/platforem, které fungují i bez nějakého Oraclu (Perl, Python, PHP, Ruby, Haskell, Erlang, D, Rust…).
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 12:59:25
java absolutne neni mrtva. vyvoj ide dopredu, bude java 9.

ziaden hlavny architekt nebol odvolany, mark reinhold by o tom nieco vedel.

dajte si fakty dohromady a aspon nazov piste poriadne

Vyvoj sice ide dopredu ale akym tempom?je rok 2015 a java len teraz prisla s lambdami ktore sa stali beznou sucastou inych jazykov niekedy v roku 2005.

Inak java ako jazyk je hnus vsetci kolegovia z prace co v nej musia kodit na nu nadavaju aj C# ma svoje muchy a je ich dost (osobne mi svojou filozofoiu a pramociarostou noznostami viac vyhovuje F# pripadne z ineho sudka c++ alebo objective C) ale oproti jave je c# vykupenie. Mna uz len koli jave k androidu nikto nedostane.

Ale javu nebrzdi len kvalita samotneho jazyka, ale aj patentovy troll Oracle. Boli casy ked v oblasti Enterprise dominoval COBOL dnes po nom ani pes nestekne a rovnako moze dopadnut aj Java.

Java je konzervativna a (zpetne) kompatibilna. To je ako nadavat psovi, ze brese. Kto chce exprimenty, skusi clojure, alebo scalu. (O clojure ma pan Tisnovsky na rootovi pekny serial)
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 13:07:36
Este dodam, ze kto nevie v jave kodit, tak na nu nadava. Ja mam svoje odsedene na riti a odkodene. Dodam, ze je to ako so vsetkym.
Kdo sedi na riti a kodi v C#, asi ze bude dobry v C# a nie tak dobry v jave.
Název: Java
Přispěvatel: Franta <xkucf03/> 24. 10. 2015, 13:08:21
Inak java ako jazyk je hnus vsetci kolegovia z prace co v nej musia kodit na nu nadavaju

Java je jednoduchý jazyk a nemá takové vyjadřovací schopnosti jako třeba C++ nebo Perl, nemá přetěžování operátorů, nemá milion různých jazykových konstrukcí… všechno je prostě buď třída, metoda (+ pár základních operátorů a konstrukcí, generika, anotace), tím to končí a zbytek řeší knihovny/frameworky (tzn. volání metod, ke kterým si zobrazíš JavaDoc a IDE ti je napovídá).

Kvůli téhle vlastnosti ji nemají rádi někteří příliš „kreativní“ vývojáři, individualisti. Ale zase se díky tomu skvěle hodí pro týmový vývoj, kde musíš často sáhnout do kódu, který psal někdo cizí (kdo už často není v dosahu a není možné se ho zeptat, proč a jak to funguje).

Dalším faktorem je důraz na zpětnou kompatibilitu – na aktuálních verzích Javy (8) můžeš provozovat i aplikace psané pro prastaré verze (třeba 1.4); pro rozbití něčeho musí být sakra dobrý důvod (zavedení klíčového slova enum – pak bylo potřeba upravit kód aplikací, pokud jsi tam měl proměnné pojmenované enum), ale to se stalo asi tak jednou za celou dobu.
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 24. 10. 2015, 13:32:38
Citace
Vyvoj sice ide dopredu ale akym tempom?je rok 2015 a java len teraz prisla s lambdami ktore sa stali beznou sucastou inych jazykov niekedy v roku 2005.
to su tie drble nazory ze java je mrtva lebo sa mi nepaci syntax.

primarna featura je konzervativnost. navyse bol X rocny hiatus kde sa nevedeli dohodnut co vlastne s jazykom. odtial zmeskane lambdy. ten zastaveny vlak sa rozbieha

jak vravel klasik, ked chcete inu syntax pre jvm, zoberte scalu / groovy / whatever

dalsia vec je ze syntax je jedna vec, ekosystem druha, ked chcete mat velky stabilny vyvoj deploynuty na linuxy, java je X rokov stabilna volba

aj keby oracle javu dnes zakilloval, komunita ten vyvoj udrzi, je tam hafo velkych hracov co v tom maju biznis

Název: Re:Před C# začít s C ?
Přispěvatel: zboj 24. 10. 2015, 13:54:17
java absolutne neni mrtva. vyvoj ide dopredu, bude java 9.

ziaden hlavny architekt nebol odvolany, mark reinhold by o tom nieco vedel.

dajte si fakty dohromady a aspon nazov piste poriadne
Vyvoj sice ide dopredu ale akym tempom?je rok 2015 a java len teraz prisla s lambdami ktore sa stali beznou sucastou inych jazykov niekedy v roku 2005.

Abychom byli fér, C++ a Objective-C dostaly lambdy taky dost pozdě. Nicméně pravdou zůstává, že inovace se v Javě dějí hlemýždím tempem. Už aby byl .NET na Linuxech (v nějaké použitelné formě).
Název: Re:Před C# začít s C ?
Přispěvatel: IAM MARTIN 24. 10. 2015, 14:00:26
Citace
Vyvoj sice ide dopredu ale akym tempom?je rok 2015 a java len teraz prisla s lambdami ktore sa stali beznou sucastou inych jazykov niekedy v roku 2005.
to su tie drble nazory ze java je mrtva lebo sa mi nepaci syntax.

primarna featura je konzervativnost. navyse bol X rocny hiatus kde sa nevedeli dohodnut co vlastne s jazykom. odtial zmeskane lambdy. ten zastaveny vlak sa rozbieha

jak vravel klasik, ked chcete inu syntax pre jvm, zoberte scalu / groovy / whatever

dalsia vec je ze syntax je jedna vec, ekosystem druha, ked chcete mat velky stabilny vyvoj deploynuty na linuxy, java je X rokov stabilna volba

aj keby oracle javu dnes zakilloval, komunita ten vyvoj udrzi, je tam hafo velkych hracov co v tom maju biznis

U nas vo firme kde robime .NET, iOS, OSX aj Android, najviac na svoju platformu nadavaju prave javisti. Jednemu eklips neustale pada zere prostriedky spomaluje pocitac, druhemu Android Studio "blbne" SVNka a ma tam furt konflikty atd atd. Zlate VISUALKO ktore mi este nikdy nespadlo. Tiez to neni dokonale IDE, ale je na mile vzdialene tej hroze. Okrem toho je java neskutocne orezany a ukecany jazyk, ktory sa tvari hilevel jak svina aby v nom dokazala kodit aj cvicena opica, poritom v nej programator neustale riesi nejake low level zalezitosti. Nechcem z toho vyvodzovat ziadne zavery, ale java mi naozaj nepride ako zrela platforma, ci uz ide o jazyk, alebo cely ekosystem.
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 15:31:05
Jednemu eklips neustale pada zere prostriedky spomaluje pocitac, druhemu Android Studio "blbne" SVNka a ma tam furt konflikty atd atd. Zlate VISUALKO ktore mi este nikdy nespadlo. Tiez to neni dokonale IDE, ale je na mile vzdialene tej hroze. Okrem toho je java neskutocne orezany a ukecany jazyk, ktory sa tvari hilevel jak svina aby v nom dokazala kodit aj cvicena opica, poritom v nej programator neustale riesi nejake low level zalezitosti. Nechcem z toho vyvodzovat ziadne zavery, ale java mi naozaj nepride ako zrela platforma, ci uz ide o jazyk, alebo cely ekosystem.

Ja mam netbeans, ktory mi nepada, low level veci za mna riesi spring a co teraz?
Název: Re:Před C# začít s C ?
Přispěvatel: huehue 24. 10. 2015, 15:31:44
Vyvoj sice ide dopredu ale akym tempom?je rok 2015 a java len teraz prisla s lambdami ktore sa stali beznou sucastou inych jazykov niekedy v roku 2005.

Inak java ako jazyk je hnus vsetci kolegovia z prace co v nej musia kodit na nu nadavaju aj C# ma svoje muchy a je ich dost (osobne mi svojou filozofoiu a pramociarostou noznostami viac vyhovuje F# pripadne z ineho sudka c++ alebo objective C) ale oproti jave je c# vykupenie. Mna uz len koli jave k androidu nikto nedostane.
Tak pomalý vývoj ještě nutně nemusí být špatně. Takové C se za posledních 15 let téměř nezměnilo, ale kdybych si měl tipovat jaký jazyk se bude za 50 let pořád aktivně používat, bylo by to asi právě C.... ne že by pomalý vývoj zaručoval kvalitu, Javě se hodlám vyhýbat jak to jen půjde.
Název: Re:Před C# začít s C ?
Přispěvatel: zboj 24. 10. 2015, 15:40:37
Vyvoj sice ide dopredu ale akym tempom?je rok 2015 a java len teraz prisla s lambdami ktore sa stali beznou sucastou inych jazykov niekedy v roku 2005.

Inak java ako jazyk je hnus vsetci kolegovia z prace co v nej musia kodit na nu nadavaju aj C# ma svoje muchy a je ich dost (osobne mi svojou filozofoiu a pramociarostou noznostami viac vyhovuje F# pripadne z ineho sudka c++ alebo objective C) ale oproti jave je c# vykupenie. Mna uz len koli jave k androidu nikto nedostane.
Tak pomalý vývoj ještě nutně nemusí být špatně. Takové C se za posledních 15 let téměř nezměnilo, ale kdybych si měl tipovat jaký jazyk se bude za 50 let pořád aktivně používat, bylo by to asi právě C.... ne že by pomalý vývoj zaručoval kvalitu, Javě se hodlám vyhýbat jak to jen půjde.
C je tenká vrstva nad asemblerem, tam není co přidat. Naposled tam clang dal bloky.

Za 50 let se bude používat realtime Prolog ;)
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 15:42:02
Tak pomalý vývoj ještě nutně nemusí být špatně. Takové C se za posledních 15 let téměř nezměnilo, ale kdybych si měl tipovat jaký jazyk se bude za 50 let pořád aktivně používat, bylo by to asi právě C.... ne že by pomalý vývoj zaručoval kvalitu, Javě se hodlám vyhýbat jak to jen půjde.

To je  smutne, nechciet sa nieco naucit a vyhybat sa. Zrovna koderina je oblast, kde sa treba ucit stale. Prave sa ucim funkcionalne programovanie, lebo dost strasia, ze sa to bude pouzivat. (vid haskell) Ista miera pragmatizmu nie je na skodu.
Název: Re:Před C# začít s C ?
Přispěvatel: zboj 24. 10. 2015, 15:46:58
Tak pomalý vývoj ještě nutně nemusí být špatně. Takové C se za posledních 15 let téměř nezměnilo, ale kdybych si měl tipovat jaký jazyk se bude za 50 let pořád aktivně používat, bylo by to asi právě C.... ne že by pomalý vývoj zaručoval kvalitu, Javě se hodlám vyhýbat jak to jen půjde.

To je  smutne, nechciet sa nieco naucit a vyhybat sa. Zrovna koderina je oblast, kde sa treba ucit stale. Prave sa ucim funkcionalne programovanie, lebo dost strasia, ze sa to bude pouzivat. (vid haskell) Ista miera pragmatizmu nie je na skodu.
Už se používá
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 15:51:45
Tak pomalý vývoj ještě nutně nemusí být špatně. Takové C se za posledních 15 let téměř nezměnilo, ale kdybych si měl tipovat jaký jazyk se bude za 50 let pořád aktivně používat, bylo by to asi právě C.... ne že by pomalý vývoj zaručoval kvalitu, Javě se hodlám vyhýbat jak to jen půjde.

To je  smutne, nechciet sa nieco naucit a vyhybat sa. Zrovna koderina je oblast, kde sa treba ucit stale. Prave sa ucim funkcionalne programovanie, lebo dost strasia, ze sa to bude pouzivat. (vid haskell) Ista miera pragmatizmu nie je na skodu.
Už se používá

Zatial vedie imperativne, lebo na funkcionalne, treba zmenu myslenia. Aby to nedopadlo tak, ze sa bude kodit imperativne vo funkcionalnych jazykoch. (vid niektore "perly" nakodene v emacs lispe)
Název: Re:Java
Přispěvatel: Nobody 24. 10. 2015, 15:52:03
Dalším faktorem je důraz na zpětnou kompatibilitu – na aktuálních verzích Javy (8) můžeš provozovat i aplikace psané pro prastaré verze (třeba 1.4)

Ale vysvetlil to nekdo programatorum? Protoze bastly v Jave padaji s kazdym upgradem jako hrusky na podzim.
Název: Re:Java
Přispěvatel: Ondra Satai Nekola 24. 10. 2015, 15:53:50
Dalším faktorem je důraz na zpětnou kompatibilitu – na aktuálních verzích Javy (8) můžeš provozovat i aplikace psané pro prastaré verze (třeba 1.4)

Ale vysvetlil to nekdo programatorum? Protoze bastly v Jave padaji s kazdym upgradem jako hrusky na podzim.

Jak co.
Název: Re:Java
Přispěvatel: balki 24. 10. 2015, 15:55:29
Dalším faktorem je důraz na zpětnou kompatibilitu – na aktuálních verzích Javy (8) můžeš provozovat i aplikace psané pro prastaré verze (třeba 1.4)

Ale vysvetlil to nekdo programatorum? Protoze bastly v Jave padaji s kazdym upgradem jako hrusky na podzim.

Prosim o uvedenie prikladu "bastlu" co pada po upgrade javy. Zijeme v paralelnych vesmiroch?
Název: Re:Před C# začít s C ?
Přispěvatel: Radek Miček 24. 10. 2015, 16:25:22
ked chcete inu syntax pre jvm, zoberte scalu / groovy / whatever

IMO hlavní problém je v JVM a tam další jazyky nepomohou. Například reifikovaná generika a hodnotové typy nebo optimalizace tail callů.
Název: Re:Java
Přispěvatel: Radek Miček 24. 10. 2015, 16:28:42
Java je jednoduchý jazyk

Je zajímavé, proč má tak jednoduchý jazyk tak dlouhou specifikaci. Osobně mám za to, že jednoduchý jazyk jde popsat na pár stránek, ale specifikace Javy má více než 700 stran.
Název: Re:Java
Přispěvatel: balki 24. 10. 2015, 16:39:29
Java je jednoduchý jazyk

Je zajímavé, proč má tak jednoduchý jazyk tak dlouhou specifikaci. Osobně mám za to, že jednoduchý jazyk jde popsat na pár stránek, ale specifikace Javy má více než 700 stran.

C++ ma 1400, scheme 90, brainfuck 2.
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 24. 10. 2015, 16:48:36
Citace
Jednemu eklips neustale pada zere prostriedky spomaluje pocitac, druhemu Android Studio "blbne" SVNka a ma tam furt konflikty atd atd.
"java je mrtva lebo kolegovi pada eclipse". dafuq?

 
Citace
riesi nejake low level zalezitosti.
vojine kefaline co je pre vas taka ta low level zalezitost v jave?
-----
@radek micek:

reifikovane generika nemozu byt lebo backward compatibility
value types su planovane do java 9
tail calls su problem, jedine naozaj je nejaky monkey patch ala scala @tailrec

Citace
Je zajímavé, proč má tak jednoduchý jazyk tak dlouhou specifikaci.
did you say intercal?
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 16:49:11
ked chcete inu syntax pre jvm, zoberte scalu / groovy / whatever

IMO hlavní problém je v JVM a tam další jazyky nepomohou. Například reifikovaná generika a hodnotové typy nebo optimalizace tail callů.

V clojure sa na tail-cally pouziva vyhradene slovo "recur".  Nie je to az take elegantne, ale umoznuje to setrit stackom aj na jvm. (priznam sa, ze neviem, co su reifikovana generika a honotove typy)
Název: Re:Java
Přispěvatel: Ondra Satai Nekola 24. 10. 2015, 16:50:07
Java je jednoduchý jazyk

Je zajímavé, proč má tak jednoduchý jazyk tak dlouhou specifikaci. Osobně mám za to, že jednoduchý jazyk jde popsat na pár stránek, ale specifikace Javy má více než 700 stran.

Nutno dodat, ze je to docela upovidana specka a je dost zamerena na citelnost.
Název: Re:Před C# začít s C ?
Přispěvatel: huehue 24. 10. 2015, 17:00:18
Tak pomalý vývoj ještě nutně nemusí být špatně. Takové C se za posledních 15 let téměř nezměnilo, ale kdybych si měl tipovat jaký jazyk se bude za 50 let pořád aktivně používat, bylo by to asi právě C.... ne že by pomalý vývoj zaručoval kvalitu, Javě se hodlám vyhýbat jak to jen půjde.

To je  smutne, nechciet sa nieco naucit a vyhybat sa. Zrovna koderina je oblast, kde sa treba ucit stale. Prave sa ucim funkcionalne programovanie, lebo dost strasia, ze sa to bude pouzivat. (vid haskell) Ista miera pragmatizmu nie je na skodu.
Tak ona Java není v principu špatná a má i nějaké podstatné výhody (no, spíš výhodu), ale když člověk zná C# a C++, tak není moc nového co by mu Java jakožto jazyk mohla dát. Pokud to zrovna nepotřebuji kvůli platformě, nemám důvod se jí učit. Tím spíš když člověk vidí všechny ty javisty co si na javu stěžují.

Je zajímavé, proč má tak jednoduchý jazyk tak dlouhou specifikaci. Osobně mám za to, že jednoduchý jazyk jde popsat na pár stránek, ale specifikace Javy má více než 700 stran.
Tak když člověk chce aby to bylo přenositelné, tak se to na velikostí standardní knihovny projeví...
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 24. 10. 2015, 17:00:41
reifikovane generika znamenaju ze ArrayList<KitovMutableString> za behu umozni zistovat informaciu nielen o tom ze to je arraylist, ale aj o tom ze prvky su typu KitovMutableString

v jave vdaka type erasure sa na genericky typ v case behu zabudne.

.net to zaviedol myslim v c# 2.0 kde to hodili do virtualmasiny. v jave to nemohli kvoli spatnej kompatibilite spravit

value types umoznuju zlepsit performance a finty pre vecicky ako komplexne cisla. definujete si value typ KomplexneCislo, ten bude v pamati ulozeny bez class overheadu (menej narocne na ram), dve komplexne cisla mozete porovnat cez ==, a dalsie vecicky. viac o tom http://cr.openjdk.java.net/~jrose/values/values-0.html
Název: Re:Před C# začít s C ?
Přispěvatel: balki 24. 10. 2015, 17:14:47
reifikovane generika znamenaju ze ArrayList<KitovMutableString> za behu umozni zistovat informaciu nielen o tom ze to je arraylist, ale aj o tom ze prvky su typu KitovMutableString

v jave vdaka type erasure sa na genericky typ v case behu zabudne.

.net to zaviedol myslim v c# 2.0 kde to hodili do virtualmasiny. v jave to nemohli kvoli spatnej kompatibilite spravit

value types umoznuju zlepsit performance a finty pre vecicky ako komplexne cisla. definujete si value typ KomplexneCislo, ten bude v pamati ulozeny bez class overheadu (menej narocne na ram), dve komplexne cisla mozete porovnat cez ==, a dalsie vecicky. viac o tom http://cr.openjdk.java.net/~jrose/values/values-0.html

Aha, takze klasicke javisticke generika. To uznavam, su dost fail, aj na certifikacii bolo par pikosiek ohladom toho. No holt, treba vediet, co do toho strkam :-/
Název: Re:Před C# začít s C ?
Přispěvatel: Radek Miček 24. 10. 2015, 18:42:07
reifikovane generika nemozu byt lebo backward compatibility

Nevidím důvod, proč by to muselo pokazit zpětnou kompatibilitu. IMO kolekce a jiný negenerický kód mohli nechat tak, jak byl, a jen přidat generickou variantu.

Citace
tail calls su problem, jedine naozaj je nejaky monkey patch ala scala @tailrec

To bohužel funguje jen, když funkce volá sama sebe - nefunguje to, když je volána jiná funkce v tail pozici.
Název: Re:Před C# začít s C ?
Přispěvatel: Radek Miček 24. 10. 2015, 18:47:24
value types su planovane do java 9

Pokud je přidají bez reifikovaných generik, neztratí se výhody hodnotových typů (tj. nebude je třeba boxovat při vkládání do kolekcí)?
Název: Re:Před C# začít s C ?
Přispěvatel: Tomas Roll 24. 10. 2015, 19:18:04
Chystám se do ciziny. Doporučili mi španělštinu. Neměl bych předtím začít s italštinou?

Pokud jedes do Latinske Ameriky, tak spis zacit s portugalstinou. Abys nedopadl jako Feynman - ten se ucil spanelsky a pak skoncil v Brazilii.  ;)

Pokud do Latinské Ameriky, tak samozřejmě latinu. Bez té se tam neobjedeš. To je takový jazykový ekvivalent C.
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 24. 10. 2015, 19:35:55
value types su planovane do java 9

Pokud je přidají bez reifikovaných generik, neztratí se výhody hodnotových typů (tj. nebude je třeba boxovat při vkládání do kolekcí)?

oni to riesia

http://cr.openjdk.java.net/~briangoetz/valhalla/specialization.html
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 24. 10. 2015, 20:09:43
a este k reifikovanym generikam: v jave by to rozdrbalo celu stdlib. vid clanok z 2006

2006/11/reified-generics-for-java.html?m=1
Název: Re:Před C# začít s C ?
Přispěvatel: Radek Miček 24. 10. 2015, 22:57:08
value types su planovane do java 9

Pokud je přidají bez reifikovaných generik, neztratí se výhody hodnotových typů (tj. nebude je třeba boxovat při vkládání do kolekcí)?

oni to riesia

http://cr.openjdk.java.net/~briangoetz/valhalla/specialization.html

V podstatě tedy mohou mít reifikovaná generika pro hodnotové typy?
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 25. 10. 2015, 08:36:05
zatial to tak vyzera ze to taj bude ako dosledok
Název: Re:Před C# začít s C ?
Přispěvatel: perceptron 25. 10. 2015, 13:42:59
este k tym problemom reifikacie a value types, brian goetz z java language summitu

http://www.oracle.com/technetwork/java/jvmls2015-goetz-2637900.pdf
Název: Re:Před C# začít s C ?
Přispěvatel: hawran diskuse 25. 10. 2015, 14:51:06
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

 ???
Proč se to tu většinou zvrhne v načechrávání peříček a poměřování údů? 
Název: Re:Před C# začít s C ?
Přispěvatel: Kit 25. 10. 2015, 15:58:17
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

 ???
Proč se to tu většinou zvrhne v načechrávání peříček a poměřování údů?

Zřejmě proto, že původní otázka již byla zodpovězena (C skutečně není potřebné a možná ani vhodné se učit před C#, protože ty dva jazyky toho nemají mnoho společného), mnozí mají potřebu sdělit, že existují i další alternativy (Visual Basic, Java, Scala, Haskel, PHP, Python, Lisp, ...) a dalším se něco z toho nelíbí a také to chtějí dát najevo. A protože pocity a sympatie se dnes tolik nenosí, začnou všichni argumentovat.