Učit se Javu nebo C++?

Kolemjdoucí

Re:Učit se Javu nebo C++?
« Odpověď #45 kdy: 27. 06. 2013, 23:49:02 »
To je jeden z důvodů proč se v C# píšou i drivery.

Tak to ani náhodou, linker od C# vůbec neumí vyprodukovat SYS soubor pro kernel.
V C# jsou leda tak hračky v user-mode, to ale nemá s driverem společného vůbec nic.


dword

Re:Učit se Javu nebo C++?
« Odpověď #46 kdy: 28. 06. 2013, 10:07:41 »
to gamer: Jestli se takhle upisuejs bezne (kde je ku**a na klavesnici lomitko vedle procent?), tak radeji zustan u her. Je to asi jako bych rekl, ze matematika je na nic, protoze se muzu upsat a misto 4 + 2 = 6 napsat 4 * 2 = 6 a mit to blbe. Debilni vec ta matematika, co?

gamer

Re:Učit se Javu nebo C++?
« Odpověď #47 kdy: 28. 06. 2013, 12:13:02 »
to gamer: Jestli se takhle upisuejs bezne (kde je ku**a na klavesnici lomitko vedle procent?), tak radeji zustan u her. Je to asi jako bych rekl, ze matematika je na nic, protoze se muzu upsat a misto 4 + 2 = 6 napsat 4 * 2 = 6 a mit to blbe. Debilni vec ta matematika, co?

Osobní urážky místo něčeho konstruktivního? Nic lepšího nevymyslíš?

Pavel Tisnovsky

Re:Učit se Javu nebo C++?
« Odpověď #48 kdy: 28. 06. 2013, 12:15:27 »
Citace
printf a spol. narozdíl od streamů nemá žádnou typovou kontrolu a dá se s tím užít spousta legrace:
Kód: [Vybrat]
    int a = 0, b = 1;
    printf("%i\n%i\n", a, b);

Upíšu se a místo \n napíšu %n:
    printf("%i%n%i%n", a, b);
Neoprávněný přístup do paměti (SIGSEGV)

Tak to si resi kazdej rozumnej prekladac:

Kód: [Vybrat]
test.c:6: warning: format ‘%n’ expects type ‘int *’, but argument 3 has type ‘int’
test.c:6: warning: too few arguments for format

Re:Učit se Javu nebo C++?
« Odpověď #49 kdy: 28. 06. 2013, 12:30:28 »
...

Tak to si resi kazdej rozumnej prekladac:

Kód: [Vybrat]
test.c:6: warning: format ‘%n’ expects type ‘int *’, but argument 3 has type ‘int’
test.c:6: warning: too few arguments for format

No, chodí po tomto světě "experti", kteří si warningy vypínají, aby měli compile-logy "co nejčistší"...
 ;D ;D


gamer

Re:Učit se Javu nebo C++?
« Odpověď #50 kdy: 28. 06. 2013, 12:41:43 »
Tyhle warningy se musí explicitně zapnout:
Kód: [Vybrat]
g++ main.cc
g++ -Wall main.cc
main.cc: In function ‘int main()’:
main.cc:9: warning: format ‘%n’ expects type ‘int*’, but argument 3 has type ‘int’
main.cc:9: warning: too few arguments for format
a fungují jen tehdy, pokud je formátovací řetězec konstatní string, známý už během compile-time:
Kód: [Vybrat]
    const char* format = "%i%n%i%n";
    printf(format, a, b);
g++ -Wall main.cc

Takže spoléhat se na ně rozhodně nedá. printf a spol. funkce by v moderním C++ kódu neměly vůbec být kvůli nulové typové kontrole, pokud k tomu není nějaký zvláštní důvod. Doporučuju používat boost format, to je typově bezpečné:
http://www.boost.org/doc/libs/1_53_0/libs/format/

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Učit se Javu nebo C++?
« Odpověď #51 kdy: 28. 06. 2013, 14:20:42 »
Neznám nikoho, kdo by nebyl totální lama* , a -Wall neměl zaplé.

Každopádně souhlasím s tím, že funkce jako printf, malloc/free, setjmp/longjmp etc. by v C++ kódu být neměly, přestože si překladač stěžovat nebude.

* takovej lempl, že pracovat s ním v týmu, tak zajdu za šéfem s podepsanou výpovědí a "Buď já nebo on půjde do jinýho týmu, anebo mi podepiš tohle a za dva měsíce už mě tu neuvidíš"

Někdo

Re:Učit se Javu nebo C++?
« Odpověď #52 kdy: 28. 06. 2013, 14:49:24 »
Každopádně souhlasím s tím, že funkce jako printf, malloc/free, setjmp/longjmp etc. by v C++ kódu být neměly, přestože si překladač stěžovat nebude.

Tohle považuji za naprosto zásadní výhodu Javy - tyhle nebezpečné funkce v ní prostě nejsou. Když pracujete na obrovském projektu tak je strašně důležité mít jistotu že modul od dodavatele na druhé straně planety v sobě nemá podobnou past. To samé platí o přebírání cizího kódu - v C++ můžete strávit dost času přepisováním do "lepšího C++", v Javě je ten minimální standard jasně daný (a mnohem vyšší než v C++). Toto (zahození zpětné kompatibility s C) považuji za velkou výhody Javy která vedla k jejímu dnešnímu velkému rozšíření do "enterprise" sféry, kde je spolupráce obrovských týmů a předávání kódů mezi dodavateli běžná věc.

Ivan

Re:Učit se Javu nebo C++?
« Odpověď #53 kdy: 28. 06. 2013, 15:31:05 »
Toto (zahození zpětné kompatibility s C) považuji za velkou výhody Javy která vedla k jejímu dnešnímu velkému rozšíření do "enterprise" sféry, kde je spolupráce obrovských týmů a předávání kódů mezi dodavateli běžná věc.

V tom mas pravdu, ale to same se ted deje v Jave znovu - na vyssi urovni. Jeden tym "fandi" Springu, druhy pouziva JEE zatimco treti jeste zustava u J2EE(plus JSP vs. JSF vs JSF2, ElipseLink vs. Hibernate, ...). Prenositolnost mezi OS uz docela funguje a najednou se resi prenositelnost mezi aplikacnimy servery.

iwtu

Re:Učit se Javu nebo C++?
« Odpověď #54 kdy: 28. 06. 2013, 15:39:49 »
stve ma, ze si tu nicky meraju medzi sebou penisy a povodna otazka zapadla do zabudnutia aj z jej autorom

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:Učit se Javu nebo C++?
« Odpověď #55 kdy: 28. 06. 2013, 15:42:57 »
Takhle končí každý flame. Sorry, ale ta otázka si o to přímo řekla.

Někdo

Re:Učit se Javu nebo C++?
« Odpověď #56 kdy: 28. 06. 2013, 16:06:38 »
Toto (zahození zpětné kompatibility s C) považuji za velkou výhody Javy která vedla k jejímu dnešnímu velkému rozšíření do "enterprise" sféry, kde je spolupráce obrovských týmů a předávání kódů mezi dodavateli běžná věc.

V tom mas pravdu, ale to same se ted deje v Jave znovu - na vyssi urovni. Jeden tym "fandi" Springu, druhy pouziva JEE zatimco treti jeste zustava u J2EE(plus JSP vs. JSF vs JSF2, ElipseLink vs. Hibernate, ...). Prenositolnost mezi OS uz docela funguje a najednou se resi prenositelnost mezi aplikacnimy servery.

Ano, je to tak - ale to je přirozený vývoj a důsledek otevřenosti Javy, nikdo tam nikomu nemůže zakázat aby si implementoval vlastní framework (typicky třeba Spring má všude něco udělaného po svém), jen trh rozhodne o tom zda se framework rozšíří nebo ne. U C++ je to podle mě ještě horší, tam velké obecné frameworky snad ani nejsou, takže si aplikace každý musí psát po svém - a šance že se trefíte do toho že ten druhý to bude rovnou umět je tedy nulová.

Spekulace: že by se u C++ velké projekty dusily na řešení banálních low-level věcí jako je třeba memory management a proto těch velkých projektů v C++ nakonec není tolik a proto se nikomu nevyplatí investovat do tvorby obecných frameworků?

Nepsal jsem že spolupráce mezi programátory je v Javě jednoduchá, jen jsem psal že je díky těm standardizovaným low-level věcem jednodušší než u C++ a existence obecných frameworků (i když více a soupeřících) je taky nakonec plus - dává jakousi naději že trefíte na programátory kteří už ten framework budou znát a nebudou se všechno muset učit od nuly.

cleb

Re:Učit se Javu nebo C++?
« Odpověď #57 kdy: 28. 06. 2013, 17:09:50 »
Takhle končí každý flame. Sorry, ale ta otázka si o to přímo řekla.

To je tak když chybí moderátor

r23

Re:Učit se Javu nebo C++?
« Odpověď #58 kdy: 03. 08. 2013, 15:31:00 »
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.

Strašidlo

Re:Učit se Javu nebo C++?
« Odpověď #59 kdy: 03. 08. 2013, 17:04:07 »
Mistr mého bojového umění mi neustále tvrdí, že je jedno, jak cvičím, ale hlavně, že cvičím. To, jak to dělám, se s postupem času vypiluje.

Tazateli, ať si zvolíš Javu nebo C++, neuděláš chybu. Každý jazyk má svá specifika. Hlavní je, abys programoval. Ať Ti kdokoliv bude tvrdit, že přechodem z C++ do Javy se neodnaučíš špatné návyky z Javy, pak je to kec. Vše je jen o sebemotivaci.