AMD konci s x86?!?

Petr Zahradnik clexpert na clexpert.cz
Středa Listopad 30 19:38:03 CET 2011


Původní zpráva ze dne 30.11.2011 od Miroslav Šinko:

>>> Zaverecne suvislossti: podla mna je .NET blbost (ok, mozno silne
>>> slovo, subjektivny nazor, ale stojim si za nim). Prave preto, ze
>>> poznam WinAPI, mi .NET nesedi.

>> A proč ti nesedí? Že se nechceš naučit něco nového? Nebo že to
>> nepotřebuješ?

> Ano, nepotrebujem to (pisal som, ze nazor je subjektivny). Nesedi mi
> ale preto, lebo vyzaduje velky balik Frameworku a aplikacie napisane
> v .NET bezia pomalsie a zeru viac pamate ako nativne. S chcenim sa
> ucit to nic spolocne nema, co potrebujem, alebo chcem, to sa
> priebezne ucim.

Miroslave, ono je velmi jednoduché napsat, že je něco blbost, když to
vlastně nepotřebuješ, nepoužíváš, neznáš. Ano, pro tebe je to blbost.
Pro mě je absolutní blbost například traktor. Já ho nepotřebuju, mám
normální auto. Traktor dělá kravál, jezdí pomalu, má málo sedaček, je
v něm zima, je moc veliký a stejně by se mi nevešel do garáže.

Píšeš, že aplikace napsané v .NET běží pomalu a žerou víc paměti než
nativní aplikace. Já v tom s tebou souhlasím. Také píšu menší desktop
aplikace v Delphi a kompiluji je pod Win32. Jedou daleko rychleji než
.NET aplikace. Ale velkou vícevrstvou SOA aplikaci tam kvalitně
nenapíšu. Zrovna tak neudělám v Delphi 64-bitovou aplikaci. Teď
vylezlo Delphi XE2 konečně s 64-bitovým kompilátorem, ale jakkoliv
dlouho jsem na něj čekal, teď zase docela váhám, jestli to v téhle
chvíli má ještě smysl.

A teď do jaké míry je rychlost a nároky na paměť zajímavá? Záleží to
na cílové skupině, pro kterou programuji. Před nějakými 22 lety jsem
měl 8-bitový počítač, který měl 64 kB RAM a kazeťák. Psal jsem
aplikace v Assembleru a říkal jsem, že je nepíšu v Basicu, protože v
tom Basicu jsou pomalé. Byla to pravda. Dnes máš v počítači gigabajty
paměti a terabajty diskové kapacity. Když se dívám do ceníku, tak 4GB
paměti 1600 MHz stojí 500 Kč (22 EUR), počítače máme 64-bitové,
operační systémy také 64-bitové, za hubičku můžeš si pořídit desítky
GB paměti, můžeš to celé virtualizovat, poslat do cloudu, servery jsou
rychlé jako ďábel.

S čím to tedy srovnat a kde konkrétně je možné říci, že tohle ještě
jde a tohle ne? Ten tvůj kód v C++ běžící pod Windows je totálně
pomalý pro Assembler běžící třeba pod MS-DOS. Můžeme porovnat třeba se
ZX-81, proti tomu ten tvůj kód spolu s Windows je šílený bastl. Ani to
na ZX-81 nespustíš. Ani na PC XT to nepojede. Ale dnes nemáme PC XT,
tak proč to takhle srovnávat?

Takže vlastně zjistíme, že porovnávat můžeme prdlajs. Využíváš nějaké
knihovny obsažené ve Windows. Ale přitom .NET Framework je delší dobu
také součástí Windows. Jen je to jiná knihovna. Dobře víš, že mezi
jednotlivými Windows jsou také změny, také tam není všechno, i pro C++
různé dodělávky a C++ frameworky. Pod Windows 95 toho není hodně moc.
Když chceš, aby GUI nějak moderně vypadalo, zase potřebuješ další
knihovny, můžeš klidně potřebovat DirectX apod.

.NET Framework není jediný případ nějakého frameworku, který byl kdy
nutný pro běh aplikací. Vzpomeňme namátkou třeba na FoxPro nebo
později Visual FoxPro. A kolik aplikací v tom vzniklo a bylo
funkčních? Že se musí něco nainstalovat? Velký framework? Co je to
dnes prosím několik desítek megabajtů?

Vždycky je to o tom, co vlastně chceš nebo musíš vyvíjet za aplikace.
Když řešíš driver, máš smůlu, musíš do C++ nebo Assembleru. Jasně. Ale
na ostatní typy aplikací už je .NET velmi vhodný.

> Dakujem za doporucenie. Ako napisal M.Sembol, prinasa to spravu
> buffrov, o ktore sa programator nemusi starat. To som pisal aj ja,
> takze nieco snad nastudovane mam. Asi nebola moja otazka spravne
> pochopena. Mne je jasne, ake typy aplikacii sa v .NET daju pisat. Je
> mi jasne, ze v "starom" API sa niektore z nich pisat nedaju. To je
> ale sposobene tym, ze MS obmedzil rozvijanie stareho API, a novymi
> vecami mohutne plnil .NET. Takze teraz je samozrejme .NET pouzitelny
> na vyvoj sirsieho zaberu aplikacii.

Jednou z výhod je samozřejmě to, že ve stejném vývojovém prostředí a
pod jedním společným frameworkem (který je navíc zdarma) můžeš psát
více druhů programů. To je obrovská výhoda ve znovupoužitelnosti svého
i cizího kódu a assemblies. Je jedno, jestli píšeš okénkovou aplikaci
(WinForms, WPF, Silverlight) nebo službu (Windows Service) nebo
webovou službu (WebService, WCF) nebo webovou aplikaci (WebForms, MVC)
nebo aplikaci pro Cloud (Windows Azure), případně aplikaci pro mobilní
zařízení (Compact Framework, Windows Mobile) nebo dokonce přímo pro
hardware (Micro Framework). Ve všech případech využíváš stejný
framework (nebo jeho část v případě CF/MF), můžeš si vybrat z několika
jazyků podle potřeby, ale hlavně se učíš jednou a všechno vytvořené
můžeš opakovaně využít.

Všechny tyto technolgie spolu úzce spolupracují a tak snadno napíšeš
vícevrstvou aplikaci. Když se rozhodneš napsat WCF, můžeš ji hostovat
kdekoliv (v okénkové aplikaci, v konzolové aplikaci, ve službě
windows, v IIS, ve Windows Azure). Na to se napojíš tlustým klientem,
tenkým klientem, webovým prohlížečem, jinými webovými službami
odkudkoliv ze světa apod.

Petr Zahradník, počítačový expert

====================================================================
Petr Zahradník, Computer Laboratory
Obvodová 740/14, 400 07 Ústí nad Labem
telefony: 910 256 000, 910 80 60 40, 475 501 627, mobil: 602 409 601
web: http://www.clexpert.cz, e-mail: clexpert na clexpert.cz
ICQ: 21215917, Live: clexpert na clexpert.cz, Skype: callto://clexpert
====================================================================




Další informace o konferenci Hw-list