Učit se Javu nebo C++?

Stalin

Re:Učit se Javu nebo C++?
« Odpověď #60 kdy: 03. 08. 2013, 17:14:44 »
Také si myslím, že nikdo neudělá chybu, když si dá epizodu třeba s čistým C a ASM na nějakém jednochipu. Zjistíte, jak funguje procesor a jak řešit problém s velmi omezenými zdroji.

To su len zbozne priania nedocenenych ludi, ktori sa ucili programovat v 80tych rokoch.


mikrom

Re:Učit se Javu nebo C++?
« Odpověď #61 kdy: 03. 08. 2013, 22:06:50 »
Mistr mého bojového umění mi neustále tvrdí, že je jedno, jak cvičím, ale hlavně, že cvičím. ´
...
Tazateli, ať si zvolíš Javu nebo C++, neuděláš chybu. Každý jazyk má svá specifika.
Este by som doplnil: Tak ako v bojovom umeni by bolo naivne najprv sa naucit najprv iba postoje a az ked tieto dokonale zvladnes prejst na techniky ako kopy a udery,  tak isto je naivne mysliet si, ze najprv sa naucit dokonale jeden jazyk a az potom prejdes na iny. Mozes sa obe veci t.j. C/C++ a Javu ucit sucasne. Aj tak kym v nich neurobis niekolko projektov nebudes ich vediet dokonale. Ale mozes sa s nimi zoznamovat aj sucasne. Vyvojove nastroje pre oba jazyky su k dispozicii zadarmo. Takze mozes si sucasne skusat C/C++ aj Javu a porovnavat co sa ako da v ktorom jazyku naprogramovat. Neskor v praxi C/C++ sa ti moze hodit na backendy a Java na frontendy aplikacii.

student

Re:Učit se Javu nebo C++?
« Odpověď #62 kdy: 04. 08. 2013, 20:26:55 »
Java je krajsi jazyk, nie je nou co pokazit.
C++ umoznuje pisanie rychlejsieho kodu a mozno o nieco malo efektivnejsie, ale to moze viest k zlym navykom (viacnasobna dedicnost, ked ide o nieco viac ako "interface"; public/private dedicnost). Na druhu stranu to uci cloveka po sebe "upratovat" a nespoliehat sa na GC a mozno aj nieco o tom, ako mozu byt objekty reprezentovane.

xxar3s

Re:Učit se Javu nebo C++?
« Odpověď #63 kdy: 05. 08. 2013, 09:13:32 »
Ak chces univerzalny jazyk tak C++ - s nim sa naucis zaklady ako pisat efektivne algoritmy - pochopis ako vytvorit rychly, optimalizovany a pametovo nenarocny kod a naucis sa zaklady proceduralneho a objektoveho programovania. Vyhoda C++ je ze ho mozes pouzit prakticky na akykolvek typ aplikacie (od hier, cez systemove veci, po ovladaci software pre raketoplany). Nevyhoda je ze je to nehorazny bordel - kde sa da kazda vec robit X sposobmi.

A potom mozes skusit nejaky moderny vysokourovnovy jazyk ako trebars: F#, Erlang, Scala, Clojure, Kotlin, Ocaml - tieto jazyky ti rozsiria obzory a uplne ti zmenia pohlad na programovanie. Taktiez by si mohol skusit dynamicke jazyky ako LUA, Javascript alebo Ruby - na take domace skriptovanie (dynamickym jazykom by som ale rozhodne nezacinal).

Sten

Re:Učit se Javu nebo C++?
« Odpověď #64 kdy: 05. 08. 2013, 12:48:18 »
Java je krajsi jazyk, nie je nou co pokazit.
C++ umoznuje pisanie rychlejsieho kodu a mozno o nieco malo efektivnejsie, ale to moze viest k zlym navykom (viacnasobna dedicnost, ked ide o nieco viac ako "interface"; public/private dedicnost). Na druhu stranu to uci cloveka po sebe "upratovat" a nespoliehat sa na GC a mozno aj nieco o tom, ako mozu byt objekty reprezentovane.

Co je špatného na vícenásobné dědičnosti, kde jde o něco víc než jen interface? A co je špatného na private dědičnosti?

Btw. nespoléhat se na GC je hodně velká výhoda. Člověk pak nedělá příšerné leaky, protože mu nedojde, že to GC nevyřeší.


Kolemjdoucí

Re:Učit se Javu nebo C++?
« Odpověď #65 kdy: 05. 08. 2013, 14:34:09 »
Co je špatného na vícenásobné dědičnosti, kde jde o něco víc než jen interface? A co je špatného na private dědičnosti?

Vícenásobná dědičnost není v Javě, tak musí být špatná ;)

perceptron

Re:Učit se Javu nebo C++?
« Odpověď #66 kdy: 05. 08. 2013, 14:47:34 »
..ani v jave, ani v pythone, ani v ruby...vlastne, kde inde *je*?

leaky v jave sa robit daju, ale zase sa daju naucit aj zasady, ako ich nerobit

navyse tie zasady netreba poznat hned na zaciatku vzdelavania sa

vitamin_

Re:Učit se Javu nebo C++?
« Odpověď #67 kdy: 05. 08. 2013, 15:07:09 »
Viacnasobna dedicnost nie je popularna v jazykoch s GC. Problem je v tom, ze vsetky triedy su vecsinou odvodene od bazoveho objektu. Takze pri viacnasobnej dedicnosti by vzdy vznikal diamant a to by bol problem...  C++ nema GC a nepotrebuje bazovy objekt takze nie je problem z viacnasobnou dedicnostou.

gamer

Re:Učit se Javu nebo C++?
« Odpověď #68 kdy: 05. 08. 2013, 15:36:07 »
C++ nema GC a nepotrebuje bazovy objekt takze nie je problem z viacnasobnou dedicnostou.

Problém je i v C++, s vícenásobnou dědičností neuděláš
Kód: [Vybrat]
Base* base = nejaka_bazova_trida;
Derived* derived = static_cast<Derived*>(base);
Musí tam být dynamic_cast.

Sten

Re:Učit se Javu nebo C++?
« Odpověď #69 kdy: 05. 08. 2013, 17:25:40 »
C++ nema GC a nepotrebuje bazovy objekt takze nie je problem z viacnasobnou dedicnostou.

Problém je i v C++, s vícenásobnou dědičností neuděláš
Kód: [Vybrat]
Base* base = nejaka_bazova_trida;
Derived* derived = static_cast<Derived*>(base);
Musí tam být dynamic_cast.

Jenže ten je potřeba i u interfaců, aby se správně posunul pointer ve vtable

gamer

Re:Učit se Javu nebo C++?
« Odpověď #70 kdy: 05. 08. 2013, 17:43:20 »
Jenže ten je potřeba i u interfaců, aby se správně posunul pointer ve vtable

C++ nemá interfacy a java nemá static_cast, takže nějak nerozumím, jak static_cast na interface udělat  ;)

Natix

Re:Učit se Javu nebo C++?
« Odpověď #71 kdy: 05. 08. 2013, 17:44:38 »
..ani v jave, ani v pythone, ani v ruby...vlastne, kde inde *je*?

Vícenásobná dědičnost je v Javě 8 (až tedy vyjde), Scale i Ruby. Diamond není problém, pokud se to navrhne dobře.

V Javě 8 to vyřešili jednoduše tak, že v interfacech stále nesmí být fieldy a v případě kolize metod je třeba explicitně říct, kterou ze zděděných implementací chci.

Scala má naproti tomu jasnou specifikaci pořadí přimixování traitů, takže trait díky tomu umí v podstatě všechno co abstraktní třída (fieldy, protected dědičnost), jenom mu chybí kontruktor.

Don Quijote

Re:Učit se Javu nebo C++?
« Odpověď #72 kdy: 05. 08. 2013, 18:01:06 »
Cawte.

Ucim sa c++. Mam nejake knihy, mam ho aj na skole(v skole to je slabota) a rozne zdroje na nete. Ale od zaciatku rozmyslam nad javou. Nedovolim si tvrdit ze som nejaky pokrocily v c++, stale uroven zaciatocnik si myslim.

Dostala sa mi do ruk kniha od pavla herouta...mam uz od neho jednu k C...a chcem sa opytat ci prejst na javu alebo pokracovat v C++...popripade zacat sa popri c++ ucit aj javu zaroven.

Dakujem za rady


Programming: Principles and Practice Using C++
http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726

The C++ Programming Language, 4th Edition
http://www.amazon.com/The-Programming-Language-4th-Edition/dp/0321563840

Don Quijote

Re:Učit se Javu nebo C++?
« Odpověď #73 kdy: 05. 08. 2013, 18:04:33 »
Cawte.

Ucim sa c++. Mam nejake knihy, mam ho aj na skole(v skole to je slabota) a rozne zdroje na nete. Ale od zaciatku rozmyslam nad javou. Nedovolim si tvrdit ze som nejaky pokrocily v c++, stale uroven zaciatocnik si myslim.

Dostala sa mi do ruk kniha od pavla herouta...mam uz od neho jednu k C...a chcem sa opytat ci prejst na javu alebo pokracovat v C++...popripade zacat sa popri c++ ucit aj javu zaroven.

Dakujem za rady

The C++ Programming Language, 4th Edition
http://www.amazon.com/The-Programming-Language-4th-Edition/dp/0321563840

Programming: Principles and Practice Using C++
http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726



Sten

Re:Učit se Javu nebo C++?
« Odpověď #74 kdy: 05. 08. 2013, 18:13:40 »
C++ nemá interfacy a java nemá static_cast, takže nějak nerozumím, jak static_cast na interface udělat  ;)

C++ má interfacy, i když se jim tak ve standardu neříká.

Java dělá všude dynamic_cast, právě z tohoto důvodu.