Začátky v Javě

Ivorne

Re:Začátky v Javě
« Odpověď #60 kdy: 30. 03. 2014, 01:38:38 »
Nechápu k čemu je zkušenému programátorovi garbage collector. V každé serióznější aplikaci se stejně musí uvolňovat paměť (tedy odstraňovat reference). Přitom s GC nemůžete používat RAII, což mi přijde jako podstatná součást objektově orientovaného programování.

Měl bych další dotaz: neměl by být robustní, kvalitní a moderní jazyk kompilovaný do strojového kódu?  Nějak nevidím výhody toho, aby byl jazyk podobného typu jako Java interpretovaný. Dnes už to má jen samé nevýhody.


zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Začátky v Javě
« Odpověď #61 kdy: 30. 03. 2014, 04:14:40 »
Nechápu k čemu je zkušenému programátorovi garbage collector. V každé serióznější aplikaci se stejně musí uvolňovat paměť (tedy odstraňovat reference). Přitom s GC nemůžete používat RAII, což mi přijde jako podstatná součást objektově orientovaného programování.

Měl bych další dotaz: neměl by být robustní, kvalitní a moderní jazyk kompilovaný do strojového kódu?  Nějak nevidím výhody toho, aby byl jazyk podobného typu jako Java interpretovaný. Dnes už to má jen samé nevýhody.

JIT překládá do nativního kódu, akorát že až za běhu (což má výhody i nevýhody).

borekz

Re:Začátky v Javě
« Odpověď #62 kdy: 30. 03. 2014, 08:00:49 »
Nechápu k čemu je zkušenému programátorovi garbage collector. V každé serióznější aplikaci se stejně musí uvolňovat paměť (tedy odstraňovat reference).
GC nebo aspoň počitadla referencí jsou výhodné pro zkopírování pointeru na více míst, odkdu se budou odstraňovat v náhodném pořadí. GC prý je rychlejší než počitadla, i když mě to tak na našich serverech nepřijde. Po vypotřebování paměti Java na dlouho ztuhne.
Přitom s GC nemůžete používat RAII, což mi přijde jako podstatná součást objektově orientovaného programování.
S tím 100% souhlasím. Největší opruz v Javě je "desktruktor" síťových a databázových connectionů v try..finally, které se někdy musí i opakovaně vnořovat. Je to podobná hrůza jako volání Release v COMu, pokud se nepoužijí smartpointery.
Měl bych další dotaz: neměl by být robustní, kvalitní a moderní jazyk kompilovaný do strojového kódu?  Nějak nevidím výhody toho, aby byl jazyk podobného typu jako Java interpretovaný. Dnes už to má jen samé nevýhody.
U Androidu jsem konečně pochopil k čemu to je. Těch procesorů v telefonech a tabletech je tolik, že asi není reálné pro každý to zkompilovat a otestovat u vývojáře. Na Linuxu je zase specifikum, že každá distribuce má jiné verze knihoven, takže nejuniverzálnější je kompilovat přímo na cílové distribuci. Tak to aspoň dělám na našich produkčních serverech.

JSH

Re:Začátky v Javě
« Odpověď #63 kdy: 30. 03. 2014, 10:07:34 »
IMHO hlavni vyhoda javy je v tom, ze se snadno ladi a hromadu chujovin uz nepusti prekladac. Je nejakej jinej jazyk, kde 90% chyb uz najde prekladac?
Tak v odchytávání chyb při překladu IMO vede Haskell. Jeho typovému systému se vyrovná máloco. A taky jsem na tomhle jazyce zjistil, že GC spolu s referenční transparencí tvoří dost ultimátní kombinaci. Jen je to jazyk dost netradiční z pohledu běžných programátorů, takže naučit se ho je trochu těžší.

UX

Re:Začátky v Javě
« Odpověď #64 kdy: 30. 03. 2014, 10:20:24 »
HASKELL, to je jako by Te nekdo zebral kosou za nohu :). Luxusni jazyk.

IMHO hlavni vyhoda javy je v tom, ze se snadno ladi a hromadu chujovin uz nepusti prekladac. Je nejakej jinej jazyk, kde 90% chyb uz najde prekladac?
Tak v odchytávání chyb při překladu IMO vede Haskell. Jeho typovému systému se vyrovná máloco. A taky jsem na tomhle jazyce zjistil, že GC spolu s referenční transparencí tvoří dost ultimátní kombinaci. Jen je to jazyk dost netradiční z pohledu běžných programátorů, takže naučit se ho je trochu těžší.


Quake

Re:Začátky v Javě
« Odpověď #65 kdy: 30. 03. 2014, 11:46:10 »
Pokud se jedná o alternativu k NetBeans, tak si zkuste třeba C++Builder nebo Delphi, to jsou RAD prostředí s vizuálním návrhem, jinak další je třeba CodeBlocks. Pracuji v také v SQLDeveloperu, který je dobrý, ale je na tom vidět, že je to v Jave. Když to srovnám s Toadem nebo IBExpertem, které jsou napsané v Delphi, tak mají úplně jinou odezvu při práci. Pokud se podívát například na TotalCommander, tak je napsaný buď v C++Builderu nebo v Delphi, proč to asi tak nepsali v Jave?

perceptron

Re:Začátky v Javě
« Odpověď #66 kdy: 30. 03. 2014, 11:52:23 »
GUI aplikacie, co nemusia bezat na viacerych platformach, je zbytocne pisat v Jave.

Total Commander je napisany v starom Delphi 2.0, 64bitove verzie su robene v Lazaruse a v Jave nebol pisany napr. preto, ze v 1993 este Java nebola.

Keby som isiel pisat pure windows GUI aplikaciu, tak vezmem .NET, ten super zastupil tu rolu, ktoru mali Delphi.

Quake

Re:Začátky v Javě
« Odpověď #67 kdy: 30. 03. 2014, 12:05:59 »
Lazaurus je klon Delphi založený na ObjectPascalu. Delphi v současné době kompilují aplikace pro Windows, iOS, OSX, Android, pro instrukční sadu Intel a ARM.

Quake

Re:Začátky v Javě
« Odpověď #68 kdy: 30. 03. 2014, 12:13:26 »
Jinak nevím, jak to bude s .NET, když má Microsoft nové vedení, nicméně poslední rok přicházely zprávy, že Microsoft bude preferovat C++ a HTML5. Windows Vista byly vyvíjeny v C# a poté byly práce zastaveny z důvodu nízkého výkonu a začalo se znovu od začátku v C++. Windows Vista měly mít nový souborový systém a další věci. Díky zdržení, pak neobsahovaly slibované věci.

Re:Začátky v Javě
« Odpověď #69 kdy: 30. 03. 2014, 12:43:41 »
Pokud se jedná o alternativu k NetBeans, tak si zkuste třeba C++Builder nebo Delphi, to jsou RAD prostředí s vizuálním návrhem, jinak další je třeba CodeBlocks.
Mne zajímalo, s čím NetBeans srovnáváte ze stejné kategorie. C++ Builder nebo Delphi jsou sice také RAD nástroje, ale je to jiná liga. Je to jako srovnávat KOffice a OpenOffice. Obojí má své využití, ale je logické, že když jedno je spíš jednoúčelový nástroj a druhé komplexní systém, to druhé bude mít větší nároky.

Pokud se podívát například na TotalCommander, tak je napsaný buď v C++Builderu nebo v Delphi, proč to asi tak nepsali v Jave?
Protože jeho autor dobře zná Delphi, tak to naprogramoval v Delphi. Na rozdíl od některých místních totiž asi věděl, že na volbě jazyka moc nezáleží, že mnohem podstatnější je, jak s tím jazykem a souvisejícími nástroji umí zacházet.

GUI aplikacie, co nemusia bezat na viacerych platformach, je zbytocne pisat v Jave.
Pokud někdo umí Javu, je naopak velmi vhodné, aby to napsal v Javě, než aby to bastlil v něčem jiném.

To, že je zbytečné psát v něčem jiném, než ve vašem oblíbeném jazyce, můžete napsat o kterémkoli jiném jazyce. Akorát že ostatní lidé mají jiné preference, a zvolí si zrovna jazyk, který vy považujete za zbytečný. Někoho napadne psát serverové aplikace v JavaScriptu, někoho psát multiplatformní GUI aplikace v C -a je jim docela jedno, že vy to považujete za zbytečné.

Windows Vista měly mít nový souborový systém a další věci. Díky zdržení, pak neobsahovaly slibované věci.
Chybějící WinFS nebyl důsledek zpoždění, naopak jeho špatný výkon byl jednou z příčin zpoždění.

Jirsákova babička

Re:Začátky v Javě
« Odpověď #70 kdy: 30. 03. 2014, 12:45:40 »
GUI aplikacie, co nemusia bezat na viacerych platformach, je zbytocne pisat v Jave.
Pokud někdo umí Javu, je naopak velmi vhodné, aby to napsal v Javě, než aby to bastlil v něčem jiném.

To bude nádhera, jak krásně to zapadne do prostředí...  ::) ;D

RAII

Re:Začátky v Javě
« Odpověď #71 kdy: 30. 03. 2014, 12:49:08 »
Nejdůležitější je rychlost běhu programu, a ta je u Javy prostě mizerná no ... smiřte se s tím

Co? Odkdy? To jsi trochu zaspal dobu.
Prosím, neprogramuj.

Jinak Jirsáku, důkaz už si dostal, (P.S. otevři si to PDF ... kdyby ti to nedošlo).

Re:Začátky v Javě
« Odpověď #72 kdy: 30. 03. 2014, 13:04:45 »
To bude nádhera, jak krásně to zapadne do prostředí...
Škoda, že to vůbec nesouvisí s programovacím jazykem. MS Word, Google Chrome, Mozilla Firefox, WinAmp - nic z toho není napsané v Javě, a přitom to používá jiné než nativní prostředí. Qt aplikace pod Gnome, GTK+ aplikace pod KDE také nezapadají do prostředí. vadí to někomu?

Jinak Jirsáku, důkaz už si dostal,
Dostal, a ne jeden. Ale já jsem nechtěl další důkaz toho, že vůbec netušíte, o čem píšete. Já jsem chtěl důkaz některého z vašich tvrzení.

Jirsákova babička

Re:Začátky v Javě
« Odpověď #73 kdy: 30. 03. 2014, 13:12:22 »
MS Word, Google Chrome, Mozilla Firefox, WinAmp - nic z toho není napsané v Javě, a přitom to používá jiné než nativní prostředí. Qt aplikace pod Gnome, GTK+ aplikace pod KDE také nezapadají do prostředí. vadí to někomu?

Akorát že nic z toho nevypadá jako posraná hajzlmísa na japonské skalce, narozdíl od "GUI" produktů napsaných v Javě. Naposled Javě v tomto ohledu konkuroval Motif  ::)

Re:Začátky v Javě
« Odpověď #74 kdy: 30. 03. 2014, 13:19:04 »
Nejdůležitější je rychlost běhu programu, a ta je u Javy prostě mizerná no ... smiřte se s tím

Co? Odkdy? To jsi trochu zaspal dobu.
Prosím, neprogramuj.
První Pentia (procesory od Intelu uvedené na trh začátkem devadesátých let) měla chybu v operacích s plovoucí řádovou čárkou. Tenkrát se vyprávěl tenhle vtip:

Potká se Pentium a čtyřiosmšestka (předchozí generace procesorů), a 486 povídá:
486: Slyšela jsem, že jsi mnohem rychlejší než já. Tak schválně, jak rychle spočítáš, kolik je 4195835,0 děleno 314­5727,0?
Pentium vypálí: 1,3337390689
486 chvíli počítá, a pak řekne: To je ale přece špatně!
Pentium: Ale rychle!

Akorát že nic z toho nevypadá jako posraná hajzlmísa na japonské skalce, narozdíl od "GUI" produktů napsaných v Javě. Naposled Javě v tomto ohledu konkuroval Motif  ::)
Aha, takže vy jste nikdy žádnou GUI aplikaci v Javě neviděl.