Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Zpátky do osmdesátých...

Deafboy aura:100
30. 7. 2010 16:32

super

Paradny clanok… optimalizovat, optimalizovat, optimalizovat !

Deafboy aura:100
30. 7. 2010 16:35

Re: super

Sry za doublepost, ale este ma napada jeden postreh urceny java vyznavacom.
Akekolvek riesenie postavene na jave je najbohapustejsie plytvanie ake si clovek moze predstavit. Prave java robi z dnesnych PC kalkulacky. V praci pouzivam niekolko programov napisanych prave v jave. Cim novsi, tym dlhsie startuje, pomalsie reaguje a viac mrzne. Kym vsetko nastartujem, cakam niekedy aj 20 minut.

Kit
Kit (neregistrovaný) ---.215.broadband12.iol.cz
30. 7. 2010 17:01

Re: super

Javu také nemám v oblibě, zmínil jsem ji jen jako odpověď na potřebu jednotného prostředku na klientovi i serveru.
Myslím si, že Java je ve své podstatě rychlá, ale velké množství nabalených knihoven na každou aplikaci z ní dělá líného molocha. Také překlad do nativního kódu procesoru nemusí být ve všech pípadech výhodnější, než jeho přímá interpretace. Nespornou výhodou je, že je multiplatformní.
S velkou oblibou však používám konzolové nástroje, které jsou velmi rychlé i na velkých objemech dat. A to bez indexování!
Byly tady zmíněny molochy typu .NET a Java. Za ty miniaturní (a rychlé) bych uvedl třeba Lisp a Forth. Používá je ještě někdo? Osobně si nejčastěji vystačím se skripty v Bashi, ale na některé úlohy se nehodí.

Karel
Karel (neregistrovaný) 93.90.162.---
30. 7. 2010 18:31

Re: super

Java je velmi univerzální jazyk. Dají se s ním dělat neuvěřitelné prasárny a protože vás moc nehlídá, dá se s tím udělat úplně mrtvá aplikace. Populární chyba je začít ve vlákně, které se stará o grafické rozhraní, provádět výpočty a nejlépe databázové dotazy. Člověk pak klikne a ono je to celé mrtvé, přestane se překreslovat obrazovka a člověk netuší co se děje. Nebo to alespoň začne být takové líné a pohybovat posuvníkem vypadá jak vyvolávání filmu. Další populární věc je přibalit ke svému programu hromadu cizích knihoven na všechno možné. A navíc java je objektová, takže všechno musí být objekt. Pokud sebejednodušší aplikace nesestává ze stovek tříd a nevytváří statisíce instancí, tak to není správná Java! No a pak člověk najednou narazí na aplikaci, jejíž autor nebyl nebil a kolikrát ani nepozná, že to je Java. Jako zajímavou inspiraci doporučuji hru Runescape. Je to javovský aplet, běží to full screen, detailní 3D akcelerovaná grafika a hýbe se to velmi slušně i na 4 roky starém PC. Pak se člověk skutečně ptá, kde autor nějaké drobné utility udělal chybu, když startuje půl minuty, sežere 64MB paměti a prakticky se s tím nedá pracovat, protože odezva na kliknutí je v sekundách… A přitom je to taky ta java…

em
em (neregistrovaný) ---.vslesy.cz
31. 7. 2010 0:55

Re: super

Já používám javové aplikace na destkopu a jsem spokojený. On i blbý OpenOffice nebo IE, Mozila a Opera startují dost dlouho. V práci máme několik javových aplikací, a jsou OK. A třeba NetBeans je dost rychlé na to, co vše dělá v pozadí – syntaxe, verzování atd. Jen je potřeba vypnout moduly, které člověk nepoužívá.

pas
pas (neregistrovaný) 88.103.173.---
31. 7. 2010 11:07

Re: super

Přesně tak. Ještě lepší (horší? :)) příklad je Flash. Není výjimkou, že pár animovaných bannerů sežere 100 % procesoru. A pak člověk narazí na nějakou svižnou složitou vizualizaci nebo hru a šokovaně kliká pravým tlačítkem, jestli je to vážně Flash.
Je nějaká technologie, která vám dovolí psát jen kvalitní kód?

Kit
Kit (neregistrovaný) ---.215.broadband12.iol.cz
31. 7. 2010 11:25

Re: super

Programovat jako čuně je možné v jakémkoli jazyku. Viděl jsem v Pythonu napsanou aplikaci na 90 řádcích. Když jsem se autora zeptal, co to má dělat, podle jeho odpovědi jsem napsal totéž v Perlu na 65 znacích. Čitelněji. Určitě by to i v tom Pythonu šlo napsat lépe.

Bambus Maximus
Bambus Maximus (neregistrovaný) ---.anonymouse.org
1. 8. 2010 1:45

Jen se moc nevytahuj

Pche, to já jednou napsal takovou animaci v javascriptu, že z thoho každýmu zatuhnul prohlížeč na půl hodiny!

XDpz
XDpz (neregistrovaný) 213.195.222.---
1. 8. 2010 20:27

Re: Jen se moc nevytahuj

:D ha

Pavel Tišnovský aura:91
30. 7. 2010 19:03

Re: super

Forth se jeste pouziva, ale uz to samozrejme neni tak popularni jazyk jako v osmdesatych letech, kdy v nem spousta lidi (i v CSSR – tady to dokonce jednu dobu byl „oficialni“ nazor) videla budoucnost. Je to trosku skoda, protoze je v tom jazyku spousta zajimavych myslenek.
Java skutecne sama o sobe neni pomala, staci si udelat benchmarky pro ruzne typy uloh, jen se v ni proste da snadno „lepit“ kod s pouzitim mnoha dalsich knihoven a frameworku, jak pisete.

Martin Malý aura:93
30. 7. 2010 19:16

Re: super

FORTH byl prý, co jsem slyšel, určen jako „Jazyk Budoucnosti Na Socialistických Počítačích V RVHP“, proto o něm vyšel ten skvělý seriál od Pecinovského, a proto jej prý řada programátorů v ČSSR upřímně nenáviděla. Čert ví proč zrovna FORTH. (Nostalgici si tu jistě vzpomenou na unikátní počítač Jupiter Ace…)

I/O
I/O (neregistrovaný) 147.32.68.---
30. 7. 2010 23:53

Re: super

Jistě. Existují množiny problémů, pro něž ty jazyky vyhovují prostě nejlépe – ikdyž se dají použít i jiné nástroje. Lisp všude, kde se dá s výhodou použít jeho homoikoničnost, umožňující metaprogramování, Forth všude, kde se zúročí jeho nenáročnost a jednoduchost – dnes obvykle v embedded aplikacích; mít možnost pomocí JTAGu krokovat přímo laděné zařízení je sice skvělé, ale jakmile se v tom začnou vyskytovat přerušení a je třeba ladit z hlediska daného mikrořadiče asynchronní události, zas tak moc to nepomůže – zde je Forth pomocníkem k nezaplacení. Navíc při použití Forthu není třeba dané zařízení odpojit a rozdělat, co víc – v podstatě je možné ladit nebo upgradovat ho třeba přes Internet nebo přes rádio, což se dá s úspěchem aplikovat třeba u kosmických sond ( http://forth.gsfc.nasa.gov/ ) – zde hraje roli i to, že zásobníkové procesory jsou velmi jednoduché a při své jednoduchosti velmi rychlé a energeticky nenáročné, což zvyšuje jejich odolnost v náročných podmínkách a eliminuje pravděpodobnost výskytu nějaké nepodchycené chyby.
Takže ano – používají se hojně. Stejně jako se dodnes hojně používá Fortran. Jen to není zrovna v těch nejširších kruzích – přeci jen se jedná o nástroje využívané lidmi, jejichž IQ přesahuje průměr současné normální IT komunity, matlající webovky v Javě nebo .NETu. Ale oč menší je koncentrace výskytu, o to větší je obvykle důležitost problémů, jež se v těchto jazycích řeší. Když spadne server telefonního operátora, je to malér. Ale když spadne řídící soft meziplanetární sondy, je to průser za miliardy dolarů. :-)
BTW – jen taková zajímavost – asi před hodinou jsem řešil jakýsi problém s jedním starším kolegou z Ruska, autorem programu na rozpoznávání typů a energií částic ionizujícího záření podle stop jimi zanechaných v rastrových polovodičových detektorech. Dodnes programuje ve FORTRANu 66, celý program má vždycky v jednom souboru a ten program neobsahuje jedinou řádku komentáře (nepočítám-li vykomentovávání částí kódu a komentáře typu C-----------). K přehlednosti nepřispívá ani fakt, že implicitní typování používá, kde je to jen možné, a o existenci logických IFů mu za 50 let asi nikdo neřekl. Jistě to není nic následováníhodného, ale k údivu mne přivádí fakt, že při svém věku se ve svých tisíciřádkových programech bez nejmenších problémů orientuje. Na tvrzení „pořádek je pro blbce, inteligenta chaos nerozhází“ asi fakt něco je. :-)

Kit
Kit (neregistrovaný) ---.215.broadband12.iol.cz
31. 7. 2010 0:50

Re: super

V sondách bych nečekal zrovna Forth. No dobrá, však to není špatný jazyk. A je rychlý. Jen mě to překvapilo. Co jiného bych však mohl na sondě čekat?
S Fortranem jsem kdysi začínal. Hned po výukovém Pascalu, což byla tenkrát ideální kombinace. Myslet v Pascalu a programy psát ve Fortranu.
Kolega z Ruska asi ještě nezkusil Matlab nebo Octave. V mnohých případech mohou být efektivnější, než programy ve Fortranu. Přitom je práce s nimi mnohem jednodušší.

I/O
I/O (neregistrovaný) 147.32.68.---
31. 7. 2010 1:57

Re: super

Co jiného bych však mohl na sondě čekat? – ColorForth – to až nám sem jednou spadne nějaká sonda mimozemského původu. :-)

S tím ruským kolegou – to je relativní. Ruský kolega je mnohem produktivnější ve svém F66 než jeho mladí kolegové v Matlabu. Navíc – přeložený fortranský program přeci jen běží několikrát rychleji, než jeho analogie v Matlabu. Což je u problémů, na něž se Fortran dodnes nasazuje především, argument dosti silný. ;-)

Pavel Tišnovský aura:91
3. 8. 2010 12:09

Re: super

Pokud ten rusky kolega dela v F66 uz tolik let, tak bych se nedivil, kdyby v nem byl opravdu hodne rychlej – muze mit v hlave „seznam“ vsech algoritmu, ktere kdy vytvoril, takze je muze znovupouzit a pro vypocty Fortran vubec neni spatny jazyk (dokonce i aritmeticky IF tam vyuzije lepe nez „booleovsky“).
Me by zajimal vypis alespon casti jeho programu, nekteri lidi maji totiz takovy „pravopis“, ze se jejich programy daji poznat jen pri nahlednuti do zdrojaku.

Radovan
Radovan (neregistrovaný) 88.146.198.---
31. 7. 2010 8:36

Re: super

Řekl bych že tenhle kolega je skutečný Programátor, dokonale ovládající problematiku kterou zpracovává i ten „svůj“ jazyk, ve kterém to dělá. A takové imlicitní typování má i svoje výhody, na první pohled je vidět jestli je proměnná int nebo float ;-)

„God is real, unless declared integer.“

Martin Malý aura:93
31. 7. 2010 9:08

Re: super

… vzpomeňme na krásnou historku s DO17I=1.10, která prý stála NASA jednu sondu Mariner (podle všeho to je jen „programátorská legenda“ – ale pěkná).

Pavel Tišnovský aura:91
3. 8. 2010 12:04

Re: super

To ovsem ani tak nebyla chyba programu nebo programatora (ten naseka chyby vzdycky, je to jen clovek) ale toho, ze se ta aplikace bud neotestovala nebo otestovala spatne. I kdyz tady jde pravdepodobne skutecne o legendu, ktera pekne vystihuje to, ze v syntaxi Fortranu se puvodne ignorovaly mezery a nemusely deklarovat promenne, takze se DO 17 I = 1.10 chapalo jako prirazeni do nove promenne DO17I.
Priklad spatneho pristupu k testovani a celkovemu inzeniryngu – sonda, ktera hodne tvrde „pristala“ na Marsu kvuli tomu, ze se dva tymy nedomluvily na tom, v jakych jednotkach si mezi sebou budou predavat udaje. To se neda svest na programovaci jazyk nebo programatory :-)

Zasílat nově přidané příspěvky e-mailem