To jako ze ten kdo umi 'C' je neco lepsiho nez ty co umi 'jen' PHP+SQL? Proc? I v PHP se daji napsat velke projekty a i v C se da udelat ptakovina!
PS: prestoze delam v PHP tak trome toho umim i par dalsich veci. No a co.
Ono je i neco spravneho na nazoru, ze proceduralni jazyky nas velmi zkazily a ze kdyby jsme se venovali od zacatku funkcionalnimu programovani - coz je lidskemu chapani daleko blizsi (a to vcetne netechniku) - tak by mozna urcitou dobu byl vetsi hlad po vypocetni sile, ale dneska by to vypadalo jinak... - vemte si, jak stoup vykon HW za poslednich 10 let... - vite jak dneska suprove behaji Win3.11... - myslite si, ze tech technickych novinek je v tech OS podstatne vice, aby se ospravedlnilo to zabiti hrubeho vykonu na srovnatelnou uroven pred 10 lety?
Ale na rozdil od Vasi velmi jizlive poznamky jsem soudny a mohu Vas ujistit, ze kompilator jazyka C jste schopen bez problemu v tomto jazyce implementovat (vcetne operacniho systemu kde vznikl - ostatne jazyk C byl jen pruvodni produkt, stejne jako treba mnoho technologii pri vyvoji Mozilla) - dokazete to same v PHP? Pokud porad nechapete rozdil mezi ruznymi stupni abstrakce, smula, diskuse na toto tema s Vami nema smysl...
U PHP byste musel zajistit spoustu veci a to nejen syntaxi jazyka {kterou bohuzel/bohudik neoplyva), ale i modulu... u PHP vsak ted narazite na syntakticka omezeni jazyka...
Assembler je dobra vec, ale je zajimave, ze na psani OS se v soucasne dobe pouzivaji jazyky C, pripadne C++, ci jine OBJEKTOVE (treba NextStep IMHO neni ani v ASM, ani C/C++)... A kupodivu ani Linux nebyl stvoren v assembleru, ale v jazyce C... - ASM moduly se doplnily pozdeji (a nutno pro kazdou platformu)...
Ostatne, kdyz uz jste u techjazyku vs. OS, nekde jsem cetl, ze vnitrnosti MS DOSu byly implementovany pomoci cele plejady jazyku (mam potvrzeno) - Assembler, Pascal, C, Basic, SmallTalk, Clipper, C++ (pozdejsi verze DOSu) - skutecna dzungle, vidte...
Muzete namitat, ze to jeste potrva, zrejme ano, ale trend je zretelny, muze se nam to nelibit, ale proti proudu jit nedokazete ani Vy... povime si za 5 az 10 let, ju?
Jinak k tomu dalsimu - prepinani, VM apod. - nejsou to nahodou takove ty nesmysly, kteryma nas oblazil Intel, pred vice jak 18 roky? Skutecne jine architektury maji tak zblastleny navrh a pozadavky?
A posledni - zadefinoval jste co to je pro Vas kernel, ze tvrdite takove obecne naprosto mylne tvrzeni?
PS: Co treba cele JVM - ano dneska vetsinou jeste SW, otazka HW JVM je zajimava a verte, ze i Intel pracuje, co potom pro Vas bude kernel a co user space?
x86 architektura se tahne jiz 25 let, ve sve dobe mela mozna sve opodstatneni, velmi malo se ale vi, ze I8086 byl takovy bastl prave proto, ze Zilog se svou Z80 byl jiz napul 16-ti bitovy (mel cast aritmetiky 16-bitovou, nektere registry byly 16-ti bitove...) a Intel citil, ze ztraci dech... - proto vzal I8080 (ktery zacal u I4004 - pokud jste ho nekdy videl na fotce, tak i studak by se za to stydel), rozsiril ho na 16 bitu a mel 16-ti bitovy procesor, na rozdil od Zilogu, ktery pracoval na opravdu kvalitnim zaklade.... - bohuzel pro CPU historii to Intelu proslo, zhruba asi tak Gatesovi haluz s MS DOS (vite, co mel a co Gates nasliboval, ze v roce 1986 bude MS DOS umet? - ja trochu ano... skoda, ze sef DECu byl na vode...:-(). Jenze jiz v dobe x86 architektury tu byly jine, chcete rici, ze UNIX pro PDP a jine davno zapomenute systemy byl psan v ASM? Proc tedy vubec jazyk B a pozdeji C vznikl?
Pod pojmem kernel ovsem popisujete neco, co ma sve koreny casto v x86 architekture s BIOSem apod... - zapomente na x86 a reknete mi, co je OS v pripade Z80 ci Z8000, reknete mi co je OS v pripade, ze zapnu pocitac, nabehne procesor a zacne vykonavat JVM - co se stane, kdyz se zinicializuje mikrovlnka ci jine elektronicke zarizeni? Co se stane, kdyz zapnu mobil, ktery ma ovladani implementovane pomoci Java, co se stane, kdyz Xscale procesor (opet Intel) bude nativne vykonavat byte kod javy? Kdepak mame ten kernel o kterem mluvite (ja znam z tohoto pohledu jen objekty a ruzne casti Java API a pridruzenych technologii)?
Mozna pouzivate jen podivne pojmoslovi, ale co myslite systemovymi funkcemi procesoru? Ja znam, ze procesor ma nejake I/O s periferiemi (do cehoz patri komunikace pomoci preruseni (IM2, NMI, INT...), komunikace pomoci I/O (IN, OUT), pomoci pameti (vcetne sdilene a mapovane), pomoci rezervovanych instrukci (soucasti instrukce je prikaz ci data)), ALU, blokove operace (pametove presuny) a jednotku pro rizeni toku behu (CALL, podminene/nepodminene skoky, smycky...). Podivejte se jak uvnitr vypada treba Crusoe...:-). O nejakych systemovych funkcich nic nevim, co mate na mysli?
Jak rikam, plati to vesmes, protoze jste zrejme nezaznamenali plan Intelu (SUN se o to pokousel uz v minulosti, udajne ciste Javovske procesory jsou, ale vyroba a veci okolo jsou v cene, ze je vyhodnejsi to nechat zpracovavat patricne dimenzovana pecka...) ze do novych procesoru Xscale (? - jmeno mozna neni presne) urcenych mimo jine do mobilnich zarizeni a jinych elektonickych inteligentnich pristroju zabuduje instrukcni sadu prave odpovidajici byte OP-kodum Javy pro nativni beh Javy... Takze pokud se to povede (jako, ze kdyz uz to takto vyhlasil Intel, tak to ma skoro dotazene do vyrobni linky), tak JVM a procesor v podstate jedno budou - procesor bude znat bajtkod a predhazovat se tomu budou classy...
Potreba/nepotreba kernelu IMHO neni o CPU, ale o architekture elektronickeho zarizeni jako celku a jeho komunikaci...
A k tomu ASM pro byte kod - ja o zadnem nevim, ASM se bezne oznacuje jako Strojove Orientovany Jazyk (SOJ) k cemuz ma kompilator Javy dost daleko. Navic preladac ASM dela konverzi SOJ -> strojovy kod, to Javac nedela...
Myslim si, ze je to vhodna tecka teto diskuse.
Na Jave toho beha sakramentsky hodne a nejen v embedded systemech, zrejme o tom moc nevite, proto tuto oblast povazujete za okrajovou, nevadi, skutecnost je vsak jina...
S tim mikrokernelem je to mozna skoda, i MS ale dosel na to, ze hruby vykon nedostacuje na rozumny normalni vykon systemu takto zalozenem... - proto tento styl opustil. Bohuzel jak uz jsem psal, hruby vykon CPU stoupl nehorazne a rovnez nehorazne se zabil, misto toho, aby se vyuzil treba na komunikaci s mikrokernelem...
A kdepak se vali syntaxe toho "symbolicky zapsaneho java bytekodu"? Ja o zadne nevim - neco co by se blizilo AT&T ci Intel syntaxi? Nebo Sun uz udelal svou syntaxi? Ja opravdu o zadne nevim, prepis binarnich dat z jedne mnoziny do jine nepovazuji za assembler, to je JIT...