Pocybuju, že se nakonec bude někomu chtít přecházet na Linux. Ač zarytý linuxák, tak jsem k tomuto velmi skeptický. Všichni nakonec sklopěj uši a přejdou. Protože je lepší nějaká kompatibilita, než žádná. Navíc čistě napsaný aplikace nemají většinou problémy. Nedokáži si představit, že by byť jen 10% firem přešlo na Linux. Vidím to tak maximálně na 1%. Ne, že by byl Linux špatný, ale lidi mají strach z čehokoli nového. Nehledě na to, že Windows mají řádově větší komunitu.
Tenhle prispevem me celkem mile prekvapil:), ja uz myslel, ze jsou tu jenom typicti linux BFU - "halo-linux fanatici", co nejsou schopni samotneho uvazovani, natoz existence a jejich odpurci:)
Hmmm, takze pokud tady zacnu psat veci typu "Windows rulez" a tvarit se pritom desne objektivne :) a vest ucene disputace o tom, ze "ten Lunix stejne nainstaluje malokdo", razem budu objektivni, normalni a skvely.
Ve chvili, kdy napisu, ze napr. i ve svem okoli vidim, ze prece jen zajem o alternativy k Windows stoupa, protoze ty alternativy uz maji co nabidnout i beznym uzivatelum a ze totez je videt i u meho zamestnavatele, budu razem "halo-linux-fanatik" co neni schopen samostatneho uvazovani.
To je bezva !
:-)
Tak už to u některých lidí chodí. Pokud zastáváte jejich názor, jste "objektivní". Pokud zastáváte jiný názor, jste kacíř, fanatik, lhář, apod. Klasický "ad hominem".
A) Nekompetentni idioti, kteri nejenom ze neumi na urovni ovladat *zadny* operacni system, ale jeste k tomu se oznacuji za profesionaly a to jen proto, ze klikaji pro nejakou firmu X let.
B) lide, kteri pracuji s GNU/Linux 10 a vice let a presto neumi nic, jsou BFU.
C) uzivatele GNU/Linux se zkusenostmi 2/3 roky a uz ziskali administratorske znalosti, ponoruji se nyni do programatorske casti systemu...
No.. Windows je samozřejmě koncepčně špatný systém a že jeho určení na hry mělo zůstat... (No možná se to trošku zlepšilo). Ale když už po něm šáhly firmy, tak už se holt nedá nic dělat. Kdyby jeli na unixu, tak tohle řešit nemusej. Všimněte si, že z jiných unixů se na linux vesele přecházelo. A z win se nepřechází jednoduše proto, že je nekompatibilní a myslí si, že je sám standartem.
Jestli ony se ty Windows neprosadily díky jednoduché správě (kvalitní GUI pro administraci, roaming profiles, group policy, Active Directory), existenci hromady kvalitně lokalizovaných verzí, snadnému vývoji a dobré dokumentaci, na to navazující vysoké dostupnosti aplikací...
Pro běžného firemního uživatele je výhodou Linuxu nízká cena, a pak už nic. Mezi nevýhody patří obtížná správa, obtížný vývoj, roztříštěná platforma, a hlavně nedostupnost aplikací. Samozřejmě čtenáři root.cz to nedojde, protože na svém poči edituje konfiguráky, přehrává MP3, čte root.cz a poštu, a tím to končí. Ředitel základní školy ale potřebuje SW pro sestavování rozvrhů, evidenci klasifikace žáků a tisk vysvědčení. Majitel restaurace potřebuje SW pro její management, kde bude mít sklad (včetně podpory bourání prasat), kuchyni, restauraci. Majitel hotelu potřebuje jiný SW, a majitel tetovacího salónu ještě jiný. Jsou tu samozřejmě i skladatelé, manageři projektů, účetní, a řada dalších profesí. Co jim na Linuxu nabídnete? Ať se naučí C/C++, a jdou si aplikace napsat sami?
Ja bych jim nabidl ze jiz nastal cas prevest jejich zastarale praseci pseudoaplikace do platforme nezavisleho kvalitniho kodu v Java, Python, PHP, Perl apod. Je to investice, ktera se kazde firme vyplati, protoze pro ni pote nebude problem pristupovat k firemnimu SW odkudkoliv (z BSD, UNIXu, Linuxu, Solarisu, Windows 98, 2000, XP, Vi$ta, etc.). C/C++ se k tomu nehodi, Java je pro takove multiplatformni databazove aplikace idealni a pokud se nejedna o komplexni SW, ale jen frontend k DB, pak staci i PHP.
Takže ve výsledku firma zaplatí za vývoj aplikací, které už jednou kupovala. Výhody nově napsaných (nezavislý kvalitní kód v Java apod.) pravděpodobně nepotřebuje, když se po tom dosud nesháněla. Namísto za Windows peníze vyhodí za vývoj. A řekl bych, že ten vývoj bude podstatně dražší než OEM Wokna na 10 počítačů. A to se vyplatí!
Jak Linuxu fandím, tak LO má názory poměrně konzistentní a v oblastech, kde jsem odborně doma, mu velmi často musím dát za pravdu. Stejně tak teď. Mít firemní infrastrukturu na Win z hlediska TCO velmi často levnější než mít jí na Lin. Ideál, kde opensource pomáhá, ale zároveň uživatele příliš neobtěžuje, je z vlastní zkušenosti Win XP Pro stanice + OOo + Linux+Samba na serveru.
1) Zkuste odhadnout, kolik člověko-let by bylo třeba k přepsání všech aplikací, které zákazníci dnes používají. Znám zákazníky, kteří mají ještě kód v COBOLu, DBase IV, hromadu aplikací pro DOS apod. Za jak dlouho zmigrujete ty desítky let historie, a kolik to bude stát?
2) Java je pomalá, a nativnímu prostředí ve spoustě věcí prostě nemůže konkurovat. Například pokud chcete SW pro time tracking (zapisování aktivit, používají právníci, překladatelé a další), ten dnešní se typicky ovládá přes ikonu na systrayi. Některé platformy nemají ani systray.
3) Webový interface vůbec nezmiňujte. Ten je pouze nouzovým řešením, a pro většinu aplikací je zcela nevhodný. Typickými problémy jsou omezená práce s lokálními daty/aplikacemi, absence ovládání z klávesnice, problémy pokud je třeba na jednu akci změnit v dialogu více prvků, absence drag&drop atd. U klasické aplikace není problém třeba připojit čtečku čárových kódů, tiskárnu čárových kódů, scanner, vypálit CD/DVD. Webové ani Java aplikace tyto věci neumožní.
4) Uživatelé na každé platformě očekávají odlišné chování SW. Na Macu očekávají, že aplikace bude "obohacovat" jedno horní menu, a očekávají v něm nějaké pořadí prvků. Na Windows očekávají, že aplikace bude mít menu ve svém okně, a pořadí prvků bude jiné. Na Macu očekávají, že když přetáhnete disketu na koš, tak provedete eject. Na Windows při stejné akci očekáváte, že disketu smažete. Na Linuxu nejspíš neočekáváte nic, protože styl ovládání aplikací je pokaždý jiný (Qt/GTK/Motif, či vlastní interface jako u Openoffice).
Ano. A protoze vsichni maji spoustu starych aplikaci, nema vubec smysl ani uvazovat o jakekoliv zmene platformy a Microsoft ma vystarano na vecne casy a nikdy jinak :-)
Idealni by bylo lidi ochranit pred jimi samymi a primo uzakonit povinnost pouzivani Microsoftich platforem pod hrozbou trestu konfiskace majetku a v krajnim pripade i smrti.
Navic vypalovat CD z Javy lze, webovy interface je vhodny pro mnoho ruznych ucelu (evidence zbozi, bankovnictvi, eshopy, monitoring, rozvrhy hodin, zapisky z meetingu ci jine poznamky - diar, kalendare, tvorba a tisk faktur) i ten drag&drop lze snadno s trochou EcmaScriptu napsat (uz jsem to delal). Kdyz se chce, vsechno jde a cim drive budou firmy mit svuj software multiplatformni, tim drive budou nezavisle a tim vice financi usetri.
Z Javy lze vypalovat CD? Pak to ovšem bude platform-specific.
Webový interface je vždy slabý. Jak chcete třeba evidovat zboží, když přes webový interface nejste schopen číst čárové kódy, natož je tisknout (o RFID nemluvě)? Samozřejmě webové věci (typu eshopy) dnes HTML používají. A nepřijde vám, že jsou dnešní webové shopy příšerné? Zkuste si napsat shop jako Windows aplikaci, a pak to zkuste v HTML. Uvidíte, že apikace bude umět mnohem více, a bude se výrazně lépe ovládat. Jediným problémem je fakt, že není použitelná přes web (což řeší .NET Framework, kde lze spuštět restricted aplikace přes net).
Jak firmy ušetří tím, že budou mít multiplatformní SW? Vývoj muliplatformního SW je obecně dražší, než vývoj pro Windows, nemluvě o podpoře. Namísto údržby a rozvoje stávajících projektů říkáte "napište to znovu", což znamená ohromné náklady. Ušetříte kus ceny Windows (něco dáte za podporu jiné platformy), ovšem jen náklady na vývoj se vyšplhají o řád výše. Měl byste být ekonomem, svět by s vámi užil srandu ;)
Jak chcete třeba evidovat zboží, když přes webový interface nejste schopen číst čárové kódy, natož je tisknout (o RFID nemluvě)?
Není nijak složité napsat řídící program čtečky, který bude umět poslat HTTP GET. Pak bude stačit mít v tom webovém interfacu nějaké tlačítko "vybrat zboží podle čárových kódů", na něj kliknout, načíst všechny čárové kódy, kliknout "Pokračovat" a server mi nabídne co všechno s vybraným zbožím můžu dělat.
Jinými slovy doporučujete vyjma webového interfacu použít ještě nativní aplikaci, které bude číst bar cody, a cpát je na server. Fakt krása. Ve formě ActiveX komponenty by to nebyla až taková sebevražda, ale přesto by to bylo velmi nepohodlné.
Abych vás pobavil, zkuste si představit třeba pokladnu na benzínové pumpě jako webovou aplikaci (čtení čárových kódů, dotazy do DB, klientský interface ovládaný touch-screenem, ovládání pokladny, integrace s nástroji pro autorizaci platebních karet). Viděl jsem pokladní systém napsaný v MS Accessu (i se Sponkou), a fungoval v pohodě. Jako webová aplikace je to ovšem příšernost.
Jsem ochoten připustit, že webová aplikace může být řešení v nouzi, když je z nějakého důvodu velmi nevýhodné instalovat klientskou aplikaci, s aplikací se pracuje jen zřídka, a prováděné operace jsou primitivní. Viz třeba web maily. Ovšem nativní aplikace je uživatelsky o řád lepší.
Mezi čistě nativní server-klient aplikací a webovou aplikací je dost propastný rozdíl:
Pro používání čistě nativní aplikace potřebujete klientský program. Pokud ho nemáte, můžete tak akorát jít hrát Solitaire.
Pro základní používání webové aplikace vám stačí libovolný webový prohlížeč. Pokud pro pár vybranných činností potřebujete i klientskou aplikaci (například ono čtení čárových kódů nebo RFID), bude mít pár set řádků kódu a integrace do systému bude triviální. Pokud navíc občas potřebujete u klienta provádět složité výpočty nebo chcete lepší odezvu než jakou nabízí prosté webové stránky, velmi snadno si napíšete jedoduchou klikací aplikaci, která schová původní webové rozhraní. Při tom ale nic z jeho výhod nezahodí.
Webove technologie z definice nejsou vhodne pro provozovani aplikaci :) To co je ted vsude videt je jenom zhouze ctnost a vsemozne (velmi nesystemove) hacky.
V nekterych pripadech (e-shop, mailklient, wiki) to staci a vyhody bohate presahuji nevyhody (bezstavovost, zabezpeceni, staticke dokumenty, historie, ovladani mysi, minimalni moznosti formularu, pomalost javascriptu ...). Delat pro web pokrocilejsi aplikace resp. jejich webova rozhrani je celkem utrpeni, zejmena pokud maji byt pouzitelne v sirokem spektru prohlizecu (a validní XHTML to opravdu nezachrání).
Vypalovani CD z javy je platform specific, proto se v kodu pouziji rutiny, ktere zjisti jake rozhranni je pritomno a dle toho se take pouzije - to je standardni postup i v jinych jazycich, napriklad v C/C++. Resi se to abstraktni knihovnou.
Cteni carovych kodu lze provadet u webovych aplikaci pres stroj klienta stejne jako by aplikace webova nebyla, s tim rozdilem, ze se data rovnou ulozi do centralni databaze napr. Oracle.
Tisk carovych kodu je primitivni zalezitost, kterou umi stahnout pod BSD licenci i prumerne nadana uklizecka :-D a bude to web aplikace.
Eshop jako win32 aplikace je nesmysl, o tom muze uvazovat jen loser jako vy. Pokud by to bylo pouzitelne, pak by se takove eshopy uzivaly uz roky a na vsech serverech by kralovaly widle. .NET framework nic neresi, je to dalsi nemultiplatformni brak, ktery stejne za par let bude nahrazen jazykem #F a programy v nem napsane budou na dve veci.
Firmy usetri uzivanim multiplatformniho SW nehoraznou castku, protoze at uz pracuji s widlemi, hrabemi, nebo lopatami, pokud maji Sun JAVA VM, jejich aplikace budou funkcni a to na 100% bez nutnosti provest zasah do kodu. Zatimco brak psany pro widle prestane fungovat ihned pote, co spolecnost prejne na UNIX / LINUX / SOLARIS / AIX / HP-UX ci cokoli jineho a ze tech spolecnosti prechazi v prumeru kazdych 5 let na jiny OS mnoho je realita.
Pokud byste se v IT alespon trochu vyznal, vedel byste ze je potreba myslet predevsim na budoucnost a proto je nezbytne nutne mit klicove firemni aplikace platformne nezavisle a ta investice se vzdy vyplati, jak je uvedeno vyse, odpada riziko nefunkcnosti ci nekompatibility s jinym systemem.
O usetreni ceny za widle se tu nikdo krome vas nebavi, my profesionalove totiz vime, kolik komercni support RedHatu stoji :-P
PS: Na zive.cz bez sam, tam ostatne tupi ignoranti a jini managori patri.
Take jsem se pobavil napr. nad temi carovymi kody :-))
Dal myslim nema smysl s nim vest polemiku - jednostranna orientace, neschopnost vnimat cokoliv jineho nez to co do nej nahustili na vsech tech produktovych skolenich, mozna osobni zajem na prosperite Microsoftu (to bych jeste dokazal pochopit, pokud to ale dela jen z ciste lasky, pak je k smichu).
Pro mě je k smíchu, pokud hromada lidí zaplatí "z lásky" celostránkový inzerát propagující FireFox, nebo když někdo bez nárouk na odměnu "překládá" (čtěte veřejně preentuje svoji neznalost jazyka) SW či knihy bez nároku na odměnu. Každý máme jiná měřítka.
Pre vas je asi na smiech akakolvek dobrovolna nezistna aktivita vratane ochrany prirody (zadarmo), charity (vrazat do niekoho peniaze? to je ubohe) a roznych inych neziskovych aktivit.
Mozno to vas marketingovy mozog nebude schopny vstrebat ale mnoho ludi robi na svete veci ZADARMO, lebo su motivovani aj niecim inym ako osobnym PROSPECHOM (napr. prospechom ostatnych, ktori koniec-koncov prospeje im samym).
jinými slovy z Javy nevypálíte vůbec nic bez nativního, platformně závislého interface.
Čtení čárových kódů nakonec chcete provádět v nějaké nativní aplikaci, která bude komunikovat rovnou se serverem. To je fakt roztomilé. Když už chcete nepoužitelný web interface, zkuste si napsat ActiveX komponentu, která provede, co je třeba. Ale zapomněl jsem - v alternativních browserech nemáte nic typu ActiveX.
Tisk čárových kódu ve skladu neprobíhá na list A4 papíru z webové stránky (dost naivní představa :) ), ale na profi tiskárnu čárových kódů, která tiskne na štítky. Rád si někdy nechím předvést, jak expert vašeho kalibru píše takovou věc pro webový interface. Jistě bych se velmi pobavil.
Kdybyste nebyl úplný idiot, tak byste jistě pochopil, že jsem srovnával interface Windows aplikace s aplikací webovou. zákazník si nebude instalovat Windows aplikaci, aby mohl nakupovat v shopu (i když některé firmy mají Windows aplikace pro komunikaci s bankou, protože jim webový interface nestačí). .NET Framework řeší hodně, je multiplatformní (to fakt nevíte? přečtěte si specifikaci), a není závislý na jednom jazyku (C#, VB.NET, C++/CLI, J#, netCOBOL, Lahey/Fujitsu Fortran for .NET, Haskell.net, ilasm, JScript .NET, DotLisp, Delphi.NET, Prolog.NET, IronPython, #Smalltalk a řada dalších). Doplňte si znalosti, ať ze sebe neděláte trotla veřejně.
Firmy potřebují funkční SW, a potřebují ho pro platformu, která je pro ně strategická. Java je velmi špatná platforma, a bitvu o desktop prohrála před mnoha lety (nepamatujete si?).
Na rozdíl od vás se v IT vyznám (když jsme u toho, styl diskuze s osobními výpady jste si vybral sám). Zajímalo by mě, proč třeba MS SQL Server (RDBMS je pro firmy strategická aplikace, na tom se snad shodneme), který je jen pro Windows, roste nejrychleji, a má třetí nejvyšší zastoupení na trhu (první na platformě Windows). Počítáno v tržbách, což při násobných cenách Oracle může znamenat převahu instalací MS SQL Serveru. Proč Fortune 500 společnosti volily svého času unixy, a dnes mají hromady Windows systémů? Proč společnosti typu Citi, Energizer, PriceWaterhouseCoopers, Austrian Broadcast Corporation (ORF) a další nasazují servery na Windows, DB na MS SQL Server, a píší v .NETu? Možná umí lépe, než vy, počítat peníze a řídit rizika.
Společnosti typu Citi, Energizer, PriceWaterhouseCoopers, Austrian Broadcast Corporation experimentovaly s Windows a .NET ale ve většině případů se nakonec rozhodly je nenasazovat. Ale o tom už reklamní příručky MS nic napíšou, že ?
Citi, Energizer, PriceWaterhouseCoopers a Austrian Broadcast Corporation jsou případové studie MS. Jestli máte nějakou představu, jak se případové studie dělají, tak byste mohl vědět, že pokud by projekt nebyl uzavřen, produkt nasazen a zákazník spokojen, k zařazení na list případových studií by nemohlo dojít. Vyjma toho mám samozřejmě vlastní zkušenost, protože se v různých firmách občas pohybuji. Nemusíte mi říkat, že existují i firmy, které jedou většinu serverů na unixech - znám takových dost.
Ty si fakt trotl. Kdyby to nebyl MS, tak by to byl treba Apple, nebo Unix ... co by se jako zmenilo. Byl by tu na jedne strane rozsireny majoritni komercni OS a na druhe strane nekomercni roztristeny paskvil v tisicich a jednom podobenstvi, nazvany klidne MM! A co by se jako menilo? Vedly by se tu stejne stupidni debaty, akorat s jinyma nazvama firem:) Prirovnavat OS k autum, to byl taky prispevek jak cyp:o) OS je jen zavadec programu, z toho vyplyva, ze mi jde jen o to, aby korektne zavedl vsechny (v tomto pripade drtivou vetsinu), nepotrebuju jich, desitky, stovky, ani tisice, STACI MI JEDEN (a to je asi tak maximum pro splneni predchozich pozadavku!). Pokud ma nekdo OS na to, aby resil jeho ustavicne problemy, kompiloval kraviny, shanel info na forech jak co zprovoznit, tak to je proste dnesni novodoba onanisticka troska, stavejici se jeste nize nez klasicky BFU...beznemu cloveku totiz jde hlavne a predevsim o to, aby pocitac pouzival k provozovani PROGRAMU - A NE OS!!!
Jen tak pro info, eject diskety na sw pokyn umelo 99% 3,5 mechanik, stacilo si na to napsat/stahnou aplikaci velikosti nekolika kB a widle nasledne mohly pekne vystrelovat diskety. A pokud vim, disketu normalne hodit do kose nejde, jdou tam hodit soubory/adresare.
Ty aplikace se uplne stejne musi prepsat pro nove widle, a to tak, ze casto uplne. Pokud je aplikace napsana alespon trochu "normalne", tak jeji prevod na tuxe vyzaduje +- stejne mnoztvi prace.
Java je uplne stejne pomala jako .NET, ale s tim rozdilem, ze java pobezi na mnohem vice platformach + jeste se mi nestalo, ze by java aplikace pro verzi 3 nefungovala ve verzi 4, coz je u M$ bezny stav, o to uzasnejsi, ze napr na IIS po doinstalaci .NET2 prepise automaticky a bez dotazu veskery nastaveni IIS na NET2. Mam tu par uzasnych NET aplikaci a jejich tvurci by zaslouzili viset hledne vedle Billa. Pravda, namastit v Netu cokoli umi kazdy, kdo vi jak funguje if, takze vyvoj je "levny".
Webove aplikace to samozrejme umozni, staci pouzit spravne technologie. Kazda normalni ctecka caroveho kodu se totiz chova jako klavesnice a carovy kod neni nic jineho nez zakodovany string. D&D pouzivaji tak maximalne zoufalci, nevidel sem jedineho pracujiciho(napr ucetni, prodavacka, ... vsichni samozrejme pracuji s IS, ktery to umoznuje, ale vsichni pracuji temer vyhradne na klavesnici, protoze prace s mysi je pomala) cloveka, ktery by si nekde neco pretahoval. Navic to samozrejme funguje, nemam problem vzit odkaz/objekt z prohlizece a pretahnout ho jinam.
Proč byste přepisoval aplikace pro nové verze Windows? Samozřejmě antiviry, nátroje pro defragmentaci apod. mohou potřebovat výrazné změny, ale proč byste chtěl přepisovat účto, vypalování DVD apod.? Nejvýše něco málo upravíte (třeba ve Win32 aplikaci přidáte podporu vizuálního stylu Visty). Portování aplikace na Linux naopak typicky znamená přepsat jí komplet od začátku. Mění se často i jazyk (pro Linux to nebude Delphi, Visual Basic ani nic podobného - budete přepisovat), máte odlišný GUI framework, jiné DB libraries atd.
Super, půjdeme se podívatna GUI. Kolik účetních a prodavaček jste viděl pracoval na webovém interfacu? Jak webový interface tisknul na pokladně účtenky, a jak četl ty čárové kódy? Jak webové aplikace ovládáte z klávesnice? Jak říkám - pokud lze použít cokoliv jiného, zapomeňte na HTML-based interface.
Opet LO (RH?) demagoguje. V novych verzich Windows prestava fungovat to, co fungovalo ve starych. Nejen kvuli 32 vs. 64 bitu, nejen kvuli uplne jinym driverum a nejen kvuli uplne jinemu kernelu. O programovani samozrejme managori nic nevedi, ostatne jak by mohli tusit, ze program psany pro Delphi lze vzit a v GNU/Linux pomoci FPC + Lazarus IDE s minimalnimi upravami zkompilovat? A ze je tu GNU Pascal to take nevedi, nemluve o POSIXu, kteri je velice dulezity a stale jej Toy OS nedodrzuje. Co se tyce Visual Basicu, to je interpretovany, platforme zavisly jazyk pro deti, umeji ho uz 16-ti letech na SS.
O tisk na pokladni uctenky se samozrejme zadny webovy interface nestara, nicmene o tisk na standardni A4 papir ano. Cteni carovych kodu jsem jiz vysvetlil, opet pouzitelne pro eshopy, zatimco nepouzitelne pro pokladni uctenky. Ovladani webovych aplikaci pomoci klavesnice je naprosto bezna rutina, tezko to budu vysvetlovat nekomu, kdo o takove informace stejne nestoji, nicmene rad bych upozornil na to, ze JAVA program klidne pobezi i ve fullscreenu a muze to byt 3D hra a zaroven kazdy kdo se o IT zajima vi, ze treba takovy Sun Solaris jiz pri instalaci spusti JAVA-VM a zbytek vcetne instalatoru je z velke casti JAVA.
Zvolit vhodny jazyk pro specificky ukon je samozrejmosti, opovrhovat konkretnim jazykem, protoze nemate dostatecne znalosti k ziskavani benefitu je vase slabina, vy budete trpet. Viz CGI psane v C a jejich deravost, vyplyvajici ze striktnich datovych typu, staci kdyz nekdo zapomnel na null byte ve svem znakovem poli, urcil mu tedy o 1 byte chybnou velikost a buffer overflow byl na svete a s nim i obrovsky prusvih, kdyz byl proveden deface banky... Za to mohou lide jako vy, kteri pro C nevidi more.
PS: C bylo naprogramovano pro tvorbu Unixu, ktery tak nesnasite. JAVA byla naprogramovana v Unixu, UTF-8 vynalezl autor C Dennis Ritchie, PHP naprogramovano v C pro *nix, vetsina TCP/IP protokolu rovnez pro *NIX - zejmena BSD a to nemluve o X serveru - tedy grafickemu rozhranni vynalezenem v Xeroxu pro *NIX. Clovek ktery o tom nema ani potuchy je omezenec a nemel by se starat o nic jineho, nez o svou oblast pusobnosti - je-li to prodej widli, FUD, intellectual property, DRM, TPM, HD-DVD fuzzing apod. klicove soucasti widli, pak doporucuji chodit kanalama a davat pozor na dlazebni kostky smerujici stejnym smerem ze stale pocetnejsiho davu.
U utf-8 jsem mel na mysli osobu jmenujici se Ken Thompson, tedy spoluautora revolucniho *nix-oveho OS plan9, ktery mj. prinasi moznost ovladat vetsinu zarizeni pomoci human-readable prikazu, tim jdou ven ze hry proprietarni API, Ken na videu ukazuje jak snadno muze fotit pres digitalni kameru pripojenou do USB ze sveho Plan9 boxu a vylepseni je mnohem vice, Plan9 byl napriklad pouzit jako zaklad Inferno OS, coz je operacni system uzivany pro tvorbu distribuovanych gridu pro vypocetne narocne operace, o kterych by se Toy OS ani nesnilo...
Revoluční Plan 9 byl experiment, který zpadal prachem, a pes po něm neštěkl. Interno je jiný zajímavý experiment. Otázkou je, co takové experimenty přinesou pro praxi.
Microsoft má experiment jménem Singularity, což je OS napsaný v C#. Díky běhu procesů v kernel mode a jejich oddělení přes invarianty (třeba memory invariant) má systém velmi zajímavý výkon, i když je psaný v managed jazyce. Tento projekt má některé prvky Plan 9 i Inferna. Rozdílem je to, že zřejmě jeho pokračovatel bude za pár let na každém desktopu. Operační systém psaný v managed jazyce, díky čemuž bude možné řádově zvýšit spolehlivost i bezpečnost, provést model checking kernelu, psát drivery v managed jazycích atd. Už dnes Windows přecházejí na .NET jako primární API (zjevně výhled na příští fázi); s kernelem psaným v C# bude celý stroj .NET runtimem (s podporou klasických procesů a Win32, z důvodu zpětné kompatibility). Linux možná v to době nabídne Gnome s novými ikonkami, a pár vylepšení GNU C compileru ;)
Zase pises kraviny, revolucni Plan9 je ten operacni system, ze ktereho se jeste minimalne 10 let budou portovat dalsi skvele myslenky do vsech ostatnich operacnich systemu. Nejedna se pouze o sharing system, nebo TCP/IP stack, ani o dalsi casti, ktere jiz dnes portovany do vetsiny systemu z Plan9 byly.
Kazdy novy pokus o specialni technologii je zpravidla implementovan nejprve do Plan9, jako napriklad mnou vyse uvedene ovladani hardware pomoci human readable prikazu. Namountuju si digitalni kameru z usb do /mnt/camera, napisi kratkou serii prikazu, zakoncim ji "snapshot" a kamera sejme snimek. To je jedna z prinejmensim 1000 experimentalnich features, ktera zarucene bude behem nasledujicich 5-ti let v kazdem *NIX-ovem OS, protoze proprietarni drivery jsou zlo a GNU/Linux je smete pomoci _teto_ technologie, pamatuj si "device control by human readable commands".
Uz nyni lze napsat tiskarne v Plan9 pomoci teto technologie aby vytiskla cokoliv a jakkoliv, vysledek je, ze kterykoli programovaci jazyk vcetne primitivnich skriptu ma plny pristup k HW pres svobodne a plne standardizovane rozhranni.
OS napsany v C# je pomaly a proprietarni $hit, ktery je v praxi uplne k nicemu a pouze negramot a tulpas jako treba ty jej chce. Kdyz si prehravam video v kvalitnim operacnim systemu, staci mi k tomu okolo 500MHz a VGA s podporou 2d akcelerace. V $hitu napsanem v C# bude potreba okolo 5GHz a VGA s podporou DRM + LCD s podporou DRM. V tomto pripade si za DRM dosad sifrovani pres TPM, cili je potreba i mainboard s TPM a navic jako bonus i reproduktory budou muset podporovat sifrovany digitalni prenos ze zvukovky + zvukovka take. Pouze retardovany blb si takovy hardware nakoupi, je to jako bych si koupil dobrovolne vezeni, uz pred vice nez 5-ti lety jsem si cetl o tom, ze M$ toto pripravuje, nyni je ve Vi$ta shitu Ultimate edition TPM uzivano zatim pouze pro uzivatelem volitelne sifrovani disku, jenze vim ze v M$ C# bastlu si bez TPM a hardwaru s podporou snizovani kvality zvuku, obrazu a podporou sifrovaneho digitalniho prenosu widle nikdo ani nenabootuje a pokud ano, tak pouze do omezeneho rezimu.
Kde kecám kraviny? Dejte si šálek čaje, omyjte ruce teplou vodou, a chovejte se slušně. Plan9 byl experiment, a nikdy se výrazněji nerozšířil. Samozřejmě některé koncepty byly a jsou zajímavé.
Když se podíváte na PowerShell, uvidíte možnost hrabat se v .NET objektech z command line. Není problém vytvořit objekt okna, nebo přehrát zvuk.
GNU/Linux nesmete nikoho a nic, pokud do jeho technologie někdo neinvestuje pár miliard dolarů. To bez slušné šance na návratnost neudělá nikdo. Ty nesmysly o "svobodném rozhraní" jsou úsměvné ;).
OS napsaný v C# je velmi rychlý (srovnatelný s dnešními systémy), ale vy bohužel nejste schopen pochopit důvod. Ještě jednou: když běží vše v kernel mode, a procesy jsou odděleny pouze přes invarianty, je režie context switche řádově nižší. To kompenzuje fakt, že se jedná o managed jazyk. Někteří pochopí, jiní mají smůlu. Ty nesmysly o DRM a TPM jsou úplně mimo - s popsanou technologií nemají nic společného. DRM bylo, je a bude pouze volitelná technologie. Vy zřejmě zastáváte ty komunistické ideje, které tvrdí, že autor na své dílo vlastně nemá nárok. Je to omyl - pokud autor chce, abyste jeho dílo mohl přehrávat pouze na jednom zařízení (a třeba pouze týden po nákupu), je to jeho právo (protože je to jeho dílo, které vám pouze s nějakými podmínkami zapůjčuje). Vám se to nemusí líbit, a dílo tedy nemusíte užívat. Kupodivu tihle komouši vždy bojují za dodržování GPL licence, což je v kontextu celkem srandovní.
koukam na singularity a jeste asi chvili koukat budu. ten napad vypada opravdu zajimave.
totiz, sam jsem premyslel nad tim, co bych ted na miste ms delal. nevyplaci se jim vyvoj os a zacina byt pro ne cim dal vic problemovy. no, a prisel na reseni, ze by se dal do windows jednoduse pouzit treba bsd kernel, do ktereho by se udelal interface na wine (kterym by se spoustely .exe soubory) a upravy kvuli directx. ms by nalil trochu penez do vyvoje wine (pripadne koupil firmu, co wine programuje), dal by jim dokumentaci a tim by zajistil zpetnou kompatibilitu. z wine by se udelal closed source (coz afaik lze zaridit). zbytek os by v pohode mohl behat na .net (neni duvod to neudelat, vetsina aplikaci vykon stroje stejne nevyuziva).
btw, zajimava je tez architektura googlovskeho androidu. tam (sice v userspace, ale presto) beha halda googlich ekvivalentu jvm (ktere oss komunita prijima s nadsenim :-)
S dovolením kernel Windows je o dost koncepčně novější a kvalitnější, než kernel unixů. Byl by to krok zpátky.
Singularity je kernel napsaný v .NETu.
Na Android si počkám. Nemyslím, že by Google uměl napsat systém pro mobily - ono to není jednoduché, a je to od jejich současného businessu dost daleko.
Ale blbost. V novch verzích převážně Windows funguje to, co ve starých. 64-bitové Windows mají špičkovou zpětnou kompatibilitu (pochopitelně ne drivery a kernelové moduly). Stejně tak 32-bitové Windows běžely 16-bit aplikace. Odlišnosti kernelu jsou důležité pro kernelové moduly a drivery, nikoliv pro user mode aplikace. Win32 aplikace přistupují ke kernelu přes Win32 API, která je od změn kernelu odstiňuje (jinými slovy: přestaňte blouznit). Program psaný v Delphi jistě lze převést, ale zkuste to s aplikací složitější, než Hello World.
POSIX je de facto jediná společná specifikace všech unixových systémů. Bohužel nedefinuje API pro takové ty méně důležité věci typu administrace systému (seznam běžících procesů, přidání lokálního uživatele, změna IP adresy), pro grafiku ani multimédia. Zato popisuje předpotopní terminálový systém (fuj) a hromady utilit (jejichž syntaxe se Linux stejně striktně nedrží).
Chvíli jste přemýšlel, co máte na mysli tím Toy OS. Pokud jsou to Windows, tak vězte, že se POSIX API se dodávalo standardně až do NT4. NT byly POSIX compliant, POSIX byl jedním ze subsystémů (Win32, OS/2 compatibility, Virtual DOS Machine (16-bit), POSIX) - modulární technologie, o jaké se unixům nesnilo. POSIX na NT ale nikdo nepoužíval (co s takovým pravěkým API). Dnes jsou k dispozici Services for Unix, které jsou rovněž POSIX compliant. Na rozdíl od Linuxu, který POSIX compliant není.
O tisk na standardní A4 se postará webový interface? To ano, ale jak? Nehledě na to, že tisk čárových kódů (ne, to nejsou účtenky) je o něčem jiném. Jak běžně ovládáte webové aplikace pomocí klávesnice? Tab a shift+tab? To je ovládání jak noha :). Ano, v Javě může běžet spousta věcí, a na unixech je Java jistě skevělou věcí. Nicméně svými možnostmi .NETu nesahá po kotníky. Důvod je snad zřejmý. Jednak Sun nemá dost prostředků, a potom vsadil na to, že z Javy udělá platformu, která je nejmenším společeným násobkem hostitelských platforem. Ve chvíli, kdy soudruzi v Sunu nafukovali marketingovou bublinu o tom, jak Java změní IT, a vyráběli JavaStations, neuměla Java ani tisknout, a jediné funkční IDE vyráběl ten ošklivý Microsoft.
Za problémy žádné banky nemůžu. Kdybych za ně mohl, dozvěděl bych se to výrazně dříve, než vy ;)
Ano, máte pravdu s C. Java byla napsána původně pro tvorbu firmware embedded zařízení (kde propadla). Poté se přestěhovala na JavaStations, kde propadla. Byly pokusy o Javu na desktopu, které naprosto propadly (viz Corel Office for Java). Java propadla i na inetu, a posledním útočištěm jsou aplikační servery. Na čem konkrétně Javu (tehdy pro embedded systémy) psali, to fakt netuším. UTF-8, tu unixovou berličku pro implementaci Unicode, má na svědomí Dave Prosser, Ken Thompson a Rob Pike (nikoliv Dennis Ritchie). PHP (ten zmatlaný jazyk psaný amatéry pro amatéry) bylo asi napsáno v C pro Unix, a není se čím chlubit. TCP/IP bylo původně implementováno pro unixy, souhlas. X11 je původně projekt MIT, DEC a IBM (vychází z W, projektu Stanford University). Xerox neměl s X nic společného (nejvýše tak s OPEN LOOK).
Netvrdil bych, že když uděláte pár bot (typu té s UTF-8, nebo s X serverem), tak jste nutně omezenec. Je dobré znát historii IT, což ovšem zjevně není váš případ. Unixům patří v historii IT čestné místo. Vždyť i MS měl vlastní unix (kterého se včas zbavil, a nahradil ho NT).
Když jsme u FUD, nevěřil byste, co dovedli předvádět zástupci firem typu DEC, aby zabránili nasazení PC serverů. Vaše názory k DRM (krást může kdo chce co chce, autor ať jde žrát trávu, na své dílo nemá nárok), intelektuálnímu vlastnictví (kniha či program patří automaticky i vám, autor nemá nárok do toho kecat) jsou jistě politováníhodné, ale těžko od vás čekat něco jiného.
Nemyslím si, že by zlodějů bylo čím dál více. Nakonec i ta vaše open sekta žaluje toho, kdo porušuje GPL licenci - vynucuje svá práva k intelektuálnímu vlastnictví. To jenom vám dnes připadá výhodné intelektuální vlastnictví popírat, protože ho máte málo. Ovšem když soused má auto, a já nemám auto, nebudu přece prosazovat zrušení soukromého vlastnictví, že.
Jo, špičková zpětná kompatibilita?
Tak víte co, pojďte k nám do práce a každému uživateli, kterému něco pod Win Vista nefunguje, vysvětlete, že ten systém má špičkovou zpětnou kompatibilitu a že to že něco nefunguje, je vlastně jen náhodná porucha (dtto. pro MS Office a spol.).
Dámy vám možná uvaří kávičku nebo čaj, pánové... vám pravděpodobně rozbijí chrup (takže bych doporučil předem se objednat ke stomatologovi).
A co se x64 verze Windows týče - její neschopnost pracovat s 16-ti bitovými programy už začíná být proslavená. Teď samozřejmě očekávám demagogický blábol na téma "16 bitů - to někdo používá?" - budete se divit, ale ano.
Vynechání Win16 subsystému z x64 Windows je ze strany MS dílem ryzí schválnost a dílem ryzí lenost, protože po technické stránce provozu této vrstvy pod x64 OS nebrání nic.
Spousta vědeckých programů má dodnes k pramalé radosti jak mojí, tak mých uživatelů 16-ti bitové komponenty (a to nemluvím o spoustě jinak perfektně chodivých Win32 programů s Win16 instalátory).
Můžete se jít hádat s jejich producenty za mne... já na to sílu nemám, je jich až příliš mnoho (a ano, zcela výjimečně se zastanu MS - jeho licence jsou ve srovnání s licencemi mnoha vědeckých programů téměř "free" záležitost).
Jinak pro dokreslení ryychlostí přechodu u specializovaného SW - teprve v prosinci 2006(!) vyšla verze jistého specializovaného programu, která byla plně 32 bitová a Windows XP SP2 kompatibilní, do té doby jsme mohli provozovat jen hybridní 16/32 verzi, která chodila maximálně pod 2kPro SP4 nebo XP SP1.
A to se bavíme o programu, jehož výrobce se alespoň netváří jako úplný mrtvý brouk a alespoň jednou za čas vydá aktualizovanou verzi - a takových programů máme zhruba tucet, jeden z nich dokonce pro svou činnost vyžaduje Windows 9x (pod NT řadou nepojede nejspíš nikdy).
Obecně aplikace v nové verzi Windows běží. Otázkou je, proč ta či ona konkrétní aplikace neběží. Budete se možná divit, ale typicky proto, že je špatně napsaná - spoléhá na nepopsané vlastnosti systému. Evergreenem je třeba vykrádání ikon ze systémových knihoven. Nová verze má jiné ikony, a v jiných knihovnách. Aplikace nenajde co hledá, a spadne. MS to řeší tak, že když podobnou věc při interním testování aplikací zjistí, nechá na původním místě starou ikonu, nebo tam nechá alespoň stub. Takových věcí jsou ale tisíce, a těžko to vyčítat autorům Windows. Doporučuji blog oldnewthing, autor o tom hodně píše ;)
Win16/DOS aplikace pod 64-bit Vistami nejdou. Samozřejmě by mohly jít, ale znamenalo by to přepsat Virtual DOS Machine (dnes se obdobně emuluje 32-bit systém). Vzhledem k tomu, že poslední 16-bit systém je starý 14 let, a zákazníci používající 16-bit aplikace pořád mohou používat 32-bit Vistu, považuji odstřelení 16-bit aplikací za rozumné. V budoucích verzích Windows se bude podobně odstřelovat Win32 (ve prospěch .NETu). Mimochodem 16-bit instalátory Vista řeší. Tedy ty běžné, které se podařilo identifikovat. Pokud jste si hybridní 16/32 bit setup napsal sám, máte tak trochu smůlu. Naštěstí pro autora aplikace není problém ji přebalit do nového setupu (při troše snahy to zvládnete i sám).
Ano, existují SW, které běží pouze ve Windows 9x. A to přesto, že byla funkčnost na Windows řady NT doporučována jako důležitý aspekt designu Win9x aplikací (a bylo to podmínkou pro udělení loga Designed for Windows 9x). Potom holt musíte kontaktovat autory ohledně nové verze jejich SW, jet staré Windows, případně zkusit režimy kompatibility (až s podivem s nimi rozchodíte dost věcí), nebo použít jinou aplikaci. V některých případech může být řešením použití virtualizace (MS Virtual PC je zdarma).
Báječný alibismus ve stylu: "Po léta jsme dlabali na jakoukoli integritu systému, dovolovali jsme, aby programy pro náš OS byly doslova prasácky napsané a teď, když nám ten binec přerostl přes hlavu, tak místo, abychom spravili co se dá, tak odřežeme postupně podporu všech starších programů, lidi jsou už tak pitomí, že se jim to nakonec bude ještě líbit."
Ovšem tím mizí jeden z hlavních argumentů pro platformu PC/Windows ... zpětná kompatibilita.
A virtuální počítač se starou verzí Windows se dá používat pod ledasčím ...
Mohu se zeptat, jak prasatům zabráníte psát SW pro vaši platformu? MS uvedl design guides, udělal certifikační program SW, a někteří lidé prostě dál psali jako prasata. Můžete dovolovat psát jen certifikovaný SW, ale touto cestou MS nikdy nechtěl jít. tohle totiž předváděli výrobci dřevních unixů, kteří si nechávali platit nekřesťanské částky za možnost vůbec psát pro jejich platformu, za dokumentaci, školení... MS naopak stavěl na podpoře vývojářů.
V novych verzich Windows prestava fungovat mnoho programu i her. 64bitove Windows maji velmi spatnou zpetnou kompatibilitu, existuje pro ne jen minimum driveru a bez noveho HW v nich nelze ve vetsine pripadech vubec pracovat, pro Vista to plati dvojnasob. Ve 32-bitovych Windows bezelo mene nez 50% 16-bitovych programu, dochazelo k chybam kvuli nedostatku konvencni pameti, nefunkcnosti EMS/XMS a nemozosti pouzit QEMM pro WinXP. 16-bitove programy pro DOS pracujici v grafickem rezimu nefungovaly v 75% vubec a pokud ano, interni casovac byl emulovan chybne a bezel bud prilis rychle, nebo prilis pomalu. Primy pristup k portum, graficke i zvukove karte Windows nehandluji korektne a tak nefunguje u vetsiny 16-bitovych programu zvuk, tisk, obraz, mys, klavesnice, nebo vubec nic.
Win32 aplikace přistupují ke kernelu přes Win32 API - to ano, ale stejne to neznamena, ze budou fungovat s x86_64 nebo IA64.
Program psaný v Delphi jistě lze převést, ale zkuste to s aplikací složitější, než Hello World.
Zkousel jsem to s aplikaci o vice nez 5 000 radku a fungovalo to po kratke uprave, ktera zabrala pouze okolo 3, maximalne 4 hodin a to jen proto, abych se zbavil zavislosti na proprietarnich unitech a mohl program zkompilovat jeste pro vice platforem, coz samozrejme Delphi neumi.
Windows stale obsahuji POSIX subsystem, jenze bez OpenSource projektu Cygwin nebo komercnich M$ Windows services for UNIX na jeho uzivani muzete zapomenout, protoze bez toho plne POSIX compilant nejsou, zatimco UNIX o kterem jsme se bavili plne POSIX compliant je. GNU/Linux neni, protoze obsahuje radu vylepseni, ktera misty velmi vyrazne presahuji POSIX, jiste vite ze portable operating system Linux je a je vam take jasne, ze bezi mj. na SPARCu, Power5, Power6, PS2 a dalsich platformach, kde si software od M$ nativne ani neskrtne. Staricke NT M$ dodaval pro platformy x86 a Alpha, proto sahl po POSIXu, ktery od te doby ve Windows udrzuje, pocita s tim, ze casem x86 architekturu zavrhne.
Virtual DOS machine je ve srovnani s distribuovanymi gridy jen takova usmevna a zcela nepouzitelna zalezitost OS Windows. V unixu lze uzivat DosBox, nebo rovnou stahnout OpenSource operacni system FreeDos, ktery jinak bezi prave diky DosBoxu. To znamena, ze spustim i s GNU/Linux mnoho programu psanych pro DOS a samozrejme spustim i vetsinu programu psanych pro Windows, pokud nejsou velmi spatne naprogramovany. Ale Windows jako vykonny cluster vyuzivan byt nemuze, prakticky pro nej neexistuji zadne programy, ktere by umoznovaly provadet narocne distribuovane vedecke vypocty s tzv. double precision treba pro NASA.
Webove aplikace psane v Java, Flashi, nebo klidne i PHP mohu ovladat klavesnici, viz fgets ( resource $handle [, int $length ] ), handle bude STDIN. Nebo http://www.hudzilla.org/phpbook/read.php/21_3_6 pro GTK v PHP existuji take knihovny pridavajici plnou podporu klavesnice, tedy i funkce jako getch(). V PHP lze psat i FullScreen OpenGL aplikace a v zadnem pripade bych na vasem miste netvrdil, ze je to od amateru pro amatery http://www.hudzilla.org/phpbook/read.php/21_4_5 to vy jste amater jestli neuumite programovat s vyuzitim slozitejsich prikazu, nez if-else, do-while, foreach a echo. Zamerne jsem odkazal priklady funkcni i s Windows, abyste videl k cemu je dobre programovat multiplatformne a ze to nestoji v tomto pripade ani o korunu vice, protoze jazyk je plne interpretovan. V pripade JAVA je to stejne, s tim rozdilem ze nabizi milionkrat vice moznosti a napriklad cele stranky czechcomputer.cz jsou psany v JSP (JavaServer Pages).
Uz jste si dohledal v PHP int phpSDL_GetKeyState ( int &numkeys) ?
"Pred X existovalo niekolko bitmapovych zobrazovacich systemov. Boli to Alto (1973) a Star (1981) od Xeroxu.", soudim ze z techto systemu X vychazi.
Me nazory k DRM a k intellectual property jsem vam nesdelil, nedomyslejte si to, co tam neni. GPL nema s intellectual property nic spolecneho, ten termin k SW prinesl M$ a nikdo jiny jej nepouziva.
"Win32 aplikace přistupují ke kernelu přes Win32 API - to ano, ale stejne to neznamena, ze budou fungovat s x86_64 nebo IA64."
Jen pro Vaši informaci, již několik let (cca 5) Microsoft oficiálně udává, že nadále nebude Win32 API podporováno. Jedinný podporované API bude .NET Framework.
Již dávno díky tomu vývojáři v Delphi, poté co Borland se neměl k tomu, vyjádřit se zda Delphi bude nativní .NET nebo ne, začali přecházet na C#.
Toto nemůžete házet na Microsoft. Dávno dal všechny nástroje a informace nutné k tomu, aby jste aplikace přeportovali; že to udělalo jen málo firem není vina Microsoftu.
Navíc, já bych například MS velmi rád obvinil za to, že pořád podporuje DOS. Osobně mi ve Vistech chodí vše jako na XP; ale velmi rád bych již DOS aplikace utnul; jsou s tím jen potíže. Přesto mi to u zákazníků a doma funguje.
Ale co pak? Ze by pan L "trotl" O potreboval dalsich minimalne 24 hodin, aby si stacil doplnit alespon nejake znalosti a neudelal ze sebe na verejnosti jeste vetsiho idiota, nez jsme doufali? Komentar nademnou znacne prekracuje jeho laicke znalosti?
A vy si fakt myslíte, že nemám na práci nic jiného, než tu s vámi diskutovat? Sebevědomí vám nechybí. Zato znalosti a vychování ano.
Když jsme u toho, kdo ze sebe dělá trotla, tak si projděte počet faktických chyb ve vašich a mých příspěvcích. Prohráváte, protože píšete prokazatelné blbosti.
Mám zato, že autor těch nesmyslů sám ví, že šlápl vedle, takže nebudu dokladováním mařit čas. Pokud máte pochybnosti vy osobně, doporučuji použít mozek, Wiki a Google. Pokud pochybnosti přetrvají, napište konkrétně, co ztoho, co jsem rozporoval, chcete doložit. Například napište "podle mého názoru POSIX znamená portabilní, a Windows tedy mají POSIX, aby pohly být portovány na ne-Intel HW", a já vám vysvětlím a doložím, proč je to blbost. OK?
Jistě chápete, že s nebudu ztrácet čas tím, že budu *vám* dokladovat, co *někdo jiný* řekl chybně, když si to můžete dohledat sám. Zvláště když se jedná o triviality. Až něco nedohledáte, ozvěte se.
Evidentne nejste schopen prokazat co napsal chybne, tim ztraci vase teze veskerou vahu. Chybne jste toho rekl nejvice vy, zejmena vas dostal na POSIXu (ani nevite co to je), netusite co je Single Unix Specification, LSB, nevite ze pomoci PHP i JAVA lze ovladat webove aplikace klavesnici, lzete kdyz pisete ze Windows 2000/XP/2003/Vista ma funkcni primy pristup k portum, ktera je zivotne nezbytna pro vetsinu pokrocilych 16bitovych aplikacich psanych pro DOS, lzete kdyz tvrdite ze ma Windows 95 az XP funkcni emulaci EMS/XMS, zvukove karty a interniho casovace PIC a lzete kdyz rikate ze PHP nema namespaces. Napiste mi co napsal chybne ten anonym a na oplatku vas vyvedu z omylu a doplnim nektere z dalsich vasich chyb, ktere momentalne prevazuji.
Jo, s POSIXem mě dostal hrozně moc. On totiž MS sáhnul po POSIXu, ayb mohl portovat Windows na Alphu, jak dotyčný anonym psal v http://www.root.cz/clanky/prechod-na-vista-a-budoucnost-operacnich-systemu/nazory/171249/ :)). A POSIX rozhodně není sada API a nástrojů unixových systémů; ve skutečnosti je to... co? Aha, sada API a nástrojů unixových systémů...
O LSB nepadlo ani slovo. V případě PHP by milo demonstrováno, jak použít funkce SDL (tedy herního frameworku), Java je v diskuzi o HMT interface naprosto mimo.
Windows řady NT virtualizují vybraný HW. Zkuste si spustit hru pro DOS ve Windows XP, a zkuste si rozchodit zvuk. Možná to nepůjde o každé hry, ale půjde to. Proč? Protože je tam emulace interface SoundBlasteru (na kterou zapisujete přes příslušné porty). Samozřejmě ve Windows 9x fungovala řada aplikací vyžadujících XMS/EMS. Sám jsem jich pár napsal; sám jsem i viděl takové, které nefungovaly.
V nových verzích Windows obecně funguje to, co ve starých, s jistými výjimkami. Výjimky jsou antiviry a firewally (tam se měnilo API), některé kernelové moduly, a nekorektně napsané aplikace. Největší skupinaje kupodivu ta poslední, viz co jsem psal někde výše.
Ve 32-bit Windows běžela naprostá většina korektně napsaných aplikací. Fungovala emulace EMS i XMS, QEMM pochopitelně nebylo možné použít. Programy jedoucí v grafickém režimu fungovaly (něco jsem se napařil her pro DOS ve Windows 9x). Přímý přístup k sériovým i paralelním portům fungoval, stejně tak přístup ke klávesnici a myši. Pro zvukovou kartu existovala emulace (Windows XP emulují nějaký SoundBlaster). Zkuste si příště nevymýšlet.
Win32 aplikace na 64-bit Windows fungují. Samozřejmě existují výjimky - viz začátek mého příspěvku.
Složitější programy psané v Delphi typicky používaly volání Win32, různé koupené komponenty apod. Jinými slovy vaše minimální úpravy budou celkem drsné.
Ohledně POSIX kecáte. Není to "pouze Portable Operating System Interface", ale Portable Operating System Interface *for Unix*. Popisuje povinné API, příkazy a utility. Single UNIX Specification je pokračovatelem POSIXu. Ale když jste tak chytrý, jistě mi prozradíte, jaká jsou portabilní unixová API pro důležité věci typu administrace systému (seznam běžících procesů, přidání lokálního uživatele, změna IP adresy), grafiku a multimédia.
Význam pojmu unix-like znám. Faktem je, že Windows se Services for Unix jsou POSIX compliant, kdežto Linux není. Důvodem je fakt, že Linux POSIX/Single UNIX důsledně nedrží, a tedy neprojde testy. S "vylepšeními přesahujícími POSIX" to fakt nemá nic spokečného :)
Windows tuším od verze 2000 neinstalují POSIX subsystem, ve Windows Server 2003 a některých edicích Windows Vista je jako volitelná komponenta. Services for Unix jsou k dispozici zdarma na webu MS.
S celým POSIXem to trochu matláte. Vůbec netušíte, o co jde. POSIX (nebo Single UNIX) je zjednodušeně sada Cčkových API a command line utilit, které systém musí nabízet. Ve Windows není jiný důvod k POSIX kompatibilitě, než běh unixového SW či používání unixových utilit (grep, vi apod).
Windows NT nativně běžely na x86, PowerPC, Aplha AXP a MIPS (ukázalo se, že o ne-Intel platformy není zájem a nevyplatí se pro ně Windows udržovat). Z nějakého důvodu si myslíte, že to má něco společného s POSIXem, což je naprostá blbost. Zřejmě vás zmátlo to slovo "portable" ve zkratce POSIX, a protože o věci nic nevíte... no stane se.
Virtual DOS machine nemá s distribuovanymi gridy nic společného (zmátlo vás slovo virtual?). Díky Virtual DOS machine lze ve Windows běžet DOS a Win16 aplikace.
Windows nikdy neměly za cíl dobýt trh high-performance computing clusterů (naopak fault-tolerant a high-availability clustery nabízí již řadu let). Trh HPC byl příliš malý. Navíc co byste nabídl za výhody proti operačním systémům zdarma? Node clusteru musí mít TCP/IP konektivitu, správu paměti a procesů, a tím to končí. To ovšem dostanete i zdarma. Když se high-performance computing dostatečně rozšířil, uvedl MS v roce 2006 Windows Compute Cluster Server. Pro message passing se používá MPICH2, je tedy možné nasadit širokou škálu připravených aplikací. Zákazník v tomto případě platí spíše za SW pro správu clusteru, než za Windows na každý node. Jestli MS na tomto trhu uspěje, to řekne až čas. Zkušenost s MS produkty říká, že první verze je typicky tragická (to byla beta před finálním Windows Compute Cluster Server), druhá verze se dá používat, a třetí verze ovládne velkou část trhu. Ale jak říkám, čas ukáže.
Webové aplikace psané v Javě a Flashi jsou kontejnery kódu, umístěného na web, které mají obcházet limity HTML. V PHP se dá jistě psát řada věcí, stejně jako v PostScriptu, akorát to nikdo soudný nedělá. Proč je PH jazykem od amatérů pro amatéry? Nemá podporu name spaces, syntaxe je nejednotná (hledat(co,kde) i hledat(kde,co), názvy typu jakási_funkce, jakásiFunkce i JakásiFunkce), DB rozhraní se mění, zpětná kompatibilita je cokoliv jen ne dobrá... Důvodem je, že jazyk psali amatéři, bez špetky citu pro design a bez trošky soudnosti. To je široce sdílený názor ;). Mimochodem nechápu, proč do diskuze o webovém interface taháte phpSDL_GetKeyState, což je funkce (nepodporované a od roku 2002 nevyvíjené) SDL extension pro PHP (víte vůbec, co je SDL?), která nemá s webem nic společného.
Java má své problémy. Například naprosto úděsná správa paměti (alespoň u Sun JVM), a samozřejmě je pomalá. Navíc v Javě zdaleka nenapíšete to, co v .NETu - je tomizerná platforma. Škoda, tak pěkný jazyk je to.
Ano, před X existovaly jiné systémy, ovšem X znich vychází asi stejně, jako Windows GDI z X11. Mají společné některé koncepty, třeba kreslení po obrazovce.Vy jste ale tvrdil: "nemluve o X serveru - tedy grafickemu rozhranni vynalezenem v Xeroxu pro *NIX". Což je naprostý blábol.
Intellectual property, tedy duševní vlastnictví, je naposto běžný pojem. Zahrnuje (minimálně) autorské a patentové právo, obchodní tajemství a chranné známky. Jestli jste nikdy neslyšel žádný z těch výrazů, není to moje chyba. GPL je licence, kterou autor dává omezené svolení ostatním lidem k užívání svého duševní vlastnictví (kódu). Je smutné, jestli ani tento koncept nechápete. Možná raději běžte házet kamením po těch, kdo prosazují duševní vlastnictví - třeba těch lidech, kteří upozorňují na porušování licence GPL ;)
Důvodem je, že jazyk psali amatéři, bez špetky citu pro design a bez trošky soudnosti.
Jak s vámi často souhlasím, zde nikoliv. Pokud takto přísně nahlížíte na PHP, musíte uznat, že naprostou většinu Win32 API a systémových COM objektů psali ještě totálnější amatéři, kteří o designu a programování v životě neslyšeli.
Chápu, že když se mnou čtenář root.cz souhlasí, a veřejně to napíše, tak raději jako anonym ;)
Ano, na PHP nahlížím takto přísně. Pokud mluvíme o Win32 a COM, uvítám konkrétní výhrady. Třeba jsem si nevšiml, že by Win32 API mělo funkce v notacích StartServiceCtrlDispatcher, set_service_status a registerServiceCtrlHandler.
Nemám ve zvyku podepisovat se z principu. Jsem rád, když váhu mým příspěvkům dodávají zkušenosti a ne nějaký přiblblý nick. A přiznám se, že když se takový naprosto neanonymní nick jako "Pepa", "Killer" nebo "LO" pozastavuje nad mojí anonymitou, přijde mi to dost úsměvné. O to úsměvnější, že když se mnou souhlasíte (viz např. o něco výše o podepisování ovladačů), najednou vám anonymita nevadí. To je trochu ubohé, nemyslíte?
Obecný problém Win32 API je ten, že je to změť funkcí vymýšlená naprosto bez koncepce, zkrátka ad-hoc pro aktuální potřeby. Když se ukáže, že to najednou nestačí, bastlí se do toho rozšíření naprosto neuvěřitelným způsobem.
Pár příkladů:
bordel v notacích WSAConnect, ale __WSAFDIsSet nebo dokonce keybd_event
namísto přímo v MSDN doporučované pojmenovávací konvence "funkce2" a "funkce3" se ve Win32API běžně setkáváme nejen s funkcemi AdjustWindowRectEx, ale i několikanásobným ExEx, např. EnumCalendarInfoExEx
naprostá nekoncepčnost je vidět z toho, jak různé poměrně základní funkce byly přidávány až do pozdějších verzí Windows, takže je člověk v reálu stejně nemohl použít, protože jeho klientská základna tyto "pozdější verze Windows" neměla, např. fce GetAncestor nebyla ve Win95
dalších spoustu příkladů na to, jak jsou potřebné věci dobastlovány stylem "první parametr je handle, ale když tam dáme -1, třetí parametr se použije obráceně" nebo "funkce sice vrací HINSTANCE, ale přecastujeme to na int a porovnáváme s číselníkem chyb - ShellExecute) - je toho tam milion.
Takže věřte mi, že Win32 API si s PHP nemá moc co vyčítat. Spíš hůř pro Win32 API, protože je uzavřené a když to dělá hovadiny, nemáte šanci zjistit, co je "vespod" špatně a musíte zvolit jiný přístup. Tím hůř pro Win32 API, že ho vyvíjela firma, která si za Wokna bere spousty peněz a tudíž by měla mít nějakou dlouhodobou koncepci, narozdíl od amatérů dobrovolníků, kteří píší PHP (kde spíš bych byl ochoten takové věci odpustit).
To bych měl uvést na pravou míru. Nevadí mi, že píšete jako anonym. Ale měl jsem za to, že pokud vyjadřujete souhlas se mnou, je "bezpečnější" se nepodepsat, protože podepsaného diskutéra by ostatní čtenáři root.cz ušlapali (to je ten, co souhlasí s agenty MS ;) ). Nepodepisovat příspěvky je v pohodě. Problém to přináší v tom, že vaší zkušenost nemůže nikdo posoudit na základě přecdhozí zkušenosti s vašimi posty. Například když LO něco tvrdí o HW, Windows, BIOSu, ASM, C#, DB, principech počítačů a některých dalších věcech, asi bude mít pravdu. Když tvrdí něco o bashi, moc bych na něj nespoléhal :). U anonyma tahle informace chybí. Ale jak říkám, s tím nemám problém, a původní příspěvek se toho netýkal.
U Win32 je dobré rozlišovat funkce, metody a objekty. Ohledně rozšíření funkcionality v nových verzích: nejprve se provádí rozšíření stávající struktury (typicky pokud je něco nastaveno na nějakou hodnotu, struktura je delší); pokud to nejde, tak se vytvoří funkce Ex; ve výjimečných případech může vzniknout i ExEx. Je to naprosto logické.
Souhlasím, že třístavový BOOL je poněkud divoký :). Ovšem berte v úvahu, že je BOOL je definovaný jako byte, a v dokumentaci je pouze psáno, že *should* be TRUE or FALSE.
Osobně si myslím, že PHP je na tom ohledně čistoty, zpětné kompatibility i dokumentace o řád hůře, než Win32 API. Ve Win32 není vždy od pohledu jasné, proč je něco tak, jak to je, ale zpravidla to má řád a logiku. U PHP (které je proti OS hračka) jde o slepenec, který patlali dohramady bez konceptu, a proto tam najdete perly typu array_search($needle, $haystack) a strrpos ($haystack, $needle), což pěkně demonstruje probém s namingem i konzistencí. O DB connection nemluvě.
Na vaši reakci jsem byl hodně moc zvědav. Chtěl jste příklad, kdy Win32 API je naprosto nekonzistentní s vámi uváděnými příklady JednaPeknaFunkce a dostal jste je. Čekal jsem od vás, že férově přiznáte, že pro vaše měřítka amatérské fušeřiny přiznáte, že i Win32 je tedy amatérská fušeřina. Bohužel jsem se spletl.
Pojmenování dalších verzí fcí "Ex" v MSDN jednoznačně nedoporučované označíte za "naprosto logické" (o strukturách jsem vůbec nemluvil) a třístavový BOOL okecáte, že se vlastně interně ukládá do bajtu, takže je to v pohodě a je to jen trochu divoké. Mezi námi, klasický bool je do bajtu ukládá také. Pro zajímavost, Wiki se k boolu vyjadřuje naprosto přesně:
In computer science, the Boolean datatype, sometimes called the logical datatype, is a primitive datatype having two values: one and zero
Takže ukládat do boolu hodnoty -1, 0 a "1 až já nevím kolik" je prostě prasácké a zcela jednoznačný důkaz toho, jak se nejdříve Win32 programovalo a pak dobastlovalo to, co v části analýzy někdo opomenul.
Je jasné, že složitost PHP a Win32 je velmi rozdílná, ale pod Win32 vyvíjím už dostatečně dlouho na to, abych mohl zodpovědně říct to, co jsem psal výše - je to slepenec fcí, které postrádají dlohodobý koncept a je do nich dobastlováno neskutečně věcí tak, že drbání levou NOHOU za pravým uchem je proti tomu maximální relax.
Bohužel mi vaše reakce velmi připomněla reakce linuxových fanatiků, kteří vše otočí tak, aby z toho jejich modla vyšla nejlépe a to ostatní nejhůře. A to je asi to, co mně na vás mrzí nejvíce.
To vy si zkuste LO nevymyslet, napsal jste nyni naproste hlouposti a doufam ze to vite a tesite se az vam nyni pekne jednu po druhe dementuji.
V DOS az Windows 9X/ME funguje perfektne pouze toto:
...
@1
cli
goto @1
...
Ve win9X/ME/NT nebezi naprosta vetsina DOS 16 bitovych aplikaci a u her to plati dvojnasob, viz The legend of Kyrandia, Battle chess, Alladin, Lion King, Descent 1, Mortal Kombat III, X-Com Apocallypse (ten co vysel okolo roku 2000 v Levelu), Jungle, Warcraft I, Sega relly, GTA 1, Winter, Summer, Sky, casto Doom1, Wolfenstein a tisice dalsich oblibenych hernich titulu. A kdyz uz neco nahodou fungovalo, bylo to jen chvili a ve vetsine pripadech _bez zvuku_. Proslo mi rukama takovych pocitacu s widlemi a DOSovymi hrami, ze byste se divil, na DOSu jsem zacinal a roky pro nej programoval. Emulace EMS/XMS ve Windows nefunguje korektne, ani systemovy timer, ani vetsina volani DOSu (pres int 21h), ve Windows 9X byla nejcastejsi akce po spusteni hry pro DOS stisk tlacitka reset, nebo tzv. "Rezim zpetne kompatibility", ktery zpusoboval ze se PC restartoval stale dokola, dokud jsem manualne neupravil bootovaci soubory.
Ve Windows 9X prvni edici nefungoval scandisk - jeho moznost odstranit chybne sektory. Text v fdisku se ve Win95 naprosto vybocoval z tabulky a podobny problem byl s DriveSpace a defragem.
Ve Windows NT _neni_ povolen primy pristup k portum ani zadnemu jinemu hardwaru a tak pri prvnim int10h s pokusem nastavit graficky rezim pres VESA program spadne. Vyjimkou jsou VGA mody a obcas 256 VESA mody, tedy ty, ktere jeste uzivaji 1 byte per pixel. Na takovou drzou lez (ze vse funguje) mne nenapalite, vy hlupaku, spustte si radeji priklad ze zacatku meho komentare v DOS/Win9x/ME.
"Win32 aplikace na 64-bit Windows fungují. Samozřejmě existují výjimky - viz začátek mého příspěvku." - a ze je tech "vyjimek" docela dost si nemyslite?
"Složitější programy psané v Delphi typicky používaly volání Win32, různé koupené komponenty apod. Jinými slovy vaše minimální úpravy budou celkem drsné."
Delphi programy napsane kompetentnimi programatory nepouzivaji zadne volani Win32, nybrz Borland VCL. komponenty kupuji dle meho nazoru amateri, kteri si je neumi napsat sami.
ad. POSIX: to vy kecate, POSIX is an acronym for Portable Operating System Interface. http://www.opengroup.org/austin/papers/posix_faq.html, dovoluji si vas upozornit ze opengroup.org je spoluautorem tohoto ISO standardu. X bylo pridano pouze kvuli tehdejsimu unixovemu boomu (unix byl majoritni OS). The single UNIX specification neni pokracovani POSIXu, viz http://www.unix.org/Posters/download/unix_posterA3.pdf. Portabilni unixova API? Co to tu zvatlate, zrejme mate na mysli pouze portabilni API, jejichz dulezitost pro administraci systemu je maximalni, jen se prokousejte historii az k PDP a dohledejte si specifikaci programu jako je login, nebo shellu sh, prikazu cat, pipes a dalsich casti UNIXu. Take upozornuji, ze kompletni zdrojove kody unixu jsou volne vystaveny ke stazeni z internetu.
Faktem je, ze windows *nejsou* POSIX compliant. To teprve OpenSource projekt Cygwin, nebo (drive jeste komercni) services for UNIX ktere ma nainstalovano 0 az 1% Windows useru do nich pridaji podporu POSIXu, kdezto UNIX o kterem jsme se doposud bavili POSIX compliant je vzdy a neni kvuli tomu potreba nic doinstalovat.
Vy zrejme neznate ani rozdil mezi Linux a UNIX, vubec vam nedochazi, ze zatimco v unixu je treba awk (coz je de-facto standard) tak v GNU/Linux je gawk - GNU awk, ktery rozsiruje awk natolik, ze s nim neni plne kompatibilni, ale pouze castecne. To same UNIXove cc, vs GNU/Linuxove gcc. Vylepseni GNU presahujici striktne urcena UNIXova pravidla cini GNU/Linux pouze castecne POSIX compilant, nicmene stale si namountuji v GNU/Linux parition z FreeBSD a spustim si libovolny UNIXovy program, zatimco ve widlich si to nenamountuji v zadnem pripade a nespustim zadny pokrocilejsi UNIXovy program bez OpenSource projektu Cygwin, coz jeden z hlavnich duvodu proc se uziva Cygwin a na (nebyt Cygwinu stale jeste komerncni) M$ Services for UNIX.
S celym POSIXem to matlate vy a jste to opet vy, kdo nevi o co jde. Jedna se o API, ktere je navrzeno tak, aby bylo mozne portovat operacni system na jine platformy, pricemz jak jiz doufam chapete je to ISO standard, to znamena univerzalne pouzitelny pro kazdy operacni system.
"Z nějakého důvodu si myslíte, že to má něco společného s POSIXem, což je naprostá blbost." - zase si domyslite co jsem nenapsal, mate prilis bujnou fantazii.
"Zřejmě vás zmátlo to slovo "portable" ve zkratce POSIX, a protože o věci nic nevíte... no stane se."
haha, o veci nic nevite vy, dokonce ani to, ze POSIX je Portable Operating System Interface, vy vtipalku :-D
"Virtual DOS machine nemá s distribuovanymi gridy nic společného (zmátlo vás slovo virtual?). Díky Virtual DOS machine lze ve Windows běžet DOS a Win16 aplikace."
Ja jsem nikde netrvdil, ze VDOS machine s distribuovanymi gridy neco spolecneho ma, trpite halucinacemi? Schizofrenii? Vy zrejme nebudete mentalne zdrav. Ja jsem vam pouze napsal, ze o distribuovanych gridech, pro ktere se InfernoOS zalozeny na Plan9 uziva se vasemu Toy OS ani nesni, nacez jste odepsal ze vas Toy OS ma zase Virtual DOS machine (ktery je ovsem k nicemu, protoze narozdil od OpenSource DosBox v nem vetsinu DOSovych programu nespustite a uz vubec ne na 64bit Toy OS).
PHP od verze 5.3 *ma* podporu namespaces, syntax ve WIN32 API je take nejednotna. Nazvy typu jakási_funkce jsou u vsech funkci prevzatych z Perlu, zatimco jakásiFunkce u funkcni prevzatych z C a JakásiFunkce o objektovych casti jazyka, treba tam kde se vyhazuje Exception. Dale jste zapomnel na jakásifunkce, coz je v GD library, napr. imagecolorallocate(). To ze vy jste nevedel proc ma ktera funkce takovy zapis znamena opet ze vy jste amater, az budete umet v C a Perlu, pak se teprve naucte v PHP a az nakonec se k nemu vyjadrujte. Jazyk je lepsi nez ta prasarna C# a lepsi nez ASP.NET, existuje pro nej nekolikanasobne vice knihoven a doplnku (z PEAR a PECL) nez pro ASP a vsechny jsou zdarma. DB rozhrani se nemeni, PDO je v PHP uz davno a nikdo vam jej nenuti, pouzivejte dal database-specific zaostale mssql, o funkcich SDL jsem napsal protoze jste lama, ktera do te doby netusila, ze je v PHP mohu pouzivat a uz vubec jste nechapal, jak je mozne, ze i v PHP mohu pracovat s klavesnici. Vim co je SDL, vase povrchni znalosti a blabol za blabolem mi vsak naseptavaji, ze vy to nevite.
Mizerna platforma je .NET a vy v nem nikdy nenapisete to, co jini v JAVE. Mizerna sprava pameti je v .NET a ve Windows i ta pomalost jak-by-smet. JAVA se vyviji mnohem dele nez .NET a je tak dobra, ze prorazila od spickovych techniku podilejicich se na tvorbe firmware az do bussiness sfery a nyni patri mezi nejuspesnejsi programovaci jazyky, take je i pouzivanejsi, nez .NET a to vas strasne stve, ze? Mate vztek, ze firmy jako IBM (s vlastnim unixem jmenem AIX) se podili na vyvoji Eclipse Platform, coz je platforma psana v JAVA pro developery. Podporuje toho vice, nez deset C sharpu dohromady, vy podjaty bridile.
X vychazi z pokusu v Xeroxu pri tvorbe Star stejne, jako mspaint vychazi z paintbrush od Apple, ktery bezel na stroji jmenem Lisa a to je fakt.
Intellectual property neni naprosto bezny pojem, nybrz zmrdstvi, uzite pro vymahani financi za nic. Je smutne, ze nechapete rozdil mezi dilem chranenym autorskymi pravy a zmrdstvim nazyvanem Intellectual property.
Re: "Delphi programy napsane kompetentnimi programatory nepouzivaji zadne volani Win32,
nybrz Borland VCL."
To jste toho za život asi moc nenaprogramoval, když jste si vždycky vystačil pouze s borlandím VCL. Děsně by mně zajímalo, jak jste třeba řešil požadavek zákazníka, aby program měl ikonu v SystemTray? Tohle Delphi x roků neumělo, vždycky na to bylo potřeba volat API funkci nebo aspoň použít knihovnu, která tu API funkci volá. Jestli to umí Delphi dnes, to už nesleduji, s Borlandími produkty sem loni (po 16ti letech) definitivně skončil.
Re: "komponenty kupuji dle meho nazoru amateri, kteri si je neumi napsat sami."
Z Vás musí mít Product Manager radost, místo abyste za 10 tisíc koupil hotovou knihovnu, tak dáte stranou několik svých programátorů a necháte je rok makat na vývoji vlastní knihovny. Evidentně kašlete na to, že vývoj něco stojí, zřejmě nikomu nevadí, že projekt nabere roční zpodění, hlavně že Vy budete spokojen, budete totiž mít tu SVOJI knihovnu.
Není to trochu odvážné, až demagogické tvrzení? Ne že by DNEŠNÍ Delphi byly něco úžasného (dříve jsem měl verze 1, 3, až řekněme 5 měl rád), také od nich utíkám, konkrétně k Pythonu. Ale několik lidí že by rok dělalo knihovnu? To by snad udělali novou vlasní VCL, ne?
Dobrá, uvedu konkrétní příklad, aby nebyly dohady. Děláte projekt v Delphi a potřebujete nový generátor sestav, protože s tím minulým prostě nejste spokojeni. Co uděláte? Koupíte hotový za 10.000 Kč, který má export do XLS, DBF, PDF a dalších 10-ti formátů... Anebo sednete k počítačům a začnete to vyvíjet sami... Za sebe můžu říct, že sem zkusil obě varianty a už bych znovu nešel do toho zkoušet vyvinout něco takového od nuly, něco co už má někdo jiný hotové a nabízí to za babku. Blokujete tím lidi, kteří by mohli posunout vlastní projekt někam dál a rozhodně to nevyvinete do takové podoby jako někdo, kdo se vývoji dané knihovny věnuje na plný úvazek už několik roků.
Ve Windows 9x naopak naprostá většina DOS aplikací běží. Zkuste si třeba libovolnou aplikaci napsanou v DBase, nebo FoxPro. Kupodivu běží, i po síti. Zkuste WordPerfect, Quattro Pro, nebo v podstatě cokoliv dalšího. Dokonce je možné používat ve Win9X drivery pro DOS (zpočátku to byla nutnost). Aplikace s přímým přístupem k HW (třeba hry) byly problematičtější, a od toho byl režim MS-DOS. Když jste neměl obě ruce levé ("Rezim zpetne kompatibility", ktery zpusoboval ze se PC restartoval stale dokola), rozběhal jste v podstatě cokoliv. Já z cca 200 her pro DOS co mám dodnes na CD rozchodil zřejmě všechno, až na jediný kousek. V řadě NT to s hrami bylo pravda slabší, a až WinXP obsahují emulaci SoundBlasteru (která není nijak dokonalá). Aplikace používajíc EMS/XMS běhaly zpravidla korektně, systémový timer byl virtualizovaný (editor PIF souborů měl nastavovátko, kde se zapínal režim kompatibility HW timeru).
Ve Windows XP není povolen přímý přístup k Hw, pouze k tomu virtualizovanému. VESA modes mi minimálně ve Win9X chodily (záleželo pravda na kartě).
Ano, výjimek které na Win64 nefungují je dost. Důvody jsou různé, například mizerně napsané aplikace.
Programy psané v Delphi často používaly Win32 API.
Komponenty jsou velmi praktická věc. Ne každý je totiž takový expert jako vy, aby psal třeba vlastní rastrování formátů dat magnetické rezonance, vlastní OCR, nebo implementoval vlastní generování čárových kódů.
K POSIXu: psal jste: "ze je tu GNU Pascal to take nevedi, nemluve o POSIXu, kteri je velice dulezity a stale jej Toy OS nedodrzuje". Dále jste psal: "Staricke NT M$ dodaval pro platformy x86 a Alpha, proto sahl po POSIXu, ktery od te doby ve Windows udrzuje, pocita s tim, ze casem x86 architekturu zavrhne."
Tedy ještě jednou: POSIX je popisem API (a utilit), které tvoří unixový systém. Viz http://en.wikipedia.org/wiki/Posix
Tuto sadu API a nástrojů mohou mít i ne-unixové systémy, typu QNX nebo Plan 9. Autoři Windows je psali tak, aby mohlo existovat paralelně více moulárních subsystémů, které implementují například Win32, POSIX, nebo OS/2 API (POSIX a OS/2 subsystem pro zpětnou kompatibilitu, tedy možnost přechodu z unixů a OS/2). POSIX ve Windows nemá nic společného s portováním Windows na jiné architektury.
Pochopitelně nemá smysl, aby byly Windows POSIX compliant v základní instalaci. Většině zákazníků je kompatibilita s unixy naprosto ukradená.
Linux není POSIX compliant proto, že se autoři POSIXu při jeho psaní nedrželi. OpenGroup má draft dokumentu, který popisuje některé rozdíly: http://www.opengroup.org/personal/ajosey/tr28-07-2003.txt . V případě awk je jmenován tento rozdíl: Certain aspects of internationalized regular expressions are optional. Utilita df vrací velikosti v jiných jednotkách, atd. Těch rozdílů je celá řada, a nejsou způsobené tím, že by Linux byl nějak pokročilejší.
Co je na .NETu mizerného, a co lze napsat v Javě a v .NETu ne? S tou správou paměti jste šlápl vedle. Sun Java vyžaduje (díky skvělí implementaci) souvislý blok paměti. Pokud máte v address space procesu nataženou knihovnu, nebo má address space díru (což je feature některých platforem), tak může proces dostat 1.7GB RAM, ale Java akceptuje největší souvislý blok (který může mít třeba jen pár set MB). .NET tenhle problém pochopitelně nemá. K Javě jsem také psal, že selhala na embedded trhu (měly se vní původně psát firmwary zařízení), selhala na webu, selhala na JavaStations, selhala na desktopu (viz katastfora jménem corel Office for Java), a nyní nachází poslední útočiště na serverech. Java byla pěkný jazyk, ale mizerná platforma. .NET má podobně pěkné jazyky (včetně C# a J#), ale navíc je to nesmírně bahatá plaforma, a dnes primární API systému Windows.
K X jste psal náledující: "nemluve o X serveru - tedy grafickemu rozhranni vynalezenem v Xeroxu pro *NIX". To je nesmysl. X11 je pokračovatelem W, který se inspiroval asi u Xeroxu. Nicméně Xerox nepsal X.
firme se to samozrejme nevyplati, protoze ona vubec zadne penize investovat nechce a radsi zustane u toho, co zrovna ma. vas nazor je nazorem "investicniho teoretika".
Ha ha ha. Jen ten vas investicni teoretik muze mit nazor, ze firmy do IT neinvestuji, protoze radeji zustavaji u toho, co maji.
Spocitejte si kolik nalily firmy za poslednich par let penez do desktop prostredi (Windows) a jak se za tu dobu zvedla temi investicemi jejich efektivita. Jak efektivneji budou uzivatele pracovat v prostredi Vista nez v XP? A jak se efektivita projevila v prechodu z Office 2000 na XP,2003,2007? Takze kde je ten slibovany prinos?
Firmy na visty alespon zatim neprechazeji.
V rade z nich bezi XP, v nekterych i 2000 (ty silnejsi na ne maji zrejme dokonce od MS specialni support).
Ve firme, ktere business zavisi z velke casti na IT je jakakoliv zmena toho co funguje, velke riziko. Cili jejich strategie je z tohoto hlediska konzervativni a opatrna.
Firmy prechazeji na nove verze tehdy, kdyz se jim to vyplati. To muze byt treba konec supportu starsi verze, ktery je ohrozuje. Pokud s sebou novinka nenese velky ocekavany efekt, oddaluji jak se da.
Spravne naznacujete, ze (jak ostatne podotkl nekdo z MS), ze jejich nejvetsim konkurentem jsou v soucasnosti oni sami resp. jejich starsi produkty.
----
Mimochodem polozim podobnou otazku - jaky efekt by pro takovou IT zavislou firmu (a ted myslim "normalni" non-IT business) prinesl prechod z XP na linux?
A jake by byly naklady? Jsem si jisty, ze to zdaleka neni mozne rici jednoznacne bez konkretni znalosti daneho prostredi.
No, jsem si jist, ze MS najde za pomoci site svych partneru zpusob, jak uzivatele donutit k prechodu. Napr. kombinaci metod prestat XP prodavat, lakat na nove zivotne dulezite ficury, o kterych jsem doted nemel ani poneti, az po omezenou integrovatelnost novych do starych atd. Nechme se prekvapit :-)
A co se tyka prechodu z XP na Linux? Napsano toho bylo uz nepocitane. Priznam se, ze co jsem cetl, bylo jen z rychliku, takze ted budu jen tak strilet ze zkusenosti (i cizich)
1. vyssi soustredeni na vlastni business (je fakt neuveritelne, jakymi nesmysly se treba zabyvaji obchodnici. Rekl bych, ze heslo "kdo si hraje, nezlobi" plati i obracene)
2. lepsi bezpecnost dat - praxe je proste v soucasne dobe takova. A kdyz mrknu na statistiky CERT a ostatne i korigovane statistiky MS (MS ma tendenci banalizovat), tak se nebojim ani budoucnosti nebot z uvedeneho vyplyva, ze nehraje roli jen rozsirenost Windows.
3. vyssi stabilita systemu (za to u Win muzou jak uz LO zminovane ovladace, ktere je ale potreba proste pocitat, tak problem malwaru, atd.)
4. vykopnuti lokalnich administratoru (ostatne co by taky delali, kdyz jim seberete tamagotchi)
U vetsich spolecnosti pochopitelne nedojde jen tak ke zruseni IT oddeleni, ale k vyrazne redukci resp. se zpomali nebo zastavi rust diky vyssi efektivite.
5. Zpruhledni se cely system (mozna byste neveril, kolik spolecnosti nema ani poneti, co jim napr. beha po siti, jak co s cim komunikuje atd.) a to zkvalitni spravu
atd.
Je mi jasne, ze to budete oponovat, ale se vsemi body (a jejich uvedenymi duvody) se bezne setkavam prip. jdou dohledat z uvedenych zdroju.
Lide (i ve firmach) pouzivaji OS pro spousteni a pouzivani svych aplikaci. Nepouzivaji OS by pouzivali OS.
0) Vy vubec nezminujete aplikace! Prechod na temer vsechny uplne nove. Konverze datovych souboru. Zaskoleni uzivatelu.
1) Kdo se bude vice soustredit na business? Vedeni? Ucetni? Obchodni zastupci? Nebo snad admini? Nebo predpokladate, ze kdyz uzivatelum ze dne na den vymenite desktopovy OS a vetsinu aplikaci, tak se prestanou rozptylovat tlacitkem start a panem sponkou (v OOo tusim pan zarovka) a budou vice pracovat?
2) Bezpecnost z jakeho pohledu? Proti jakym utokum? Existuje pro linux nejake standardizovane a overene reseni pro bezpecny prenos dat napr. vynuceni pouzivani pouze vybranych USB zarizeni, RSA tokeny a podobne? Ano, jiste windows v nezabezpecene siti nejsou to idealni, ale lepsim resenim je tu sit zabezpecit.
3) na firemnich desktopech natoz serverech nepredpokladam nejaka exoticka zarizeni s nestabilnimi ovladaci, zabezpeceni proti malware je veci spravce (a to nejen technologicky ale i vzdelavanim.)
4) No to je teprve perla. Myslite ty jedine lidi, kteri neco tusi o teto konkretni infrastrukture? A nahradite je nejspis unixovymi remote administratory, ze? Uz to vidim: "Karle nahraj v patek vsude ten Linux a v pondeli uz nechod."
5) Zpruhledni pro koho? Pro ucetni? Pro vedeni? Pro obchodni zastupce? Mozna pro admina (ale to uz vlastne bude uplne jiny admin).
Ano, linux muze byt 100x lepe napsany a pruhlednejsi a pro nektere lidi snaze spravovatelny. Ale dokud neprinasi uzivatelum viditelnou vyhodu, ktera vyvazi nedostatky bude porad jenom alternativou. Pro bezne uzivatele je jeho jedinym vetsim prinosem porad jenom ta cena.
0. Aplikace se meni i na Windows. To jste nevedel? Naklady na skoleni jsou stejne. Mrknete se na to. A dostupnost? Uz nekym zminovany system na evidenci zaku ve skole jsem do 5 minut nasel i pro linux. Cimz nechci rict, ze kazda aplikace pro linux existuje. Ale to ani pro Windows.
1. No zrovna zminovani obchodnici se hezky bavi ptakovinama, ktere si mezi sebou posilaji, instaluji atd.
2. Bezpecnost dat. Existuje pro celkem slusna statistika, kterou jsem tu uvadel, a ktera to dokazuje. Prosim, opirejte se o praxi. Ne o to, co vam kdo nakuka.
3. Vy nepredpokladate a to je prave spatne. Jsou a padaji. Uz se to tu probiralo.
4. Mate nejaky rozumny duvod, aby napr. pravni kancelar, nebo skola atd. vyhazovala penize za full time administratora? Na te vasi poznamce je evidentni, ze nemate sajn o nakladech IT.
5. Pro administraci.
Odkud se bere vas nazor, ze windows prinasi uzivatelum vyhodu?
0. Pokud hovorime o prechodu na linux, znamena to vymenit naraz vsechny aplikace. Pokud se meni firemni aplikace (nejen na windows), pak nejcasteji pozvolna, prechodem na novejsi verzi. Kompletni vymena nektere aplikace musi byt vzdy podlozena nejakym cistym prinosem nebo externim zasahem (treba akvizici at uz samotne spolecnosti nebo dodavatele sw).
1. Zatimco admin za ne vydelava prachy pro firmu i na jejich platy, ze? :)
2. Bezpecnost dat? V pocitacich jsou ale preci vsechno data. Takze je to zabezpeceni sitoveho prenosu, zabezpeceni dat na discich, zabezpeceni dat proti zneuziti...?
3. No pokud by byly, pak sehnat pro ne linuxovy ovladac asi nebude taky moc easy, ze? :)
4. Skola je velmi specificky pripad. Tam byva vetsinou par (jeden) manik, nekdy jeste student, nekdy part-time, ktereho to bavi, ktery si s tim vsemozne hraje a vedle toho uci i nejake to programko.
U malych firem to zalezi na jejich zavislosti na IT, zkusenostech uzivatelu atp.
Ale rozhodne nepredpokladam, ze by nahrazeni windows linuxem vedlo k tomu, ze by tam, kde admin drive byl potreba prestal byt potrebny.
A zrovna u pravni kancelare, ktera musi byt schopna komunikovat (rozumej vymenovat si kancelarske dokumenty) se sirokym okolim (vcetne ceske verejne spravy) bych se dost divil, kdyby chtela prechazet na linux. A pri prijmech z teto cinnosti bych ani usporu za licence nebo admina nevidel jako zasadni.
0. vyšší verze apliakce je v naprosté většině případů ovládáním velmi podobná té starší a seznámení s novými funkcemi se dá zvládnout velmi rychle. Tak velké změny, jako se staly v ovládání např. MSO 2003 vs 2007 se dějí skutečně výjimečně. Ostatně víte určitě sám, že MS tahle změna přinesla víc záporných než kladných ohlasů a nějaký boom v nasazení MSO 2007 se příliš nekoná.
0a. najít NĚJAKOU aplikace ještě neznamená najít POUŽITELNOU aplikaci. Tohle je skutečně obrovská bolest Linuxu. Aplikací najdete mraky, ale těch skutečně použitelných je řádově méně. Není to ale nějaká konkrétní výtka proti Linuxu, tohle je obecný problém všech aplikací, které vyvíjejí především nadšenci a málokdy skuteční profesionálové.
Zkuste si třeba takovou banalitu, jako najít na Windows (sic!) klienta ftp, který bude zdrama (nebo za mírný bakšiš) a bude splňovat průchodnost přes HTTP a FTP proxy, ovládání přes příkazovou řádku (případně skriptovatelnost) a schopnost synchronizace. Jsou to pouze tři požadavky a najednou narazíte - z mnoha stovek klientů najdete sotva deset, které splní kritéria a to ještě většina bude poměrně drahých (např. CuteFTP za šílených 60 dolarů za "pitomého" ftp klienta). Přitom když se někde zeptáte, tak vám každý bude tvrdit, že jsou stovky klientů zdarma, tak proč si nevyberete. S tím rozvrhem to je podobné.
Spousta lidí zde v diskusi trpí společným problémem - jsou to sice lidé zdatní v IT, rádi (a dobře) se hrabou v systémech, nedělá jim problém téměř cokoli rozlousnout, nastavit... ale nejsou schopni se vcítit do potřeb většiny uživatelů.
Jsem grafik, profesionální sazeč a typograf. Vždycky jsem se hrabal v počítačích, zkoušel jsem nové systémy, programy, alternativy. Psal jsem si skripty na ulehčení opakovaných úkonů... Prostě víc technoidský geek než klasický grafický bohém.
Jenže jak stárnu, tak zjiš´tuju několik zásadních věcí:
1. mám stále menší chuť učit se nové věci. Jsem čím dál konzervativnější, už se nehrnu bezhlavě do nových verzí, ale vždycky si nejdřív čtu zkušenosti než to sám zkusím.
2. čím dál více se věnuju hlavnímu zdroji obživy a hrabání se v systému je už skutečně jen koníčkem.
3. mám rodinu, děti... A čím dál méně ochotně věnuju čas, který můžu strávit s rodinou, hrabání se v IT problémech.
4. mám méně času - jak získávám zkušenosti v oboru grafiky, je o mne větší zájem a víc se tomu oboru musím věnovat a tak v kombinaci s (3) mi fakt nezbývá čas.
Takže zatímco před několika lety jsem volně přecházel mezi systémy (tehdy MacOS, Win a jemné "koketování" s Linuxem), mám už přes půl roku rozdělanou instalaci jednoho počítače s Linuxem a nějak nejsem schopen se dokopat k tomu, abych si dohledal řešení problémů, na které jsem tam narazil. Zjistil jsem, že je pro mne pohodlnější, efektivnější a nakonec i levnější nasadit v domácí síti všude Windows Vista + Win Server 2003. Problémy se většinou řeší velmi rychle samy (až jsem byl sám šokován, co všechno Visty v síti nastavily samy a plně funkčně), případně mi stačí najít rychle řešení v MSDN a to pak aplikovat na všech PC jednotně. Čím dál více mi vyhovuje homogenita prostředí a vůbec mne netrápí, že je tam spousta věcí black boxem - nad mikrovlnkou taky nedumám, co se tam děje.
Zkrátka zatímco MS dokázal za několik let udělat plně funkční prostředí (od Win2000/XP tomu tak skutečně je), Linux se za stejnou dobu neposunul skoro nikam. Přes určitou nablískanost vnější schránky se stále jedná o strašně roztříštěné a nejednotné prostředí. Linux v současné podobě není pro uživatele ani na úrovni Win9x - prosím, nesrovnávejte technologické koncepty a vzhled. Linux má obronskou spoustu dobrých a pokrokových věcí, které ale nejsou dotaženy do konce. Jako by to těsně před koncem přestalo vývojáře bavit. Jako by si řekl "tak řešení existuje, jsem frajer, že jsem to našel, víc se v tom nepotřebuju hrabat". V MS mnohdy rezignovaly na nejlepší řešení za cenu toho, že dotáhnou aspoň to o něco horší na úroveň, aby bylo prostředí co nejvíce homogení a uživatelsky přístupné. A to je prostě to největší plus, díky kterému mají produkty MS takový úspěch. A mrzí mne, že sám začínám zjišťovat, že to je řešení, které mi vyhovuje čím dál více...
0. No vsak jsem taky hledal jen 5 minut :-) A aby nedoslo k omylu. Nehledal jsem reseni zdarma. Ani to, ktere jsem nasel, zdarma nebylo. Ale vim, jak to myslite.¨¨
Neskromne priznavam, ze si myslim, ze se do potreb uzivatelu dokazu vcitit vic, nez je zdravo. A prave proto, jak pozoruji praci a chovani kolegyn a kolegu v zamestnani a zamestnancu u obchodnich partneru, tak si myslim, ze zrovna pro ne by v rade pripadu byla idealni jednorazova krabicka (at uz je postavena na jakemkoli OS). Prave z toho duvod, aby udelali svoji praci, nerozptylovali se sdilenyma nesmyslama odesli domu a venovali se rodine, pratelum, zabave a dalsimu mimopracovnimu sebevzdelavani.
To vite, ze jsem byl take zoufaly v Linuxu a rikal jsi jestli to mam za potrebi, ale 2 mesice vlastni prace ve Win me z toho zase vzdycky vyleci.
Jen rikam, ze jsem videl vic problemu ve Win prostredi nez v neWin. Homogenita je mozna na prvni pohled hezka, ale v praxi z dlouhodobeho hlediska nerealna (asi jako komunismus).
Co je nereálného na homogenitě prostředí? Samozřejmě v případě unixů na homogenitu můžete zapomenout (na čem byste účtoval, nebo dělal cokoliv ne-IT). Ale řekněte mi: existuje něco, co se dnes nedá provést na platformě Windows? Řada firem (za sebe bych řekl většina) žádný unixový stroj nemá. I veliké firmy mají kritické aplikace na Windows (systémy s desítkami tisíc uživatelů a databázemi o velikosti TB).
2. Bezpečnost čeho? Když mluvíme o bezpečnosti, prosté sdílení souborů na unixech je nebezpečné. Chcete použít NFS s jeho "bezpečností" (nastavte na klientu UDI a GID, a je hotovo)? Single sign-on by default není, access control listy nejsou či nejdou měnit z klienta. Samba funguje, ale pokud vím, tak pořád ještě používá autorizaci, kterou Windows nepoužívají, a která snadno prolomitelná.
3. Stabilita desktopového OS opravdu není dnes pro firmy problém.
4. Potřebujete založit nové sdílení souborů. Kdo to udělá? Vzdálený admin? Super. Přijeďte, sedněte si s uživateli, zjistěte co vlastně chtějí (co sdílet, kde, jak, jakou tam chtějí mít adresářovou strukturu, kdo má mít přístup), a pak to můžete udělat. Je třeba připojit novou tiskárnu, a ve formě jí nikdo nedovede ani rozbalit, natož nakrmit tonerem, připojit k síti a nakonfigurovat její sdílení. Bohužel rozbalovat HW, hledat kabely ve skříni a instalovat propojky na patch panelech ještě na dálku neumíme. Obchodníci si usmysleli, že chtějí mít přístup k inetu z notebooků, a emaily chtějí číst i na telefonech. Bohužel nastavit jim připojení z notebooků přes různé typy mobilů je na dálku celkem problém, a mobil na dálku nenakonfigurujete vůbec. Kdepak. Ona skoro každá firma potřebuje někoho, kdo tyhle blbosti udělá na místě. Pokud jde o Windows, umí to i power user. A když už někdo umí založit to sdílení a nastavit ty permissions, je z něj v podstatě admin - tak to ve firmách chodí.
Samozřejmě velikým problémem jsou aplikace, které pro Linux prostě neexistují. Jak tu někdo psal, když už nějakou najdete, zpravidla bývá příšerná, a typicky bez lokalizace (což mě nevadí, ale firmám ano).
lol, ze prej obtizna sprava, a proto se ve firme o 10win serveru stara 5 lidi a o 100tux serveru se staraji dva. U desktopu je to jeste fous lepsi, protoze nastavit jej tak, aby vse fungovalo pod user accountem, coz je zaklad jakekoli spravy = stravit 1/2 roku testovanim a na to v normalni firme neni cas => vsichni maji alespon lokalniho admina a podle toho to vypada.
Na tuxich desktopech vse funguje tak nejak "od prirody" a jeste sem se nesetkal s tim, aby aplikace pozadovala roota. Tudiz system nema uzivatel rozdrbat jak, home, kam se zapisuji jak data tak jeho konfugurace je na serveru, takze spravovat neni vlastne co (jop, akorat jednou za cas poslat pokyn k aktualizaci, o ktere se user ani nedovi, protoze restart netreba).
Já mám zkušenosti opačné. U unixů pořád sedí lidé, kteří hrají "liftboye". Neustále systémy sledují, čtou logy, upravují konfiguráky, opečovávjí své tamagotchi. O potřebách firmy nevědí vůbec nic, a rozhodně není možné je pověřit něčím netriviálním, typu nastavit permissions na sdílení souborů. Ono totiž nastavit permissions znamená zjistit, kdo sdílení používá (účtárna a HR), co na něm dělá (jaké druhy dat, kdo co píše a čte), promluvit s těmi lidmi, napsat to na papír, a pak provést změnu. Bohužel vyjma té poslední části, kterou zřejmě provedou ve vi, jsou unixoví admini nepoužitelní. Firmu, která by ve velkém využívala servery na Linuxu, ovšem neznám (s výjimkou ISP).
Samozřejmě Windows fungují pod restricted accountem. Pokud použijete omezenou sadu aplikací (Windows, Office, pár klientů), je to bez problémů. Průšvih nastane, když máte hromadu historického SW, jehož autoři třeba zapisují nastavení na místo, kde mají binárky (jako jisté verze Total Commanderu). Je to blbost autorů daného SW, ale platíte za ní vy :(. Na Linuxu prakticky neexistuje SW vyjma toho, co dostanete s distrem, natož SW historický, takže vás to asi netrápí.
No tak někteří známe, a jiní neznají. Já třeba znám stovky firem, které používají profi unuxy (typicky v počtu 1-6 ks na firmu). Znám i firmy, které mají pouze Windows servery (včetně bank). Ale opravdu neznám firmu, která by měla více, nebo dokonce většinu, produktivních serverů na Linuxu.
Naopak se mi nechce věřit, že vy neznáte firmu, která by měla server na Windows. Například jestli máte připojení k inetu od UPC, tak ti používají Windows servery. Telecom (O2 cosi) používá Windows servery. BHP Billiton (ten pravda není z ČR) nejen používá Windows na serverech, ale má i nejdnu z největších instalací MS SQL Serveru na světě. V ČR používá Windows servery ve velkém třeba Česká Pošta, která jede mimo jiné na MS SQL Serveru (a ano, Linuxem nahradila MS-DOS na pobočkových terminálech, které mají znakové rozhraní). Je velmi těžké najít firmu, která nemá Windows server.
Windows server...Windows je oxymoron k Serveru. Je velmi tezke najit firmu, ktera nema sve stranky hostovane pomoci GNU/Linux s Apache. Kam se na to hrabe derave, proprietarni a RFC-znasilnujici IIS.
Mimochodem UPC melo CentOS stejne jako Karneval, Pote Suse a ted ma tusim Mandriva. Zadne widle.
Prominte, ale ztotoznujete server s webovym serverem?
Serveru, zejmena ve firemni sfere existuje mnoho 'druhu' a webservery jsou z nich dovolim si rici ty 'vic easy'.
Apache vam dneska doma nebo nekde v garazi tak nejak rozchodi ledasjaky trochu geekoidni pubertak. To uz bych si nedovolil tvrdit o databazich, fileserverech se spoustou rznych prav, vsemoznych aplikacnich serverech...
A vubec pritom nezalezi na operacnim systemu. Jen prosim nezamenujme IT pouze s webem a server pouze s apachem.
Ja samozrejme vim ze LAMP je pouze jednim z mnoha, nicmene nezamenuji, psal jsem o LAMP protoze je nejcastejsi. Na databazich typu MySQL, PostgreSQL, Oracle a IBM DB nevidim nic tak sloziteho, jake jine databaze mate ve svem komentari na mysil? Na fileserveru zalozenem napriklad na proftpd rovnez nevidim nic sloziteho, na vsechno jsou prirucky, knihy a scripty uz po desetileti a nikdy to nebylo jednodussi, nez dnes. Jake slozite fileservery konkretne mate na mysli?
Co se tyce geekoidnich pubertaku, vase nadsazka je prilis velka, nikdo z nich nevi ani co je to suexec, tezko by nakonfigurovali korektne hosting, nebo CISCO routery, vzdyt i czechia.com ma tak neschopne lidi, ze maji na serverech Ubuntu.
Slozitejsi zalezitosti zacinaji az s qdisc uzivanem pro QoS, nebo pri hratkach s IPSEC popr. LDAP, ale ani to neni nic neprekonatelneho, clovek si to jednou dvakrat vyzkousi a uz vi co a jak, to samozrejme neplati pro novacky, ale pro ty, kteri uzivaji GNU/Linux alespon 3 roky. Take jeste muze dat zabrat konfigurace nagios pro rozsahlejsi sit, ale tam se jedna spise o problem pri shromazdovani vsech potrebnych udaju, nez o nejakou extra slozitou upravu konfiguracniho souboru.
Aha, vy jste ze světě ISP/inetu :). No to hodně vysvětluje. Ve vašem businessu se hodně používá Linux a *BSD. Má to jediný důvod: cenu. Nakonec i lidé z vašeho světa jsou placení výrazně hůř, než ze světa ne-IT firem, nebo ostatních IT firem. Přístup lidí z vašeho světa je roztomile mechanistický. Problém? Nasadíme balíček A. Jiný problém? Nasadíme balíček B.
Bohužel svět je složitejší. Vy zajišťujete inet, jako jiní zajišťují vodu nebo plyn. Lidé ve firmách řeší úplně jiné problémy. Například se potřebují přihlásit k počítači, a tím být přihlášení k celé síti (emailu, file serverům, DB, informačnímu systému). Jedno přihlášení, jedno heslo, jedno místo na změnu jesla, žádné ukládání hesla v plain textu.
Jako trivialitu vezmeme file server. Ten musí podporovat single sign-on (ono jednotné přihlášení), podporovat dlouhé názvy (a dnes Unicode), umožňovat změnu permissions a dalších atributů souborů stejně jako na lokálním disku, přístup musí být jako na lokálním disku (přes funkce FS), a hlavně musí umět zamykání. Tedy například když si otevřete soubor dopis.doc k zápisu, nikdo další ho nesmí otevřít k zápisu. Ke čtení ho ovšem můžete otevřít. Samozřejmě permissions mají formu access control listů (ke zdroji "HR data" smí přistupovat skupina "HR admins", ta je definovaná centrálně na jiném serveru). Když to promyslíte do důsledku, FTP je vám úplně na nic.
Uživatelské účty jsou definované v centrální databázi, a lidé se s nimi přihlašují rovnou ke strojům (plus viz výše single sign-on). Požadavky na ověření permissions se pochopitelně musí "konzultovat" s centrálním serverem, který drží účty. Když máte pobočky, bylo by ověřování příliš pomalé (účtů mohou být desítky či stovky tisíc, operací ověření o pár řádů více), takže se používají replikované databáze uživatelských účtů (od Windows 2000 jsou to multiple master databáze s konvergencí).
Když shrneme prosté sdílení souborů, tak vidíte, že produkty, které používáte na inetu, nelze aplikovat. Výjimkou je leda TCP/IP ;). No a sdílení souborů je ekvivalentem webového serveru se statickými stránkami - zvládne to dítě. Jakmile máte dat na FS nějaký ten TB, a jsou v malých souborech (což dost prodlužuje zálohy), začnete uvažovat o tom, že je z file systému migrujete na nějaké levnější médium. Například můžete vzít soubory, které se pár let neměnily, a uložit je na páskovou knihovnu. Samozřejmě tak, aby je uživatelé dále viděli na file systému (pohromadě s novějšími soubory), a pokud možno nepoznali rozdíl (možná se to bude otevírat déle). Zároveň ale odložené soubory už nechcete zálohovat, když už jednou na pásce jsou. Hned je to o kousek zajímavější.
Také nezapomínejte, že neexistuje žádné "když tak o ta jejich data prostě přijdeme", které znáte z hostingu. Firma nesmí ztratit data, systémy musí běžet. Jenom prosté řešení zálohování a obnovy může být dost obtížné. A to pořád nejsme nijak blízko tomu, co firma vlastně dělá...
Když už tady tvrdíte, jak je to IIS špatné a děravé. Tak proč nebyla za celou dobu existence IIS6 zatím vydána ani jedna bezpečnostní záplata? To je asi strašně děravá aplikace ;)
A k rozšířenosti, podle posledních statistik Netcraftu má Linux(Apache) 50% serverů a Windows(IIS) pak 35%. Vím, že to nejde brát jako naprosto přesnou statistiku, ale na hrubé porovnání to stačí.
Takže jak je tedy IIS nebezpečný a málo rozšířený? Jo, a jak znásilňuje IIS RFC?
IIS znasilnuje RFC: When using SSL, Microsoft IIS will violate the protocol by closing the connection without sending a close_notify indicator. PHP will report this as "SSL: Fatal Protocol Error" when you reach the end of the data. To workaround this, you should lower your error_reporting level not to include warnings. PHP 4.3.7 and higher can detect buggy IIS server software when you open the stream using the https:// wrapper and will suppress the warning for you. If you are using fsockopen() to create an ssl:// socket, you are responsible for detecting and suppressing the warning yourself.
Ano je tezke najit firmu UPLNE bez Windows, ale to je bohuzel predevsim dano IS ...
Ale treba takovy Atmitec uz nabizi reseni K2 na Oracle a unix, coz je super a zakaznici to jen vitaji ...
Proboha, a co si asi myslíte, že O2 a Vodafone dělají za business? Že vystavují pár stránek na webu? Mají desítku tisíc klientských počítačů (na Windows), používají tisíce serverů, desítky či stovky aplikací napsaných na zakázku, a mají stovky různých databází. Asi jste nikdy neviděl, jak funguje větší firma. Jinak si neumím představit, proč mluvíte o nějakých webových stránkách.
Ale zkusme to jinak. Jestli jste z Prahy, zkuste se jít podívat na roh ulic Jana Želivského a Olšanské. Při pohledu směrem na Olšanské náměstí máte vlevo věž MTTU, které je Telecomu. Po pravé straně až k Olšanskému náměstí patří všechny budovy také Telecomu (s výjimkou pošty). Jenom v těchto budovách najdete stovky serverů, naprostou většinu z nich na Windows. Někde tam asi bude i MS Exchange server na interní poštu. A na kolika serverech si myslíte, že běže externí web? Nednom, nebo na dvou? Už je vám jasné, jak jste mimo?
LO fakt magor na entou ...
Pokud nenastavim lokalniho admina na klientske pocitace v tech NEKOLIKA firamach, ktere spravuji PREVAZNE sam, tak si proste IS ani neskrtne .. Nicmene, protoze ostatni servery mam linuxove, tak nemam do ceho pichnout, servery bezi leta bez restartu a logy se mi posilaji na mail a aktualizace se delaji automaticky ...
Reseni paskvilu jmenem Windows je Virtualizace, nebot virtualizace (kterou samozrejme ridi UNIX, kvuli rychlosti, bezpecnosti a finkcnosti) mi umoznuje "zakonzervovani" windows serveru, ktery se nerozesere sam (aktualizace od MS) a nebo nejakym zasahem od pseudo admina ... :-)
Aha, takže ve Windows aktualizace "rozesírají", kdežto v Linuxu je necháte běžet automaticky. Pěkné ;)
K čemu potřebuje váš IS lokálního admina? V naprosté většině případů lze triviálně dohledat, že je to díky zápisu na FS nebo do registry, kam hrbat nemá. A stejně triviálně lze kontaktovat support daného produktu, a nebo povolit přístup k danému místu i ne-adminům. Jestli tohle nevíte a neumíte, zamyslete se, jestli tím pseudo-adminem nejste vy.
Opět je zajímavé, že jste schopen trávit hromadu času tím, že se učíte ovládat vi, memorujete se příkazy a jejich syntaxi, ale na jednoduchou administraci Windows nezyl čas. Nebo prostě administraci podceňujete, a když pak na Windows nejde klient IS, tak jenom řeknete "zkurvený Windows, potřebují admina i pro blbý klient IS"?
Koncepcne spatny, jo jo ... tyhle neomylne pravdy prevzane z blesku a root diskuzi, me vzdy dokazou dojmout:) Kdyby jeli na unixu, tak .... tak by se za nej platilo nebo pockej, dyt se za nej platilo a jeste plati! Z unixu se prechazi lehce, kdyz je linux jeho plagiatem. To je fakt, je to chyba windows, ze jsou nekompatibilni, meli tez oprat unix a neprinest nic noveho ... OMG, ze ja tu ztracim cas, to se degeneruju na tvoji uroven ....
To je docela dost pravdepodobne, ale okolo XP takovy humbuk zdaleka nebyl. Navic firmy zacly XP skutecne "resit" az po SP1, ale vzhledem k tomu ze SP1 pro vistu bude spis jen kosmeticky, na pristupu asi moc nezmeni.
Nehlede na to, ze XP/2k prinesly spolu spoustu veci, ktere do te doby nebyly mozne, vista proti tomu neprinasi nic(novy kernel neprinasi z uzivatelskeho hlediska nic a z hlediska spravce taky nic, blba sprava pameti me v pripade ze pouzivam word a excel taky netrha zily, ...), jen problemy(spousta znamych chyb - napr nefungujici sitovani a domena = z firemniho hlediska naprosto neakceptovatelne) a potencialni problemy(vsemozne firemni aplikace a IS na tom proste nebudou fungovat).
Jinak sem pri svem prvnim setkani s Vistou z administratorskeho hlediska byl zatracene zoufaly, protoze tam kde bych ocekaval nastaveni samozrejme nebylo, a jen overit konfiguraci site = 1/2 hodiny hledani a stourani se vsude mozne(menu o X urovnich je fakt uzasny).