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

JS

Re:Před C# začít s C ?
« Odpověď #15 kdy: 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.  ;)


trrrrr

Re:Před C# začít s C ?
« Odpověď #16 kdy: 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++.

JSH

Re:Před C# začít s C ?
« Odpověď #17 kdy: 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. :)

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Před C# začít s C ?
« Odpověď #18 kdy: 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.

balki

Re:Před C# začít s C ?
« Odpověď #19 kdy: 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.


ujia

Re:Před C# začít s C ?
« Odpověď #20 kdy: 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.

trrrrr

Re:Před C# začít s C ?
« Odpověď #21 kdy: 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.

perceptron

Re:Před C# začít s C ?
« Odpověď #22 kdy: 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

trrrrr

Re:Před C# začít s C ?
« Odpověď #23 kdy: 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

Re:Před C# začít s C ?
« Odpověď #24 kdy: 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.

IAM MARTIN

Re:Před C# začít s C ?
« Odpověď #25 kdy: 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.

Franta <xkucf03/>

Re:Před C# začít s C ?
« Odpověď #26 kdy: 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…).

balki

Re:Před C# začít s C ?
« Odpověď #27 kdy: 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)

balki

Re:Před C# začít s C ?
« Odpověď #28 kdy: 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.

Franta <xkucf03/>

Java
« Odpověď #29 kdy: 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.