Re: Existuje nějaký "lepší" prohlížeč JavaDocsů?

2011-02-08 Tema obsahu Oto Buchta
2011/2/8 Ondra Medek :
> Co treba http://grepcode.com/   :-)

Velice zajímavé, díky za tip.

Jinak, abych se přiznal, tak links a grep a less mi zatím vždy bohatě
stačili. Ajax jsem k tomu nikdy nepotřeboval.
-- 
Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com


Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Oto Buchta
2011/2/8 Rastislav Rehak :
> No ja som kontroloval kod po jednom Madarovi ( a teraz to nemala byt urazka
> narodnosti ) a ten sa zjavne ucil javu z dakej prudko teoretickej knizky OO
> programovania, pretoze vsade tvrdosijne pouzival konstrukciu :
>
> String s = new String( "Daka hodnota stringu" );

Pokud se nemýlím, tak platí:

String a = "Daka hodnota stringu";
String b = "Daka hodnota stringu";
String s = new String( a );
String t = new String( b );
if (a == b && s != t) System.out.println("Mel jsi pravdu");

Takže je to kapku něco jiného.
Navíc řekl bych, že to je pozůstatek z nějakého jazyka, který měl
proměnné a a b typu char*
-- 
Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com


Re: Desetinná čísla

2011-02-08 Tema obsahu Josef Cacek
Ahojte,

2011/2/8 Libor Jelinek :
> To znamená, že bych měl na double a float provždy zapomenout a všechno
> nahradit třídou BigDecimal (jak doporučuje Oráclí Java Tutorial)?

Nahradit jen tam, kde presnost potrebujete (fakturace apod.). Kdyz ale
muzete malou odchylku zanedbat a jde vam o rychlost (napr. resite
matematicke nebo graficke ulohy) na BigDecimal zapomente a pouzijte
primitivni typy (float, double).
Jinak pro otestovani desetihalerove aritmetiky s typem float muzete zkusit:

float halere = 0f;
for (int i = 1; i <= 100; i++) {
halere += 0.1f;
if (i % 1000 == 0) {
System.out.println(i / 10 + "~" + halere);
}
}

Na mem openjdk-6 to zacina:
100~99.99905
a konci to
10~100958.34

Za tyto pocty by vam asi zakaznici moc nepodekovali. :-)

-- pepa cacek


Re: Desetinná čísla

2011-02-08 Tema obsahu Libor Jelinek
To znamená, že bych měl na double a float provždy zapomenout a všechno
nahradit třídou BigDecimal (jak doporučuje Oráclí Java Tutorial)?


Dne 8. února 2011 16:13 Filip Jirsák  napsal(a):
> Zdravím,
>
>>
>> floating point number - desetinné číslo
>
> v tomhle bude zakopaný pes. "Floating point number" není desetinné číslo,
> ale číslo s plovoucí řádovou (nebo desetinnou) čárkou
> (vizte http://cs.wikipedia.org/wiki/Plovouc%C3%AD_desetinn%C3%A1_%C4%8D%C3%A1rka ).
> Není určeno k reprezentaci přesných desetinných čísel, ale k reprezentaci
> velkého rozsahu čísel, u kterých tolik nezáleží na přesnosti, ale je
> důležitá rychlost zpracování. Tenhle typ je nevhodné používat tam, kde máte
> přesná desetinná čísla – klasický případ jsou peněžní částky. Naopak je
> vhodný pro reprezentaci čísel, která už z podstaty nejsou přesná – když vám
> nějaký přístroj naměří, že auto jelo rychlostí 53,12756 km/h nebo že výrobek
> váží 15,37186 kg a počítáte s přesností na celé jednotky, nic se nestane,
> pokud si to ještě trochu upraví počítač. To samozřejmě neplatí v případě,
> kdy to vážíte s přesností na 5 desetinných míst a tuhle přesnost potřebujete
> zachovat – to vám opět float nebo double nezaručí a musíte použít nějaký typ
> se zaručenou přesností. Řekl bych, že čísla s plovoucí řádovou čárkou se
> uplatní u zpracování fyzikálních dat (např. i zpracování zvuku či grafika),
> v enterprise aplikacích bych na použití float nebo double skoro nastavil
> varování nějakého analyzátoru kódu.
> S pozdravem
> Filip Jirsák


Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Zdeněk Troníček
Jazyk by měl být intuitivní, s tím souhlas. Nicméně pokud jde o
optimalizaci řetězců, tak Java její používání nevyžaduje, ale nabízí.
Pokud ji nechceš, používej new String(). Pokud by si Java optimalizaci
řídila sama, tak by new String() mohlo vrátit stejnou hodnotu jako nějaké
předchozí new String()? To by přece porušovalo obecně platné pravidlo, že
new vytváří nový objekt. A výjimky v pravidlech jdou proti intuitivnosti.

Z.
-- 
Zdenek Tronicek
FIT CTU in Prague


Jiří Hradil napsal(a):
> Rekl bych, ze prave:
>
> String s = new String( "Daka hodnota stringu" );
>
> je problem jazyka samotneho, ze neco podobneho umozni. Jazyk si ma
> optimalizace ridit vnitrne sam, nikoli to vyzadovat po programatorovi.
> Co ten chudak udelal neboheho? Vzdyt pouzil objekt String jako ostatni
> objekty, tak ho to v OOP ucili. To, ze Java na halde vytvori vzdy novy
> objekt a diky tomu pak muze byt program neefektivni, je problem
> samotneho navrhu jazyka, nikoli programatora. To je jako kdybych
> nekoho ucil sproste mluvit a pak ho zliskal za to, ze rekl ku..a :).
> Specialne primitivni typy a kockopsy jako String delaji Javu slozitou.
>
> Jinak zmineny rozdil mezi programatorem a koderem je precenovany.
> Osobne myslim, ze je dobre, ze jazyky jsou dnes na vyssi urovni a
> jejich pouzivani vyzaduje mensi uroven odborneho vzdelani. Vyvojar tak
> nemusi brat drogy, aby se mu nafoukla hlava a vsechno pochopil ;).
> Jeho mozkova kapacita neni zanesena balastem a zustava misto pro
> realny svet. Tzv. programatori by konecne meli vylezt ze svych sklepu
> a namisto nejakych stupidnich optimalizaci by se meli ucit spise, jak
> maji mluvit s klientem. Pak pochopi, o cem tento svet je a budou psat
> lepsi software.
>
> Nikomu bych si nedovolil zakazovat pouzivat ten ci onen jazyk. Spise
> bych se snazil pochopit, jak ten clovek premysli a kde TVURCI jazyka
> udelali chybu tim, ze to nekdo nechape. Jazyk by mel byt predevsim
> ergonomicky. To znamena 'v souladu s prirodou'.
>
> Jirka Hradil
>
> 2011/2/8 Rastislav Rehak :
>> No ja som kontroloval kod po jednom Madarovi ( a teraz to nemala byt
>> urazka
>> narodnosti ) a ten sa zjavne ucil javu z dakej prudko teoretickej knizky
>> OO
>> programovania, pretoze vsade tvrdosijne pouzival konstrukciu :
>>
>> String s = new String( "Daka hodnota stringu" );
>>
>> Keby bol zo Slovenska  tak mu poviem, nech si precita aspon Pecinovskeho
>> ;-)
>> .
>>
>> R
>>
>> Dňa 8.2.11 6:20 PM, Ondrej Nekola  wrote / napísal(a):

 V průběhu doby jsem na kurzech potkal několik programátorů, kterým
 bych
 přísně zakázal
 používat jakýkoliv dynamický jazyk bez ohledu na to, jak dlouho se jej
 budou učit.

>>> Ciste ze zvedavosti: meli nejakou specialni vlastnost, ktera z nich
>>> udelala (minimalne) slusne programatory ve statickem jazyku a zaroven
>>> nerizene strely v dynamickem?
>>>    OSN
>>>
>>
>



RE: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Pecinovský Rudolf
> Ciste ze zvedavosti: meli nejakou specialni vlastnost, ktera z nich udelala
> (minimalne) slusne programatory ve statickem jazyku a zaroven nerizene strely
> v dynamickem?

Záleží na tom, čím se měří zkušenost - jestli počtem napsaných řádků, tak snad.

Jeden z nich byl např. líný vymýšlet, jak by se měla modifikovat skupina 
proměnných, tak místo cyklu prostě 20krát zkopíroval část programu a příslušné 
proměnné modifikoval ručně.

Další prohlašoval, že volání procedury strašně zdržuje a je proto výhodnější 
dotyčný kód na příslušná místa kopírovat. Pro snadnější kopírování pak vymyslel 
speciální nástroj, který se mu dokonce podařilo několikrát prodat.

A tak bych mohl ještě chvíli pokračovat.


Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Zdeněk Troníček
Kdybyste se toho chtěli zbavit, tj. např.

String s = new String( "Daka hodnota stringu" );

přepsat na

String s = "Daka hodnota stringu";

lze to snadno provést v nástroji RefactoringNG domácí provenience.
Příslušné pravidlo je toto:

NewClass {
null,
List { },
Identifier [elementKind: CLASS, qualifiedName: "java.lang.String"],
List {
Literal [id: s, kind: STRING_LITERAL]
},
null
} ->
Literal [ref: s]

Z.
-- 
Zdenek Tronicek
FIT CTU in Prague


Rastislav Rehak napsal(a):
> No ja som kontroloval kod po jednom Madarovi ( a teraz to nemala byt
> urazka narodnosti ) a ten sa zjavne ucil javu z dakej prudko teoretickej
> knizky OO programovania, pretoze vsade tvrdosijne pouzival konstrukciu :
>
> String s = new String( "Daka hodnota stringu" );
>
> Keby bol zo Slovenska  tak mu poviem, nech si precita aspon Pecinovskeho
> ;-) .
>
> R
>
> Dňa 8.2.11 6:20 PM, Ondrej Nekola  wrote / napísal(a):
>>> V průběhu doby jsem na kurzech potkal několik programátorů, kterým bych
>>> přísně zakázal
>>> používat jakýkoliv dynamický jazyk bez ohledu na to, jak dlouho se jej
>>> budou učit.
>>>
>> Ciste ze zvedavosti: meli nejakou specialni vlastnost, ktera z nich
>> udelala (minimalne) slusne programatory ve statickem jazyku a zaroven
>> nerizene strely v dynamickem?
>> OSN
>>
>



Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Jiří Hradil
Jeste k tematu: doporucuji git a knihu
http://pragprog.com/titles/tsgit/pragmatic-version-control-using-git .
200 stran a znate 95% funkcionality. Knihu 'Pro Git' pouzivat jen jako
referenci, sice hezky prelozena, zadara, ale moc dlouha a zbytecne
podrobna pro zacatek. Podporou IDE se netrapte, pouzivejte git z
prikazove radky. Nejlepsi skola, znalosti, pak udelate vse jednoduse.
Nebrzdi to.

Subversion dnes uz nebrat, blbe vetveni, tezke mergovani, ale porad je
to lepsi, nez CVS, ktere je uz po smrti.

Jirka Hradil

2011/2/3 Libor Jelinek :
> Dobrý den všem,
> bohužel jsem se musel pracovně věnovat trochu jiným činnostem, než
> programování a posledních cca 4-5 let jsem na J2SE/J2EE ani nešáhnul.
> V mé "době" bylo top JDK 1.4 na pro web Strutsy. O JSF a Spring apod.
> se teprve začínalo mluvit :-)
>
> (1) Chci se zeptat, protože vím, že mi už asi docela ujel vlak, co se
> má momentálně smysl učit, pokud chci vyvíjet webové aplikace (pokud
> možno "rich", tj. AJAX apod.) ? JSF nebo něco úplně už jiného?
>
> (2) Jaký verzovací systém se teď nejvíc používá v Javě? Stále ještě
> Mercurian? Nebo používáte Git? Mě se líbí Git a Bazaar, ale nevím jaký
> je tam zrovna podpora z IDEs.
>
> Velmi děkuji za názory :-)
> Libor
>


Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Jiří Hradil
Rekl bych, ze prave:

String s = new String( "Daka hodnota stringu" );

je problem jazyka samotneho, ze neco podobneho umozni. Jazyk si ma
optimalizace ridit vnitrne sam, nikoli to vyzadovat po programatorovi.
Co ten chudak udelal neboheho? Vzdyt pouzil objekt String jako ostatni
objekty, tak ho to v OOP ucili. To, ze Java na halde vytvori vzdy novy
objekt a diky tomu pak muze byt program neefektivni, je problem
samotneho navrhu jazyka, nikoli programatora. To je jako kdybych
nekoho ucil sproste mluvit a pak ho zliskal za to, ze rekl ku..a :).
Specialne primitivni typy a kockopsy jako String delaji Javu slozitou.

Jinak zmineny rozdil mezi programatorem a koderem je precenovany.
Osobne myslim, ze je dobre, ze jazyky jsou dnes na vyssi urovni a
jejich pouzivani vyzaduje mensi uroven odborneho vzdelani. Vyvojar tak
nemusi brat drogy, aby se mu nafoukla hlava a vsechno pochopil ;).
Jeho mozkova kapacita neni zanesena balastem a zustava misto pro
realny svet. Tzv. programatori by konecne meli vylezt ze svych sklepu
a namisto nejakych stupidnich optimalizaci by se meli ucit spise, jak
maji mluvit s klientem. Pak pochopi, o cem tento svet je a budou psat
lepsi software.

Nikomu bych si nedovolil zakazovat pouzivat ten ci onen jazyk. Spise
bych se snazil pochopit, jak ten clovek premysli a kde TVURCI jazyka
udelali chybu tim, ze to nekdo nechape. Jazyk by mel byt predevsim
ergonomicky. To znamena 'v souladu s prirodou'.

Jirka Hradil

2011/2/8 Rastislav Rehak :
> No ja som kontroloval kod po jednom Madarovi ( a teraz to nemala byt urazka
> narodnosti ) a ten sa zjavne ucil javu z dakej prudko teoretickej knizky OO
> programovania, pretoze vsade tvrdosijne pouzival konstrukciu :
>
> String s = new String( "Daka hodnota stringu" );
>
> Keby bol zo Slovenska  tak mu poviem, nech si precita aspon Pecinovskeho ;-)
> .
>
> R
>
> Dňa 8.2.11 6:20 PM, Ondrej Nekola  wrote / napísal(a):
>>>
>>> V průběhu doby jsem na kurzech potkal několik programátorů, kterým bych
>>> přísně zakázal
>>> používat jakýkoliv dynamický jazyk bez ohledu na to, jak dlouho se jej
>>> budou učit.
>>>
>> Ciste ze zvedavosti: meli nejakou specialni vlastnost, ktera z nich
>> udelala (minimalne) slusne programatory ve statickem jazyku a zaroven
>> nerizene strely v dynamickem?
>>    OSN
>>
>


Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Petr Fejfar
Dne Tue, 08 Feb 2011 17:57:29 +0100 Pecinovský Rudolf  
 napsal/-a:



Takový člověk není programátor, ale pouhý kodér.


V pocatecnich stadiich uceni se novemu paradigmatu to asi neni
nic proti nicemu.



Vycházím z průměrného profilu účastníka našich přeškolovacích kurzů

[...]

A tam bych tak optimistický nebyl.


Asi by se dala vyslovit hypoteza, ze ucastnik preskolovaciho
kurzu bude pod programatorskym prumerem, ale pripoustim,
ze budes realite bliz nez ja.

pf


Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Rastislav Rehak
No ja som kontroloval kod po jednom Madarovi ( a teraz to nemala byt 
urazka narodnosti ) a ten sa zjavne ucil javu z dakej prudko teoretickej 
knizky OO programovania, pretoze vsade tvrdosijne pouzival konstrukciu :


String s = new String( "Daka hodnota stringu" );

Keby bol zo Slovenska  tak mu poviem, nech si precita aspon Pecinovskeho 
;-) .


R

Dňa 8.2.11 6:20 PM, Ondrej Nekola  wrote / napísal(a):

V průběhu doby jsem na kurzech potkal několik programátorů, kterým bych přísně 
zakázal
používat jakýkoliv dynamický jazyk bez ohledu na to, jak dlouho se jej budou 
učit.


Ciste ze zvedavosti: meli nejakou specialni vlastnost, ktera z nich
udelala (minimalne) slusne programatory ve statickem jazyku a zaroven
nerizene strely v dynamickem?
OSN



Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Ondrej Nekola
>
> V průběhu doby jsem na kurzech potkal několik programátorů, kterým bych 
> přísně zakázal
> používat jakýkoliv dynamický jazyk bez ohledu na to, jak dlouho se jej budou 
> učit.
>

Ciste ze zvedavosti: meli nejakou specialni vlastnost, ktera z nich
udelala (minimalne) slusne programatory ve statickem jazyku a zaroven
nerizene strely v dynamickem?
   OSN


RE: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Pecinovský Rudolf
> Program zpravidla navrhuje nekdo, kdo zna odpovidajici metodiku pro dane
> paradigma a kdyz ji nezna, tak tezko bude v roli nekoho, kdo ma zasadni vliv 
> na
> to, jak bude reseni vypadat.
> 
> A kdyz nastoupi do teamu, kde takoveho analytika maji, tak v pripade OOD v
> podstate dostane tridy s metodami navrzene, dostane radu hotovych knihoven,
> nekdo tam bude nejspis dohlizet na kvalitu kodu atd., takze neni ponechan s
> novym paradigmatem svemu osudu a nema prilis velky prostor pro matlani
> nejakym neslucitelnym stylem...

Takový člověk není programátor, ale pouhý kodér.
Já jsem hovořil o někom, kdo nemá za úkol pouze zakódovat zadanou analýzu, ale 
který má také něco vymyslet. 

Navíc všechny ty úvahy o potřebě znalosti metodik & spol. jsou sice krásné, ale 
v praxi většinou nenaplněné. Vycházím z průměrného profilu účastníka našich 
přeškolovacích kurzů, a ten předchozí úvahy o ani zdaleka nenaplňuje. A je 
přitom v podstatě jedno, jedná-li se o starého praktika nebo nedávného 
absolventa.

Kdysi jsem četl knížku o umělé inteligenci, v níž byl zmiňován program, který 
uměl dokázat jednoduché matematické věty. Autor pak upozorňoval: 
"Možná vám ty věty připadají trapně jednoduché, ale uvědomte si, že pokud se 
pohybujete mezi samými PhD., snadno vám unikne, že tyto "jednoduché" věty 80 % 
populace vůbec nechápe.

Obdobně je to i s těmi programátory. Pokud se někdo dostane (a zapadne) do 
špičkového kolektivu, záhy ztratí představu o tom, jak vypadá programátorský 
průměr. Předpokládal jsem však, že tu neřešíme, jak dlouho by se přeškolovali 
programátoři z TOP 5 %, ale jak dopadne průměr. A tam bych tak optimistický 
nebyl.

V průběhu doby jsem na kurzech potkal několik programátorů, kterým bych přísně 
zakázal používat jakýkoliv dynamický jazyk bez ohledu na to, jak dlouho se jej 
budou učit.



Re: Desetinná čísla

2011-02-08 Tema obsahu Zdeněk Troníček
Popis reprezentace desetinných čísel v češtině je zde:
https://users.fit.cvut.cz/~tronicek/java/Ukazka.pdf

Z.T.
-- 
Zdenek Tronicek
FIT CTU in Prague


Michal Pavlasek napsal(a):
> pohybliva desatinna ciarka prinasa niekolko niekedy necakanych prekvapeni
> :)
> odporujucich "sedliackemu rozumu", vysledkom su nepresnosti.
>
> je to popisane napr tu:
> http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems
>
> bye
> CoPLaS
>
> 2011/2/8 Libor Jelinek 
>
>> Dobrý den všem Javistům!
>>
>> (1)
>> Zrovna si čtu
>> http://download.oracle.com/javase/tutorial/essential/io/datastreams.html,
>> kde mj. píšou
>>
>> *(...) Above example uses one very bad programming technique: it uses
>> floating point numbers to represent monetary values. In general,
>> floating
>> point is bad for precise values. It's particularly bad for decimal
>> fractions, because common values (such as 0.1) do not have a binary
>> representation.
>>
>> The correct type to use for currency values is java.math.BigDecimal.*
>>
>> Zcela nechápu co je na floating point číslech špatného a v čem je lepší
>> BigDecimal. Co se myslí tím "precise value"?
>>
>> (2)
>> V souvislosti s tím bych se chtěl zeptat, zda následující anglické
>> termíny
>> chápu správně (+ jeden si vůbec neumím přeložit).
>>
>> decimal - desetinný nebo desítkový
>> decimal number - desítkové číslo
>> decimal integer - desítkové celé číslo
>> floating point number - desetinné číslo
>> precision - počet des. míst
>> width - ??
>> decimal point - desetinná tečka
>> decimal places - desetinná místa
>>
>



Re: Desetinná čísla

2011-02-08 Tema obsahu Filip Jirsák
Zdravím,


> floating point number - desetinné číslo
>

v tomhle bude zakopaný pes. "Floating point number" není desetinné číslo,
ale číslo s plovoucí řádovou (nebo desetinnou) čárkou (vizte
http://cs.wikipedia.org/wiki/Plovouc%C3%AD_desetinn%C3%A1_%C4%8D%C3%A1rka ).
Není určeno k reprezentaci přesných desetinných čísel, ale k reprezentaci
velkého rozsahu čísel, u kterých tolik nezáleží na přesnosti, ale je
důležitá rychlost zpracování. Tenhle typ je nevhodné používat tam, kde máte
přesná desetinná čísla – klasický případ jsou peněžní částky. Naopak je
vhodný pro reprezentaci čísel, která už z podstaty nejsou přesná – když vám
nějaký přístroj naměří, že auto jelo rychlostí 53,12756 km/h nebo že výrobek
váží 15,37186 kg a počítáte s přesností na celé jednotky, nic se nestane,
pokud si to ještě trochu upraví počítač. To samozřejmě neplatí v případě,
kdy to vážíte s přesností na 5 desetinných míst a tuhle přesnost potřebujete
zachovat – to vám opět float nebo double nezaručí a musíte použít nějaký typ
se zaručenou přesností. Řekl bych, že čísla s plovoucí řádovou čárkou se
uplatní u zpracování fyzikálních dat (např. i zpracování zvuku či grafika),
v enterprise aplikacích bych na použití float nebo double skoro nastavil
varování nějakého analyzátoru kódu.

S pozdravem

Filip Jirsák


Re: Existuje nějaký "lepší" prohlížeč JavaDocsů?

2011-02-08 Tema obsahu Tomas Beneda
Osobne pouzivam Javadoc search frame - rozsireni do prohlizece (firefox a 
chrome), ktere do javadocu pridava vyhledavaci policko

http://userscripts.org/scripts/show/23200

 Původní zpráva 
Od: Libor Jelinek 
Předmět: Existuje nějaký "lepší" prohlížeč JavaDocsů?
Datum: 08.2.2011 08:09:55

Dobrý den!
Existuje nějaký "lepší" prohlížeč JavaDocsů? Zejm. základního J2SE
API? Třeba něco jako pro YUI na http://developer.yahoo.com/yui/docs/
nebo jQuery http://api.jquery.com/?

Prostě něco co dokáže vyhledávat, má autocomplete, je ajaxové? Může to
být i desktop aplikace.

Díky za tipy
Libor




Re: Desetinná čísla

2011-02-08 Tema obsahu Michal Pavlasek
pohybliva desatinna ciarka prinasa niekolko niekedy necakanych prekvapeni :)
odporujucich "sedliackemu rozumu", vysledkom su nepresnosti.

je to popisane napr tu:
http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems

bye
CoPLaS

2011/2/8 Libor Jelinek 

> Dobrý den všem Javistům!
>
> (1)
> Zrovna si čtu
> http://download.oracle.com/javase/tutorial/essential/io/datastreams.html,
> kde mj. píšou
>
> *(...) Above example uses one very bad programming technique: it uses
> floating point numbers to represent monetary values. In general, floating
> point is bad for precise values. It's particularly bad for decimal
> fractions, because common values (such as 0.1) do not have a binary
> representation.
>
> The correct type to use for currency values is java.math.BigDecimal.*
>
> Zcela nechápu co je na floating point číslech špatného a v čem je lepší
> BigDecimal. Co se myslí tím "precise value"?
>
> (2)
> V souvislosti s tím bych se chtěl zeptat, zda následující anglické termíny
> chápu správně (+ jeden si vůbec neumím přeložit).
>
> decimal - desetinný nebo desítkový
> decimal number - desítkové číslo
> decimal integer - desítkové celé číslo
> floating point number - desetinné číslo
> precision - počet des. míst
> width - ??
> decimal point - desetinná tečka
> decimal places - desetinná místa
>


Desetinná čísla

2011-02-08 Tema obsahu Libor Jelinek
Dobrý den všem Javistům!

(1)
Zrovna si čtu
http://download.oracle.com/javase/tutorial/essential/io/datastreams.html,
kde mj. píšou

*(...) Above example uses one very bad programming technique: it uses
floating point numbers to represent monetary values. In general, floating
point is bad for precise values. It's particularly bad for decimal
fractions, because common values (such as 0.1) do not have a binary
representation.

The correct type to use for currency values is java.math.BigDecimal.*

Zcela nechápu co je na floating point číslech špatného a v čem je lepší
BigDecimal. Co se myslí tím "precise value"?

(2)
V souvislosti s tím bych se chtěl zeptat, zda následující anglické termíny
chápu správně (+ jeden si vůbec neumím přeložit).

decimal - desetinný nebo desítkový
decimal number - desítkové číslo
decimal integer - desítkové celé číslo
floating point number - desetinné číslo
precision - počet des. míst
width - ??
decimal point - desetinná tečka
decimal places - desetinná místa


Re: Co teď "letí" v Javě na web a verzování?

2011-02-08 Tema obsahu Petr Fejfar

Dne Sun, 06 Feb 2011 15:58:15 +0100 Pecinovský Rudolf
 napsal/-a:


dotyčný naučil jako první, je v jeho programech (v libovolném jazyce) k  
vysledování ještě dlouhou dobu.


Souhlasim, ale...

kdyz by napr. nekdo cetl muj kod, mohl by si myslet,
ze jsem se ani po 20+ letech nezbavil assemblerovskych
navyku, kdyz vyhodnocuju podminky stylem, odpovidajicim
v podstate vetvi posit v Jacksonove backtrackingu misto
abych je hnizdil do sebe. Ale ja to delam umyslne, ac
se to quitovani jiste strukturovanym puristum nelibi,
protoze to povazuji za citelnejsi a udrzovatelnejsi kod
s mensi nachylnosti k chybam.


A v tom je právě problém. Přecházíš-li na jazyk postavený na jiném  
paradigmatu, může ten přechod docela dlouho trvat.


Souhlasim, ale ja v tomto pripade nemluvim o zasadni zmene
paradigmatu jako napr. pri prechodu z proceduralniho jazyka
na deklarativni.
Pro tuto diskuzi jsem predpokladal, ze zustavame v OO svete.


zkušeného programátora 12 až 18 měsíců, přičemž čím zkušenější, tím déle  
mu trvá, než se zbaví starých zvyků a začne programovat opravdu podle  
nového paradigmatu.


To se udava, ale osobne s tim mam problem:

- Kdo je to ten programator? Co predstavuji ty jeho zkusenosti?
  Umel napr. nejakou (strukturovanou) metodiku? Jestli ano, mohou se mu
  ukazat rozdily s novou ev. se da ukazat, co ze stavajicich znalosti
  muze zuzitkovat a treba vlozit jako uvod Jacksonovo JSD s JSP...

  Umel psat reusable kod? Bude to umet i v Jave a kdekoli jinde.
  Zna svet XML+XSD+XSL? Urcite to zuzitkuje.
  Umel pouzivat spravne exceptions napr. v ADA? Bude je umet
  pouzivat s minimalnim usilim i v Jave, Pythonu  a kdekoli jinde,
  totez regexy, DB connectivita, persistence, marhshalling/unmarshalling,
  multithreading/multitasking a ja nevim co jeste.

- Co v tech 12-18 mesicich ma zvladnout? Napr. pri prechodu
  do OO sveta nejakou metodiku? Jacobsonovu OOSE, Coad/Yourdanovu OOAD,
  Rumbaughtovu OMT, Jacksonovu JSD, nejakou jinou? Nebo vsechny
  dohromady vcetne jejich pros&cons? UML nebo neco jineho pro modelovani,
  nejaky konkretni OO jazyk a nejake fasady, nebo nekolik OO
  jazyku soucasne?
  Kde a jak si to tech 12-18 mesicu bude osvojovat? atd. atd.



Program zpravidla navrhuje nekdo, kdo zna odpovidajici metodiku
pro dane paradigma a kdyz ji nezna, tak tezko bude v roli nekoho,
kdo ma zasadni vliv na to, jak bude reseni vypadat.

A kdyz nastoupi do teamu, kde takoveho analytika maji, tak
v pripade OOD v podstate dostane tridy s metodami navrzene,
dostane radu hotovych knihoven, nekdo tam bude nejspis dohlizet
na kvalitu kodu atd., takze neni ponechan s novym paradigmatem
svemu osudu a nema prilis velky prostor pro matlani nejakym
neslucitelnym stylem...

Naopak ma docela dobrou sanci rychle vstrebat, jak to ma
spravne vypadat, zejmena kdyz si k tomu studoval odpovidajici
metodiku.


Řekl bych, že přechod ze staticky typovaného a dynamicky typovaný jazyk  
bude někde uprostřed. Asi jej dostaneš pod kůži dříve než za uvedených  
12 měsíců, ale za týden to nebude.


Viz vyse: pokud ten clovek mel odpovidajici znalosti z OO sveta
v prostredich se silnou typovou kontrolou, vlastni
dynamicky OO jazyk by mu IMHO nemel delat problemy
(a proto jsem psal ten puvodni prispevek).

Jestli si to pamatuju, tak kdyz jsme vybirali Python,
precetli jsme 2 prirucky a kodovaci standard, abychom
psali stejne jako Pythomci - dohromady 500+ stranek
- cili par hodin.

Trochu jsme jako proceduralni hlavy plavali ve
funkcionalnim programovani a krev nam hodne pilo,
kdyz se clovek pri prirazovani hodnoty spletl
v nazvu atributu, tak misto chyby obohatil tridu
o novy atribut :-
(tuhle vlastnost bych z jazyka vykopal a zavedl pro to
explicitni prikaz - to se strasne spatne hledalo).
Jinak s kontrolou datovych typu az za behu to nebylo
tak zle.


Co nam zabralo dost casu bylo zvladnout framework
Django, abychom v nem dokazali udelat, co jsme potrebovali
- to byly tydny.

Taky prohrabat se knihovnama byl obcas problem
(tam by se docela hodila nejaka kucharka programatora
jako napsal Darwin javistum).


No to jsem toho naslintal...
Uz radsi skoncim a jdu delat neco uzitecneho ;)


pf