Impresszív memóriakezelési fejlesztések érkeztek a ReactOS-be

Címkék

A legfrissebb build-ekben a teljes ReactOS lefordításához szükséges konfigurációs fázis végrehajtása körülbelül 15 percet vett igénybe. Jerome Gardou memóriakezeléssel kapcsolatos munkái nyomán ez az idő lecsökkent előbb 3 percre, majd ... 50 másodpercre ...

Hozzászólások

Mostanaban nagyon belehuztak.

Valaki ossze tudna foglalni 1-2 mondatban hogy hol tart most a project, mik a realis elvarasok egy aktualis ReactOS-sel szemben? Egyszeru windowsos toolok/appok mekkora esellyel futnak, esetleg van mar jatek ami hasznalhatoan megy rajta, stb?

Kezdi utolérni az xp-t, de, hogy mennyi van még addig, az jó kérdés.
Ami a programokat illeti, itt vannak összegyűjtve az egyes verziók teszteredményei, hardware-kompatibilitás és az egyes komponensek portolása, itt pedig pár kipróbált játék van felsorolva, de tekintve, hogy a ReactOS és a WINE project elég szorosan együttműködik egymással, a WINE AppDB-vel elég sok átfedés lehet az SW-kompatibilitás terén.

nagyon nincs mirol, felraktam, mukodik (browser telepitesenel mondjuk vakartam a fejem, van Firefox meg Opera, kulonbozo verziokkal, de fogalmam sincs hogy milyen pl a firefox szamozasa, es a 3.X vagy a 48 az ujabb :D vegul felraktam a legnagyobb verzioszamut, mukodik)

lelottem a virtualis gepet, de ha esetleg majd valami windows-only cuccot kellene hasznalni valamikor, akkor siman beprobalom rajta

Nem tudom, mennyi létjogosultsága van még a ReactOS-nek (szerintem nem sok).

GitHub statisztika: https://octoverse.github.com/

Ezek szerint a 4 legnépszerűbb nyelv: JavaScript, Python, Java, TypeScript. Ezek mind platformfüggetlen nyelvek.

De konkrétan ez azt jelenti, hogy a legtöbben a webre fejlesztenek, ahhoz meg elég webböngésző a kliens oldalon, mindegy, hogy milyen operációs rendszer fut.

Ennyi erővel egyetlen OS-nek sincs létjogosultsága, csak tudnám akkor mi fogja futtatni a böngészőt; a cyber-stricik? BTW, a Photoshopnak van már brózerből futtatható klúdos jávaszkript portja? :P
(Amúgy nem is tudtam, hogy csak a 4 legnépszerűbb nyelv számít.)

A böngészőt futtatja a Windows, Mac, Linux, Android vagy ChromeOS.

De amúgy igen, egy ponton az is eljöhet, hogy a böngésző maga lesz az oprendszer (mint a ChromeOS).

A felhasználók nagy része már most is azt csinálja, hogy bekapcsolja a gépet, megnyitja a webböngészőt, utána dolgozik, játszik, filmet néz, zenét hallgat, majd bezárja a böngészőt és kikapcsolja a gépet. Mindeközben csakis a webböngészőjét nyitotta meg, más programot nem.

Photoshop-hoz hasonló nagyon sok webes grafikus program van már, nyilván a pro-k azok továbbra is maradnak a Photoshopnál, de a legtöbb felhasználónak nem is kell Photoshop.

Ott van pl. a Canva.com, jelenleg a világon a 78. leglátogatottabb weboldal az Alexa szerint, és csak böngésző kell hozzá.

A felhasználók nagy része

Jó ez az egzakt, számszerűsített és forrásokkal alátámasztott adat, de mi lesz a többi felhasználóval? Pl. azokkal, akik nem a browserrel néznek videót, vagy hallgatnak zenét és összehoztak csak a VLC-nek 3 milliárd letöltést? Vagy, akik nem online dolgoznak és 30 millióan szedték le a LibreOffice-t csak 2020-ban? Vagy mi lesz a PC-Gaming iparággal, ami dollártízmilliárdokat ér és egyre növekszik?

nyilván a pro-k azok továbbra is maradnak a Photoshopnál, de a legtöbb felhasználónak nem is kell Photoshop.

Nem csak a "pro-k" használnak Photoshop-ot, de ez igazából mellékes. Ami fontos, hogy ők hogy tudják majd használni, ha az OS egy darab browser lesz?

Videó- és zenefogyasztás ma már szinte csak a böngészőből történik, lásd YouTube, Netflix, közösségi médiás videók (Facebook, Instagram, Twitter), Spotify stb.

LibreOffice-et én is használom, de teljes mértékben ki tudnám váltani mondjuk Google Apps-szal. Szerintem csak megszokásból használom. A LibreOffice-t is meg lehetne írni teljes mértékben JavaScriptben.

A Photoshopot nem tudom, hogy megírták-e már Javascriptben, de hogyha nem, akkor csak idő kérdése.

De a Photoshop az hogyan kapcsolódik ide? A legújabb Photoshop működik ReactOS alatt?

Videó- és zenefogyasztás ma már szinte csak a böngészőből történik, lásd YouTube, Netflix, közösségi médiás videók (Facebook, Instagram, Twitter), Spotify stb.

Újabb számszerűsített és forrásokkal alátámasztott adatok. Az a többmilliárd ember, aki meg playereket használ, az meg csak nem tud róla, hogy browsert használ.

LibreOffice-et én is használom, de teljes mértékben ki tudnám váltani mondjuk Google Apps-szal.

Más meg nem tudja kiváltani. Akinek VBS támogatás kell, az még az ms offickákat sem tudja kiváltani LOo-val sem.

A Photoshopot nem tudom, hogy megírták-e már Javascriptben, de hogyha nem, akkor csak idő kérdése.

Az ipari kémek kedvelik ezt.

De a Photoshop az hogyan kapcsolódik ide?

Miért, a webkettő reklámja hogy kapcsolódott ide? Na, ahhoz kapcsolódott a PS, mint példa, amit nem fogsz browserből futtatni.

A legújabb Photoshop működik ReactOS alatt?

Nem valószínű, de windows és macOS alatt működik, márpedig a logikád mentén azoknak sincs létjogosultsága.

Ez már offtopik, úgyhogy visszatérve a ReactOS-hez: tényleg nem látom a létjogosultságát. 

Valószínűleg olyanok lehetnek a célcsoport, aki Linuxot használ, és valamiért nagyon akar egy Windows-only programot futtatni, ami nem elérhető Linuxra. És Wine alatt nem fut a program.

Ha ez egy egyszerűbb program: akkor már tuti megírtak webes verzióban Javascript-ben egy hasonló vagy akár jobb programot, vagy esetleg böngésző-kiegészítőként. Az meg fut Linux alatt is, tehát nem kell a ReactOS.

Ha ez egy bonyolultabb program (pl. Photoshop): az meg nem fog futni ReactOS alatt, pont azért, mert bonyolult program.

Ez már offtopik

(Már az elejétől offtopic volt.)

úgyhogy visszatérve a ReactOS-hez: tényleg nem látom a létjogosultságát.

Valószínűleg olyanok lehetnek a célcsoport, aki Linuxot használ, és valamiért nagyon akar egy Windows-only programot futtatni, ami nem elérhető Linuxra. És Wine alatt nem fut a program.

A ReactOS-nek valóban nem túl sok létjogosultásga volt, amíg a winxp-s és win7-es időket írtuk, de most a win10 érában egyre több létjogosultsága van. Egy használható windows, aminek a windowsos szoftverpark létezése miatt lesz létjogosultsága még jó darabig...

Ha ez egy egyszerűbb program: akkor már tuti megírtak webes verzióban Javascript-ben egy hasonló vagy akár jobb programot, vagy esetleg böngésző-kiegészítőként. Az meg fut Linux alatt is, tehát nem kell a ReactOS.

...ugyanis nem írják meg minden program webes alternatíváját; lécci mutass már egy webes filemanagert, vagy egy IrfanView szintű képnézegetőt/képmanipulátort, vagy egy 3DS Max/AutoCAD/Blender/Maya szintű modellezőprogramot. Egyszerűen a web nem mindenkinek alternatíva, ugyanis egyrészt nem mindenki szeretné felhányni mindenét a rohadt felhőbe, másrészt meg a JS "sebessége" a natív megoldásokhoz képest röhejes. A stabilitásról és a rendszerigényekről ne is beszéljünk.

Ha ez egy bonyolultabb program (pl. Photoshop): az meg nem fog futni ReactOS alatt, pont azért, mert bonyolult program.

Ezt nem tudom miféle logika mentén sikerült kihozni... A ReactOS célja egy nyílt forrású windows létrehozása. Ha ezt megcsinálják, akkor tök mindegy milyen bonyolult, menni fog alatta minden, ami windowsos. Egyébként csak úgy szólok, hogy a Photoshop-ok többsége több-kevesebb sikerrel megy WINE alatt is. Akkor ReactOS alatt miért is kizárt, hogy menjen, ha az underlying system tudja futtatni?

Photoshop-hoz nem tudok ennél jobban hozzászólni, én nem használom. Gondolom aki használja és pénzt keres vele, annak nem elég, hogy "több-kevesebb" sikerrel fusson, hanem ő a legújabb verziót akarja futtatni mindenféle gond, lefagyás nélkül, ügyfélszolgálati támogatás mellett. Ha ezt nem tudja a ReactOS/Wine, akkor az illető inkább fog használni legújabb Windows vagy Mac operációs rendszert.

Én személy szerint a Canva.com-ot használom 2D grafikára, az megy böngészőből minden platform alatt.

Webes fájlkezelő nyilván létezik a felhőben tárolt fájlok elérésére. Nyilván a saját gépen tárolt fájlokhoz csak a saját gépen futó fájlkezelő a megfelelő. Kivéve, hogyha minden fájlod szinkronizálva van a felhőben, akkor viszont elég egy webes fájlkezelő is.

Én Linux alatt a Gthumbot használom (telepíthető program), eddig nekem mindent tud amit kell. Bonyolultabb grafikához a Canva-t.

Modellezőprogramot nem használok, gondolom a pro-k itt is a jól bevált telepíthető programokat használják még, de szerintem azokat is át lehetne tenni webre. Van már 3D gyorsítás a böngészőkben is.

Tudomásom szerint a komoly tervezőirodák már így is rengeteg havidíjat fizetnek felhőszolgáltatásért (pl. Azure, AWS stb.) mert olcsóbb mintha saját gépeket vennének, amiket nem is használ ki az idő nagyobb részében. Szóval itt pont nagyon hasznos lenne, ha eleve felhőben futnának a tervezőprogramok, és a szerver végezni a számításigényes feladatokat.

Webes fájlkezelő nyilván létezik a felhőben tárolt fájlok elérésére. Nyilván a saját gépen tárolt fájlokhoz csak a saját gépen futó fájlkezelő a megfelelő. Kivéve, hogyha minden fájlod szinkronizálva van a felhőben, akkor viszont elég egy webes fájlkezelő is.

Erről van szó: aki nem akarja felszórni a felhőbe a cuccait, annak erre már nincs alternatívája.

Én Linux alatt a Gthumbot használom (telepíthető program), eddig nekem mindent tud amit kell. Bonyolultabb grafikához a Canva-t.

A Gthumb nem webes, a Canva meg teljesen más, mint az IrfanView. Szóval erre sincs webes alternatíva.

Modellezőprogramot nem használok, gondolom a pro-k itt is a jól bevált telepíthető programokat használják még, de szerintem azokat is át lehetne tenni webre. Van már 3D gyorsítás a böngészőkben is.

Nem a 3D gyorsítás a kérdés, hanem az, hogy a kezelőfelület, fájlműveletek, rendering és egyebek hogy valósíthatóak meg weben: szarul, vagy sehogy. Sokkal lassabb, körülményesebb és instabilabb lenne. És megint: nem mindenki akarja feltolni mindenét a felhőbe.

Tudomásom szerint a komoly tervezőirodák már így is rengeteg havidíjat fizetnek felhőszolgáltatásért (pl. Azure, AWS stb.) mert olcsóbb mintha saját gépeket vennének, amiket nem is használ ki az idő nagyobb részében. Szóval itt pont nagyon hasznos lenne, ha eleve felhőben futnának a tervezőprogramok, és a szerver végezni a számításigényes feladatokat.

Erre már kulcsrakész megoldások vannak; nemhogy szerver, de cluster-render is van. Helyi hálózaton elosztva. A nyavalyának ezt átültetni webre.

Tudok olyan magyar cégről akik iPad-re fejlesztenek professzionális CAD alkalmazást. UI szempontjából amit egy tableten meg lehet csinálni azt egy böngészőben is meg lehet csinálni.

Vagy ott van a TinkerCAD, ami ugyan nem professzionális, de az Autodesk valamiért mégis felvásárolta 2013-ban.

A SketchUp-nak szintén van böngészőben futó változata.

Videó- és zenefogyasztás ma már szinte csak a böngészőből történik

A saját szokásaidat és szemléletedet abszolutizálod.
Abból, hogy Te így élsz, esetleg több ismerősöd is, még nem következik, hogy mindenki, vagy akár a többség.

Én pl. kimondottan rühellem ezt a túltolást, hogy most mindent böngészőben meg javascript-ben kell megcsinálni. Majd vége lesz ennek is talán.

Dedikált szoftverrel nemcsak kevesebb erőforrásból oldható meg a feladat, hanem általában jóval kényelmesebben is.
(Amire persze nem kéne dedikált szoftver, arra erőltetik: Androidon minden nyavalyának van már külön applikációja, híroldalaknak, webshopoknak. Látod, ezek pedig pont, hogy simán mehetnének böngészőből. Ja de kell az app, mert így jobban tudnak követni. Hülye egy világ.)

Azért nem hülye dolog ez a kifordított világ?
Egy sima weboldalnak appot kell csinálni, a standalone applikációkat meg erőltetjük a webre.
Olyan világban nőttem fel, ahol mindent arra használtunk, amire való. Aztán egyszer csak azt vettem észre, mintha direkt próbálnának az emberek mindent misuse-olni. Nekem már a jutubon való zenehallgatástól is feláll a hátamon a szőr. Az insta is eredetileg fotó jellegű képek megosztására indult, mostanra meg kb. már azt mutogatják sokan, mennyit nőtt a farkuk a legutóbbi poszt óta. Valaki a múltkor azért szidta a WhatsApp-ot, mert nem tud benne faszán általános csoportokat szervezni. Jelzem, hogy nem is arra való.
És direkt arra megy minden, hogy már ne is tudd, ne is tudhasd, hogy a háttérben mi történik. Régen a PC-n nem villant fel úgy a HDD LED, hogy ne tudtam volna, mi fért hozzá a diszkhez. Ma meg tulajdonképpen fogalmad sincs róla, hogy a telefonodon az alkalmazások mit művelnek a háttérben, mit figyelnek és milyen adatokat továbbítanak, mi történik egyáltalán.

Szerintem ipari és beágyazott környezetben lesz helye a ReactOS-nek, éppen úgy, mint a FreeDOS-nak.

Igen, ez van. A világ változik, amerre a tömeget terelik a gazdagok, arra mennek sokan. Sok a reklám a youtubeon? Nem baj, nekem ez is jó. Nekem mondjuk nem jó, alig használom ezért.

Nagy itt az általánosítás. Foobar2000 zenére, vlc filmre, ott a bakelit, cd, dsd, audiophile emberek a sztereó csilliárdos hangfalaival nem böngészőből hallgat reklámos youtubeot.

Attól, hogy a tömegek a fizetett playlisteket hallgatják, még vannak más igényű csoportok, nekik a ReactOS hasznos lehet.

Nekem az a bajom a webes szarokkal, hogy ki kell adnom hozzá a kezemből a fájlt.

Online dokumentumkonvertereket sem szeretem. Nem értem, miért nem tudna végbemenni a saját gépemen a konverzió, egy párszáz kilobájtos progi által. Illetve de, értem. Hát a büdös faszt.

Bocs, de az nem ugyanaz. Ott volt egy natív program, aminek a felületét fel lehetett programozni webes eszközökkel, mert ott adott volt a webes környezet; ugyanezt tudta a Classic Opera is. Nem JS-ben írták a programot, csak JS-ből lehetett pluszba ráaggatni dolgokat. Az nem ugyanaz.

Nem JS-ben írták a programot, csak JS-ből lehetett pluszba ráaggatni dolgokat.

Hat azert eleg nagy resze JS-ben volt irva. Igen, a renderer maga nem, de korulotte kb minden, az osszes menupont, a settings screen, a bookmark management, hogy legyenek tabjaid meg anyamkinja.

Kivancsisagbol nyomtam egy clocot a mostani Pale Moon masterra, az elso par sor:

---------------------------------------------------------------------------------------
Language                             files          blank        comment           code
---------------------------------------------------------------------------------------
C++                                   9504         690799         527875        3830318
JavaScript                           21200         424541         487032        2344200
C/C++ Header                         12749         383877         719500        1975299
C                                     3672         299133         428058        1934739
HTML                                 32216         215315          87513        1699346
Python                                3495          93255         124765         398916
XML                                   2325          24176           6616         302267
Assembly                               463          30417          31063         181379

Igen, a C/C++ kod tobb, de azert a javascript se olyan hogy csak raaggatunk 1-2 dolgot es kesz.

I hate myself, because I'm not open-source.

Hát ez magyarázza, hogy miért volt lassabb a XUL, mint a Classic Opera felülete... Viszont ez még mindig nem az, amiről a kolléga beszélt, mert ő azt mondta, hogy megírják webre. Nem JS-ben írt cuccok vannak egy browsermotor mag felett, hanem, hogy a weben van az egész.

Miért, ez egy teljes értékű browsernek számít? Egyébként meg még ha meg is írnának egy browsert, ami browserben futna, akkor is kellene hozzá a natív browser. Sok értelme lenne, mondhatom... Azt hiszem még mindig nem értetted meg a kérdés lényegét.
És egyébként ennek megint semmi köze nincs ahhoz, amiről szó volt; mert ez ha node.js-ben, ha browsermotorban fut, ez megint egy helyi valami, nem webes cucc.

Jo, amig nem csinalnak processzort aminek a nativ utasitaskeszlete a JS addig nem lesz jobb. De ugyan ez van .NET, Java, Python, meg az osszes tobbi scriptnyelvvel.

helyi valami, nem webes cucc.

Most nem ertem. Ha felmesz egy random HTML5-os weblapra az letolt egy fel gigabyte javascriptet ami a lokalis gepeden fog futni, az se webes?

I hate myself, because I'm not open-source.

o, amig nem csinalnak processzort aminek a nativ utasitaskeszlete a JS addig nem lesz jobb. De ugyan ez van .NET, Java, Python, meg az osszes tobbi scriptnyelvvel.

Ez csak az egyik baj, de az OS is hiányozni fog alóla.

Most nem ertem. Ha felmesz egy random HTML5-os weblapra az letolt egy fel gigabyte javascriptet ami a lokalis gepeden fog futni, az se webes?

Kommunikál a szerverrel bármi módon? Akkor webes. Nem? Akkor nem. Akkor is, ha a webről töltötted le, mert utána amit letöltöttél, ugyanúgy használhatod cache-ből, offline mentésből, amiből akarod. Attól webes valami, hogy kell neki a web, attól webes, hogy a weben van és nem a gépeden. Ha egy webpage letöltés után mindent el tud végezni offline, az nem webes, hanem csak JS/HTML/CSS alapú.

de az OS is hiányozni fog alóla.

Szerintem csak ido kerdese hogy valaki belerakjon egy js runtimet egy kernelbe (systemd-be mar kb van ha jol tudom). Microsoft probalkozott anno .net-ben irni egy kernelt, meg itt wikipedian van egy par masik kernel ami nem nativ kodot futtat: https://en.wikipedia.org/wiki/Singularity_(operating_system)

Kommunikál a szerverrel bármi módon?

Na varjal, ez eleg sok mindenre igaz aminek semmi koze a HTML-hez meg javascripthez meg tarsaihoz. Pl az IRC kliensem. Es ha alapvetoen kell neki a web, de van valami offline cache-e amivel limitaltan tud mukodni, az mindek szamit? Mondjuk az email kliensem, ami emaileket letoltott a cache-be azt meg tudom nezni web nelkul is, de az ujakat nem fogom megkapni meg emailt se tudok kuldeni.

I hate myself, because I'm not open-source.

Szerintem csak ido kerdese hogy valaki belerakjon egy js runtimet egy kernelbe (systemd-be mar kb van ha jol tudom).

A mibe? A kernel az OS magja. Akkor már van alatta OS. (Biztos jó gyors felállás lesz egyébként.)

Microsoft probalkozott anno .net-ben irni egy kernelt

Nem az volt a windows vista?

meg itt wikipedian van egy par masik kernel ami nem nativ kodot futtat: https://en.wikipedia.org/wiki/Singularity_(operating_system)

De itt megint van alatta kernel.
És már megint másról beszélünk, amiről szó volt: hogy a browserből fusson minden, webes alapokon. Mi fogja futtatni a browsert? Majd a kernelnek is lesz szerveroldali része, vagy mi? Mibe írják azt meg? És a browsert? Ennyire nem érthető, hogy ez a koncepció egy marhaság?

Na varjal, ez eleg sok mindenre igaz aminek semmi koze a HTML-hez meg javascripthez meg tarsaihoz. Pl az IRC kliensem. Es ha alapvetoen kell neki a web, de van valami offline cache-e amivel limitaltan tud mukodni, az mindek szamit? Mondjuk az email kliensem, ami emaileket letoltott a cache-be azt meg tudom nezni web nelkul is, de az ujakat nem fogom megkapni meg emailt se tudok kuldeni.

Itt arról volt szó, hogy minden is a browserben fog futni és kliens, meg szerveroldali része lesz. Erről beszélünk, hogy mindent nem lehet így megcsinálni, pl. a browsert sem. Miféle browser az, aminek szerveroldali része van? Csak egy helyre tud felcsatlakozni és majd az fogja neki lekérni az egyes oldalakat? És azt miben fogják megírni és hogy fog működni, ha annak is szerveroldali része lesz? A szervernek is lesz szerveroldali része?
Mondom akkor máshogy: itt arról volt szó, hogy website-ok lesznek szoftverek helyett. Nem IRC/FTP/mail/whatever-kliensek és nem is egy sima HTML dokumentumok, hanem website-ok, amiket a browserből használsz és net nélkül nem fog menni, nem fogsz tudni dolgozni vele.
Azért baromság az egész, mert amik ezt lehetővé tennék, azokat is abban kéne megírni, amit lehetővé tettek, ami pedig lehetetlen.

Valamennyi natív kódra nyilván szükség lesz, de annak (sajnos) van realitása, hogy a programok 99%-át gyávaszkriptben írják. Hasonló folyamatra már van példa: asztali és szerver számítógépeken az OS és a compilerek kivételével szinte teljesen eltűnt az assembly.

Psszt, elárulom az IP-címemet: 192.168.0.14

Az lehet, hogy a programok többsége valami elektronhoz hasonló szutyokban fog íródni (a 99% azért erős túlzás), de még egyszer: nem arról volt szó, hogy JS-ben meg lehet-e írni egy adott programot, hanem arról, hogy a webes felállást (szerver<->kliens) képtelenség minden programra ráhúzni.

Dehogynem. Ha hasznalsz ssh-t, VNC-t vagy remote desktopot az mar lenyegileg szerver-kliens felallas (az hogy most a szerver az most egy irodai gep vagy egy datacenterben valami node az ilyen szempontbol tokmindegy). Ez mar mukodik kb mindenre ami nem nagyon idoziteserzekeny. Jatekoknal is van mar valami google stadia vagy mi a pek. Meg az ilyen always online DRM-es szarok is kb igy mukodnek, hogy a jatek egy resze az igazabol valami random szerveren fut, hogy nehezebb legyen feltorni/visszafejteni.

I hate myself, because I'm not open-source.

És a VNC/RD/ssh szerver min fog futni? Az is a browserben? Nem lehet minden szoftverre kliens-szerver felállást felhúzni, a szerveroldali résznek nincs kliens, meg szerveroldala, az a szerver (hogy nézne már ki, ha egy Apache/nginx/Lighttpd/thttpd webszervernek is kellene szerveroldal, ahova kapcsolódik, mert browserben fut a webszerver), de ettől függetlenül sem függhet minden a hálózati kapcsolatoktól.

Mindenre lehet kliens-szerver felallast csinalni, legfeljebb nincs ertelme. De nezzunk valami random weblapot, te csatlakozol valami cdn-hez, ami vagy kiszolgalja a tartalmat cache-bol, vagy tovabb hiv az upstreambe, ahol valami akarmilyen nyelven irt dolog csatlakozik egy adatbazis szerverhez, de az valami fault tolerant ize ahol ilyen 5 node van osszekotve egy clusterbe es mindegyik csatlakozik mindegyikhez, es mondjuk tobbsegi szavazassal dontik el hogy kinek legyen igaza, csak hogy meg azt se lehessen egyertelmuen megmondani hogy melyik a kliens es melyik a szerver.

nem függhet minden a hálózati kapcsolatoktól.

Hat pedig eroteljesen erre fele halad a vilag. Ilyen IOT meg hasonlo teruleteken teljesen normalis hogy ha nincs internet akkor teljesen hasznalhatatlan barmire a kutyu. Ha egyszer lehal az AWS, akkor lehal a twitter amitol meg lehal minden ami a twitter apit buzeralja, azt meg ki tudja hogy az AWS mitol fugg, de biztos annak is van valami gyenge pontja.

I hate myself, because I'm not open-source.

Mindenre lehet kliens-szerver felallast csinalni, legfeljebb nincs ertelme.

Hogy lehetne már? Ami maga is szerver, annak is kapcsolódnia kéne egy szerverhez? Tényleg nem érted, hogy egy végtelen láncot kreálnál ezzel?

De nezzunk valami random weblapot, te csatlakozol valami cdn-hez, ami vagy kiszolgalja a tartalmat cache-bol, vagy tovabb hiv az upstreambe, ahol valami akarmilyen nyelven irt dolog csatlakozik egy adatbazis szerverhez, de az valami fault tolerant ize ahol ilyen 5 node van osszekotve egy clusterbe es mindegyik csatlakozik mindegyikhez, es mondjuk tobbsegi szavazassal dontik el hogy kinek legyen igaza, csak hogy meg azt se lehessen egyertelmuen megmondani hogy melyik a kliens es melyik a szerver.

És ezzel most azt akartad megindokolni, hogy fusson a szervergépen egy browserből a webszerver és csatlakozzon egy másik szerverhez, ami szintén egy browserben fut és neki is egy szerverhez kellene csatlakozni? Tényleg nem érted, hogy hol van az irdatlan logikai baki abban, hogy minden szoftver működjön kliens-szerver alapon?

Hat pedig eroteljesen erre fele halad a vilag.

Mert a nagy cégek erőltetik, de nem lehet egy sémát ráhúzni mindenre. Mindig lesz olyan szoftver, amire nem lehet ráhúzni a kliens-szerver sémát, amihez nem kellhet hálózat.

Ilyen IOT meg hasonlo teruleteken teljesen normalis hogy ha nincs internet akkor teljesen hasznalhatatlan barmire a kutyu.

És az IOT-on kívül ugye más nincs is.

Ha egyszer lehal az AWS, akkor lehal a twitter amitol meg lehal minden ami a twitter apit buzeralja, azt meg ki tudja hogy az AWS mitol fugg, de biztos annak is van valami gyenge pontja.

És ettől le kéne rohadnia az egész világnak?

Tényleg nem érted, hogy egy végtelen láncot kreálnál ezzel?

Lehet kort csinalni es akkor nem kell vegtelen lanc.

Tényleg nem érted, hogy hol van az irdatlan logikai baki abban, hogy minden szoftver működjön kliens-szerver alapon?

Na varjal, itt most kezdunk ket dolgot nagyon osszemosni. Van az hogy valami most browser, meg van ami kliens-szerver es a ketto nem feltetlenul ugyan az. Ha felcsatlakozol egy IRC szerverre az kliens-szerver, de nem muszaj semmi koze legyen egy webbrowserhez (persze van browserbe futo IRC kliens is, de nem kotelezo). Ugyan igy lehet webbrowserrel csak lokalis fajlokat nezegetni.

Lehet mindent belerakni egy webbrowserbe, legfeljebb csak feleslegesen nagy lesz az overheadje.

A kliens-szerverre, meg barmilyen program kb barmilyen alreszet ki lehet szervezni hogy ne lokalisan fusson, hanem kuldje el egy szervernek majd varja meg az eredmenyt. Nyilvan, ha tulzasba viszed lassu lesz, de ettol meglehet.

Mindig lesz olyan szoftver, amire nem lehet ráhúzni a kliens-szerver sémát, amihez nem kellhet hálózat.

Legyszives mondj egy peldat, mert nekem szar a kepzeloerom es nem tudok elkepzelni olyan amit ne lehetne ha nagyon akarod szetbontani kliens-szerver oldalra.

És az IOT-on kívül ugye más nincs is.

De nyilvan van. Csak te itt erosgeted hogy valamit nem lehet, en meg probalok peldat hozni ra hogy igenis lehet.

És ettől le kéne rohadnia az egész világnak?

Nem kene, de ez nem erdekli azokat a managereket akik azt hiszik hogy ezzel a felhositessel 0.5%-al tobb zse marad a zsebukben.

I hate myself, because I'm not open-source.

Lehet kort csinalni es akkor nem kell vegtelen lanc.

Amiről mint lentebb megállapítottad, hogy "Igen es szepen jol korbe fuggnek, aztan ha valamelyik lehal, lehal az egesz.", tehát biztos megéri erőltetni, csak éppen még ez sem igaz, mert nem lehet kört csinálni; gondolj már bele: van egy browsered, ami csak úgy tud böngészni, hogy felcsatlakozik egy szerverre és onnan kéri az adatokat, a szerver pedig felcsatlakozik egy másikra, mert neki is csatlakoznia kell az adatok lekérése végett, a másik meg visszacsatlakozik az elsőre, hogy elérje az adatokat, amiket vissza kell adnia az elsőnek? Ha az elsőnél megvannak az adatok (így működik egy normális szerver), akkor minek a második, ha meg nincsenek, akkor hogy kéri el tőle a második, hogy visszaadja neki? Ami a lényeg, hogy bármilyen elérési struktúrában előbb-vagy-utóbb végponthoz kell, hogy érkezz, különben nem tudsz honnan adatot kinyerni. Sem végtelen láncból, sem körbefüggésből. Valahol, valakinél meg kell, hogy legyen az adat, ha pedig megvan, akkor neki nem kell felcsatlakozni máshoz.

Na varjal, itt most kezdunk ket dolgot nagyon osszemosni. Van az hogy valami most browser, meg van ami kliens-szerver es a ketto nem feltetlenul ugyan az. Ha felcsatlakozol egy IRC szerverre az kliens-szerver, de nem muszaj semmi koze legyen egy webbrowserhez (persze van browserbe futo IRC kliens is, de nem kotelezo). Ugyan igy lehet webbrowserrel csak lokalis fajlokat nezegetni.

Nem volt összemosás, mert nem erről volt szó, hanem arról, hogy "ha ma kezdenek el fejleszteni egy szoftvert, akkor a kliens részét JavaScript-ben (+HTML, CSS) fogják megírni (meg lehet, hogy a szerveroldali részét is JavaScript-ben)." Ez az állítás hamis, mert van olyan szoftver, aminél egyszerűen lehetetlen kliens-szerver módon megoldani. Nem is csinálják így, ez egy lázálom. Az, hogy sok webes applikáció van, az nem jelenti azt, hogy mindent meg lehet így csinálni.

Lehet mindent belerakni egy webbrowserbe, legfeljebb csak feleslegesen nagy lesz az overheadje.

A browsert is bele lehet rakni egy browserbe? Meg a webszervert is? Tényleg futtatok egy browser-kernelt a szerveren, hogy fusson benne a webszerver, ami felcsatlakozik valahova?

A kliens-szerverre, meg barmilyen program kb barmilyen alreszet ki lehet szervezni hogy ne lokalisan fusson, hanem kuldje el egy szervernek majd varja meg az eredmenyt. Nyilvan, ha tulzasba viszed lassu lesz, de ettol meglehet.

Legyszives mondj egy peldat, mert nekem szar a kepzeloerom es nem tudok elkepzelni olyan amit ne lehetne ha nagyon akarod szetbontani kliens-szerver oldalra.

Még hányat? Ebben a posztban is mondtam már példát, meg eddig is. Bármi, ami önmagában szerver, arra nem lehet ráhúzni a kliens-szerver sémát; nincs olyan, hogy egy rendszerben az adatfüggésnek valahol ne legyen végpontja. Komolyan nem érted?

De nyilvan van. Csak te itt erosgeted hogy valamit nem lehet, en meg probalok peldat hozni ra hogy igenis lehet.

Nem, olyat nem lehet, hogy csinálsz egy körbefüggést, ahol a szerverek egymástól kérik le az adatot, ami egyiküknél sincs meg, ezért kell a másiktól elkérni.

Nem kene, de ez nem erdekli azokat a managereket akik azt hiszik hogy ezzel a felhositessel 0.5%-al tobb zse marad a zsebukben.

Akkor máshogy kérdem: ettől lerohad az egész világ? Nem, nem rohad le.

előbb-vagy-utóbb végponthoz kell, hogy érkezz

Igen, ez igy van, egy adott lekeres elobb-utobb vegponthoz fog erni. De ettol fuggoen, a szoftver egeszebe meg lehet korkoros fuggoseg. A rekurziv fuggveny is egyfajta korkoros fugges, megis megall egy ido utan es mukodik.

mert van olyan szoftver, aminél egyszerűen lehetetlen kliens-szerver módon megoldani.

Tovabbra is varok peldat valami nem trivialis szoftverre amit nem lehet megoldani kliens-szerver alapon ha nagyon akarod.

A browsert is bele lehet rakni egy browserbe? Meg a webszervert is?

Az OS-t bele lehet rakni egy OS-be? Futtathatok egy virtualis gepben egy OS-t? Es azon belul egy dockert amiben fut egy qemu amiben fut egy windows? Igen, lehet. Browserrel miert ne lehetne ugyan ezt eljatszani? Elvileg az is turing teljes...

hogy egy rendszerben az adatfüggésnek valahol ne legyen végpontja. Komolyan nem érted?

Attol mert egy, adott adatfuggesnek valahol van egy vegpontja, nem jelenti azt hogy egy masiknak is pont ott kell lennie. Lehet hogy ha ossze akarsz adni ket szamot, akkor A szerverhez megy, ha meg kivonni akkor B-hez, ami igazabol csak kiszamolja a masodik szam -1x-et es azzal elmegy az A-hoz. Ha meg mondjuk szorozni akarsz, meghivod A-t, ami meg vissza fog teged hivni ker szam kizaro vagyanak kiszamitasahoz. Innentol kezdve te nem tudsz osszeadni A nelkul, A meg nem tud szorozni nelkuled.

ettől lerohad az egész világ? Nem, nem rohad le.

Nem az egesz vilag, csak ami fugg kozvetlenul vagy kozvetetten a twittertol. Mondjuk ez a kozvetetten resz ez valoszinuleg joval nagyobb mint gondolna az ember.

I hate myself, because I'm not open-source.

Igen, ez igy van, egy adott lekeres elobb-utobb vegponthoz fog erni. De ettol fuggoen, a szoftver egeszebe meg lehet korkoros fuggoseg.

Végponthoz fog érni vs. lehet körkörös függőség. Igen, a kör az egy olyan dolog, aminek valahol vége van.

A rekurziv fuggveny is egyfajta korkoros fugges, megis megall egy ido utan es mukodik.

Nem, egyrészt a függvény az nem a függés, másrészt meg a rekurzió az nem körkörös függőség, a rekurzió az kaszkádos. Attól, hogy a függvény önmagát hívja meg, attól még a függőség (érsd: az adat) nem önmagára mutat. Az adat ott egy fa, aminek az ágain lépcsőzetesen (szintenként) végigmész. Köze nincs a kettőnek egymáshoz.

Tovabbra is varok peldat valami nem trivialis szoftverre amit nem lehet megoldani kliens-szerver alapon ha nagyon akarod.

Hányszor írjam le, hogy bármilyen szerver?

Az OS-t bele lehet rakni egy OS-be? Futtathatok egy virtualis gepben egy OS-t? Es azon belul egy dockert amiben fut egy qemu amiben fut egy windows? Igen, lehet. Browserrel miert ne lehetne ugyan ezt eljatszani? Elvileg az is turing teljes...

Alma-körte. Már megint. Nem az a kérdés, hogy van-e self-contain, hanem az, hogy te itt egy végtelen függési láncot akarsz kialakítani azzal, hogy a szerverekből klienst akarsz csinálni további szerverek irányába.

Attol mert egy, adott adatfuggesnek valahol van egy vegpontja, nem jelenti azt hogy egy masiknak is pont ott kell lennie. Lehet hogy ha ossze akarsz adni ket szamot, akkor A szerverhez megy, ha meg kivonni akkor B-hez, ami igazabol csak kiszamolja a masodik szam -1x-et es azzal elmegy az A-hoz. Ha meg mondjuk szorozni akarsz, meghivod A-t, ami meg vissza fog teged hivni ker szam kizaro vagyanak kiszamitasahoz. Innentol kezdve te nem tudsz osszeadni A nelkul, A meg nem tud szorozni nelkuled.

Bocs, de ez nem az a felállás, amiről beszéltünk. Ez egy zárt lánc, amiben funkciótól függően több végpont van. Ez baromira nem az, amikor te webszervert akarsz futtatni egy browserben, hogy az felcsatlakozzon egy másik webszerverre, ami szintén browserben fut, hogy visszakérdezzen.

Nem az egesz vilag, csak ami fugg kozvetlenul vagy kozvetetten a twittertol. Mondjuk ez a kozvetetten resz ez valoszinuleg joval nagyobb mint gondolna az ember.

De nem minden. És sose lesz minden.

Na jo megprobalom valahogy mashogy. Te vagy X, 1-es muvelethez csatlakozol A-hoz, ami csatlakozik B-hez, ami C-hez es az visszaadja az eredmenyt. 2-es muvelethez csatlakozol D-hez, ami csatlakozik C-hez, ami csatlakozik B-hez es visszaadja az eredmenyt. Ebbena felallasban A, B, C, D es X is kliens-szerver felallasban mukodik.

egyrészt a függvény az nem a függés

De, mert ha egy fuggveny hiv egy fuggvenyt ami nem letezik, akkor az (potencialisan) nem fog mukodni. Ertd: annak a jump/call utasitasnak valahova mutatnia kell. Aztan az adat alapjan lehet hogy nem mindig kerul erre sor, de atol mint lehetseges control flow ott van. Mondanam hogy nem tudsz ugy csinalni egy programot hogy vannak benne hivatkozott nem definialt fuggvenyek, de sajnos ezek a dynamic loaderek nem olyan egyszeruek...

I hate myself, because I'm not open-source.

ami C-hez es az visszaadja az eredmenyt.

És itt meg is dőlt az egész, mert C végpont volt, nem csatlakozott sehova sem, márpedig itt arról beszélünk, hogy kliens-szerver, azaz minden adatot valahonnan horgásznia kell a kliensnek, mert ő csak kliens és ha a szerver maga is kliens, akkor neki is halásznia kell valahonnan, márpedig C nem szedte sehonnan, ahogy a kettes pontnál B sem. Ez elosztott tárolás, amiről te most beszélsz és eddig nem erről volt szó és a szálindító sem erről beszélt, hanem mindent is browserben akart futtatni.

De, mert ha egy fuggveny hiv egy fuggvenyt ami nem letezik, akkor az (potencialisan) nem fog mukodni.

Ez már csak játék a szavakkal, ráadásul így már kisiklattad a saját analógiádat is. Adatfüggőségről volt szó, nem kódfüggőségről, hogy a kliens a szervertől szedi az adatait. Rekurziónál pedig az adat az nem körkörös, hanem kaszkád függőség, ahogyan egymás után lépkedi végig a szinteket. Illetve lehet körköröst csinálni belőle, ha valamelyik lépcső visszaugrik egy korábbira, de az megint végtelen ciklus lesz és nem fog működni a bejárás.

A mibe? A kernel az OS magja. Akkor már van alatta OS.

Az alatt meg van BIOS vagy uefi vagy akarhogy is hivjak a firmwaret az adott architecturan, az OS sem ugy fut a semmiben (legalabbis a mostanaban elterjedt architekturakon, regen meg ilyen nagyon embedded cuccokban elofordulhat hogy kimarad es direkt az "OS"-be "bootol" a CPU). Most ezekkel mi van?

Nem az volt a windows vista?

Nem, az a singularity volt, ami sose lett rendesen releaselve.

De itt megint van alatta kernel.

Nem, mert a kernel is .NET-ben van irva. Nyilvan van nehany nagyon low-level cucc amit nem lehet megirni .NET-ben, de a Linux kernelben is vannak assemblyben irt reszek, tehat gondolom ilyen szempontbol a C is alkalmatlan kernel fejlesztesre.

Mi fogja futtatni a browsert?

Majd a kernelbe lesz a js meg a renderer, aztan a browser maga az csak valami kis JS meg HTML meg CSS lesz ami kirakja a tabokat meg a scrollbart a weblap kore. Van mar WebUSB vagy mi, mi tart vissza barkit attol hogy meg irjon egy par low level ilyen jellegu fuggvenyt, aztan irhatsz GPU drivert is JS-ben ha ilyen kedved van. Es sandboxolva fog futni egy kulon kontenerben vagy anmyamkinjaban.

Miféle browser az, aminek szerveroldali része van?

Mar meg nem mondom mi a neve, de android TV-re volt valami ilyen. Egy random szerveren futott a browser, es te lenyegileg egy VNC-t kaptal hozza. Gusztustalan, de volt egy olyan featureje hogy mukodott rajta a flash az osszes tobbi browserrel ellentetben,

Csak egy helyre tud felcsatlakozni és majd az fogja neki lekérni az egyes oldalakat?

Egy tetszoleges elektronos app amikkel mostanaban mar Dunat lehet rekeszteni nem pont ezt csinalja?

A szervernek is lesz szerveroldali része?

Hat, a felho vilagaban mar igen. Mar nem az a divat, hogy van 1 db szerver hanem az csinal mindent, hanem van sok ezer es ossze vissza kommunikalgatnak egymassal, es ha lelovod alola a halozatot meghal az egesz.

itt arról volt szó, hogy website-ok lesznek szoftverek helyett.

Igen, ugy hivjak hogy Chrome OS. (Igen, vannak ott valami appok amik valamennyire mukodnek net nelkul, de szerintem jo reszuknek nincs es csak sima weblap)

Azért baromság az egész, mert amik ezt lehetővé tennék, azokat is abban kéne megírni, amit lehetővé tettek, ami pedig lehetetlen.

A C forditokat is C-ben irjak, es hogy futtass egy C programot, kell egy libc, ami szinten C-ben van irva. Most ha ez lehetetlen akkor megis hogy mukodik igy mar 40 eve a technologia?

I hate myself, because I'm not open-source.

Az alatt meg van BIOS vagy uefi vagy akarhogy is hivjak a firmwaret az adott architecturan, az OS sem ugy fut a semmiben (legalabbis a mostanaban elterjedt architekturakon, regen meg ilyen nagyon embedded cuccokban elofordulhat hogy kimarad es direkt az "OS"-be "bootol" a CPU). Most ezekkel mi van?

Jó, hogy mondod! Lesz olyan UEFI/BIOS, aminek szerveroldali része lesz?

Nem, mert a kernel is .NET-ben van irva. Nyilvan van nehany nagyon low-level cucc amit nem lehet megirni .NET-ben, de a Linux kernelben is vannak assemblyben irt reszek, tehat gondolom ilyen szempontbol a C is alkalmatlan kernel fejlesztesre.

Almát a körtével. A dotnet nem egy nyelv, hanem egy keretrendszer, nem "abban" írták meg a kernelt, hanem "arra építve". Az meg, hogy a Linux kernelben vannak ASM betétek, az Torvalds döntése volt, meg lehetne őket írni C-ben is; de egyébként nem az a kérdés, hogy JS-ben lehetne-e kernelt írni, ha lenne hozzá compiler, ami gépi kódot forgat JS-ből, hanem az, hogy miféle kernel lesz az, aminek egy browser kell, meg szerveroldal, hogy fog az működni, ha a browsernek kernel kell, a kernelnek meg browser?

Majd a kernelbe lesz a js meg a renderer, aztan a browser maga az csak valami kis JS meg HTML meg CSS lesz ami kirakja a tabokat meg a scrollbart a weblap kore.

Tehát a browserben lesz a kernel, abban meg a browser? Sajnos ennek az elképzelése már meghaladja a képzelőerőmet...

Van mar WebUSB vagy mi, mi tart vissza barkit attol hogy meg irjon egy par low level ilyen jellegu fuggvenyt, aztan irhatsz GPU drivert is JS-ben ha ilyen kedved van.

Biztos baromi biztonságos lesz, ha a website-ok lowlevel nyúlkálhatnak a hardware-edhez.

Es sandboxolva fog futni egy kulon kontenerben vagy anmyamkinjaban.

És a sandboxban egy konténerben lesz a WebUSB és a többi lowlevel cucc, azokra épül a kernel, ami futtatja a browsert és abban lesz sandboxolva a WebUSB és a többi lowlevel cucc, amire épül a kernel, ami futtatja a browsert?

Mar meg nem mondom mi a neve, de android TV-re volt valami ilyen. Egy random szerveren futott a browser, es te lenyegileg egy VNC-t kaptal hozza. Gusztustalan, de volt egy olyan featureje hogy mukodott rajta a flash az osszes tobbi browserrel ellentetben,

Nagyszerű és a szerveroldali részt miben írták? Az is egy browser volt, abban futott a webszerver, amire lehetett csatlakozni? Az hova csatlakozott? (Egyébként rohadtul nem szeretném minden HTTP REQUEST-emet átfolyatni a kuglin vagy valamelyik másik spycorpon, köszi.)

Egy tetszoleges elektronos app amikkel mostanaban mar Dunat lehet rekeszteni nem pont ezt csinalja?

Hát nem. Hát rohadtul nem. Az Electron csak egy GUI fejlesztésre "alkalmas" keretrendszer, Chrome rendermotorral és node.js runtime-mal. Semmihez sem kötelező kapcsolódni. Ezt nem tudom, honnan szedted.

Hat, a felho vilagaban mar igen. Mar nem az a divat, hogy van 1 db szerver hanem az csinal mindent, hanem van sok ezer es ossze vissza kommunikalgatnak egymassal, es ha lelovod alola a halozatot meghal az egesz.

Nem érdekel sem a felhő, sem a divat. Van amit rohadtul nem célszerű felhőbe felpakolni.

Igen, ugy hivjak hogy Chrome OS. (Igen, vannak ott valami appok amik valamennyire mukodnek net nelkul, de szerintem jo reszuknek nincs es csak sima weblap)

"Szerinted." A Chrome OS - írd és mondd - egy Gentoo Linux. Környezetét és programjait írták C, C++, JavaScript, Python és Rust nyelveken. Ez se létezne az underlying ökoszisztéma nélkül, amire a browser épül. Ennyit az OS=browser felállásról, meg arról, hogy website-ok vannak software-ek helyett.

A C forditokat is C-ben irjak, es hogy futtass egy C programot, kell egy libc, ami szinten C-ben van irva. Most ha ez lehetetlen akkor megis hogy mukodik igy mar 40 eve a technologia?

Úgy, hogy nem így működik.
Egyfelől amit írtál, az nem igaz: a C fordítókat nem C-ben írják, hanem amiben akarják, vagy tudják (van JS-ben írt C compiler is, de az első C fordítót is PDP-7 assemblyben írták és nem C-ben), a libc meg egyáltalán nem kell a C program futtatásához, ez a környezet és a fordító függvénye, hogy a runtime az external, vagy bundled; OS-less uC környezetben nincs semmiféle libc.
Másfelől meg már megint nem arról beszélsz, amiről szó volt; nem az a kérdés, hogy a megfelelő toolok birtokában meg lehet-e valamit írni JS-ben (akár egy kernelt, vagy OS-t), hanem webes környezetről beszélünk, szerveroldali, meg kliensoldali részről; nem az a lehetetlen, hogy egy JS2x86 compiller-rel felvértezve ne tudnál kernelt írni JS-ben (max. jó lassú lesz), hanem az, hogy ha minden szoftvernek van szerveroldali része, ami függ a szerveroldali résztől, akkor a szerveroldali rész is függeni fog egy szerveroldali résztől és így tovább.

Tényleg nem értem, mi nem érthető.

Jó, hogy mondod! Lesz olyan UEFI/BIOS, aminek szerveroldali része lesz?

A legtobb bios mar automatikusan le tudja tolteni a netrol a bios frissitest, ugyhogy mar ez is multido, mert van.

A dotnet nem egy nyelv, hanem egy keretrendszer

Ez mar a szorszalhasogatas kategoriaja szerintem, de ha azt mondom C# az jobb? Vagy Java? Minden nyelvnek van valami standard libraryja ami nelkul eleg nehezen hasznalhato barmire. A .NET nyelve ha ugy veszuk a CRL, csak abba kicsit maceras kodolni, ezert hasznalnak az emberek inkabb C#-ot vagy akarmit. Javascriptre is lehet transpileolni, az most minek szamit?

Az meg, hogy a Linux kernelben vannak ASM betétek, az Torvalds döntése volt, meg lehetne őket írni C-ben is

Azert azt meg nezem hogy pure c kodbol hogy irsz meg egy interrupt handlert vagy hogy valtasz at long modebol compatibility modeba hogy futtass egy 32 bites appot. Max ha valaki ir egy olyan C compilert amibe igy extensionkent benne vannak ezek, de akkor az meg nem C lesz (bar mondjuk azert most is dependel a linux kernel egy adag gcc extensionon, de gondolom sajat compilert is nem akartak meg pluszba irni).

Tehát a browserben lesz a kernel, abban meg a browser?

Nope, browser=kernel. Egybe az egesz, szep monolitikusan, mint amilyenek a webes technologiak altalaban.

Biztos baromi biztonságos lesz, ha a website-ok lowlevel nyúlkálhatnak a hardware-edhez.

Az is: https://www.wired.com/story/chrome-yubikey-phishing-webusb/

Nagyszerű és a szerveroldali részt miben írták?

Nem tudom, nem volt open source, nem neztem meg. De a kerdes az volt, hogy mifele browser az aminek szerveroldali resze van, hat ez olyan. Hogy az a szerveroldali resz mit csinal, az mar a szerveroldal baja. (Az hogy privacy meg ilyenek, a userek 99%-at total nem izgatja).

Semmihez sem kötelező kapcsolódni. Ezt nem tudom, honnan szedted.

Nem mondtam hogy kotelezo csatlakozni barhova. De a legtobb electronos app valami webes szolgaltatashoz kapcsolodik, Skype, Discord, Slack, stb, ami lenyegileg egy webbrowser ami fixen egy weblapot betolteskor. (Attol mert a JS/HTML/CSS egy resze az ott van a kliensben es nem kell leszedni a szerverrol attol meg webapp marad).

Van amit rohadtul nem célszerű felhőbe felpakolni.

Ez igy van. Ettol fuggetlenul biztos vagyok benne hogy elobb-utobb meg fognak probalni mindent felkoltoztetni a felhobe. Az hogy van nehany kocka akinek ez nem fog tetszeni, azt magasrol lesz*rjak,

Chrome OS

Igen, van valami mogotte, mert a google meg nem irt javascriptben kernelt. De ha jol tudom ott meg egy nyamvadt shell nyitashoz is voodozni kell mert kulonben csak a fullscreen chromeod van es semmi mas, nem tudsz csak ugy letolteni ra egy random nativ appot es hasznalni.

Egyfelől amit írtál, az nem igaz: a C fordítókat nem C-ben írják, hanem amiben akarják

Jo, nem voltam 100% pontos, altalaban abban irjak (vagyis mostmar inkabb C++ forditokat C++-ban irjak, mert csak C fordito az mar nem nagyon van, es a GCC is hasznal mar valamennyi c++-t).  Rust-nal is, hgy leforditsd a rustot, kell egy leforditott rust (gondolom ott is volt a kezdetek kezdeten valami pure c vagy akarmi implementacio).

Igen, lehet libc nelkul is kodot irni ha nagyon akarsz, csak kicsit szopas lesz, mert egy nyamvadt syscallt se nagyon fogsz tudni inline assembly nelkul. Az ilyen embedded rendszereket meg emlitettem, ott lenyegileg te vagy a kernel, ott neked kell megirni mindent.

ha minden szoftvernek van szerveroldali része, ami függ a szerveroldali résztől, akkor a szerveroldali rész is függeni fog egy szerveroldali résztől és így tovább.

Igen es szepen jol korbe fuggnek, aztan ha valamelyik lehal, lehal az egesz.

I hate myself, because I'm not open-source.

A legtobb bios mar automatikusan le tudja tolteni a netrol a bios frissitest, ugyhogy mar ez is multido, mert van.

Nem, nincs. Megint nem erről beszélünk. Olyanról, amihez kötelező a szerver, nem pedig fel tud csatlakozni valahova, az nem szerveroldali rész.

Ez mar a szorszalhasogatas kategoriaja szerintem, de ha azt mondom C# az jobb? Vagy Java? Minden nyelvnek van valami standard libraryja ami nelkul eleg nehezen hasznalhato barmire. A .NET nyelve ha ugy veszuk a CRL, csak abba kicsit maceras kodolni, ezert hasznalnak az emberek inkabb C#-ot vagy akarmit.

Nem, nincs minden nyelvnek standard library-je. A libc sem standard, nincs mindenütt. A Pascal belegyúrja a runtime-ot a programba és fut a csupasz kernelen. És még sorolhatnám. Környezet és fordítófüggő.

Javascriptre is lehet transpileolni, az most minek szamit?

Iróniának. (Már, hogy annyira erőltetjük ezt a szar nyelvet, hogy mekkora jó, aztán szépen lassan már ott tartunk, hogy inkább írjuk meg bármi másban - akár nyelvben, akár keretrendszerben - amit kell, aztán majd transpile a végén, csak a JS-t fedje el valami előlünk...)

Azert azt meg nezem hogy pure c kodbol hogy irsz meg egy interrupt handlert vagy hogy valtasz at long modebol compatibility modeba hogy futtass egy 32 bites appot. Max ha valaki ir egy olyan C compilert amibe igy extensionkent benne vannak ezek, de akkor az meg nem C lesz (bar mondjuk azert most is dependel a linux kernel egy adag gcc extensionon, de gondolom sajat compilert is nem akartak meg pluszba irni).

Jogos, ezt nem gondoltam át, bármi ami közvetlenül piszkálja a CPU-t az nem írható meg, csak assemblyben...azaz JavaScriptben sem fogod tudni megírni, hacsak nem lesz ahhoz is extension, de ha JS-nél ér, akkor a C-nél is.

Nope, browser=kernel. Egybe az egesz, szep monolitikusan, mint amilyenek a webes technologiak altalaban.

Hát ez biztos baromi jó lesz, hogy belegyúrtuk a kernelbe a browsert. Gyors, stabil, biztonságos, mint amilyenek a webes technológiák általában. Király lesz, amikor a JS VM-je az egész kernelt magával fogja rántani, az összes alkalmazással együtt. Feltaláltuk a win95-öt, csak még annál is szarabb lett, a mikrofos könyörög a receptért, a windóz11 már browserben fog futni. (Aki teheti, még most fusson. Browserben.) BTW, mi lesz a szerveroldallal? Az is browserből fog futni?

Az is: https://www.wired.com/story/chrome-yubikey-phishing-webusb/

Hát ez tényleg nagyon biztonságos...

Nem tudom, nem volt open source, nem neztem meg. De a kerdes az volt, hogy mifele browser az aminek szerveroldali resze van, hat ez olyan. Hogy az a szerveroldali resz mit csinal, az mar a szerveroldal baja.

Nem, nem a szerveroldal baja. Az is szoftver, azt is meg kellett írni. Annak is lesz szerveroldali része? És annak is, ahova ő kapcsolódik? Még mindig nem érted?

(Az hogy privacy meg ilyenek, a userek 99%-at total nem izgatja).

Ismét forrásokkal alátámasztott adatokat láttunk, de egyébként ez a "nem érv" kategória, a kútba sem ugrunk mindenki után. Olyan helyen, ahol fontos a security, ott izgatni fogja az embereket.

Nem mondtam hogy kotelezo csatlakozni barhova. De a legtobb electronos app valami webes szolgaltatashoz kapcsolodik, Skype, Discord, Slack, stb, ami lenyegileg egy webbrowser ami fixen egy weblapot betolteskor. (Attol mert a JS/HTML/CSS egy resze az ott van a kliensben es nem kell leszedni a szerverrol attol meg webapp marad).

Na, ez a szőrszálhasogatás; nem mondtad, hogy kötelező (én nem állítottam, hogy mondtad, BTW), csak épp azt mondtad, hogy ezt csinálja:

Miféle browser az, aminek szerveroldali része van? Csak egy helyre tud felcsatlakozni és majd az fogja neki lekérni az egyes oldalakat?
Egy tetszoleges elektronos app amikkel mostanaban mar Dunat lehet rekeszteni nem pont ezt csinalja?
Hát nem. Hát rohadtul nem. Az Electron csak egy GUI fejlesztésre "alkalmas" keretrendszer, Chrome rendermotorral és node.js runtime-mal. Semmihez sem kötelező kapcsolódni. Ezt nem tudom, honnan szedted.
Nem mondtam hogy kotelezo csatlakozni barhova.

No comment.

Ettol fuggetlenul biztos vagyok benne hogy elobb-utobb meg fognak probalni mindent felkoltoztetni a felhobe. Az hogy van nehany kocka akinek ez nem fog tetszeni, azt magasrol lesz*rjak,

Már most próbálják, de nem a kockákról van szó, hanem van, amit nem lehet, mert a felhő kiszolgáltatottságot jelent.

Igen, van valami mogotte, mert a google meg nem irt javascriptben kernelt.

Hint: Még mindig nem az a kérdés, hogy elméletben egy JS-compilerrel lehetne-e kernelt írni, hanem az, hogy hogy működne a webes - értsd: kliens-szerver - felállás ráhúzása minden szoftverre. (Hint: Sehogy.)

De ha jol tudom ott meg egy nyamvadt shell nyitashoz is voodozni kell mert kulonben csak a fullscreen chromeod van es semmi mas, nem tudsz csak ugy letolteni ra egy random nativ appot es hasznalni.

Érdektelen. A Chrome meg sem tud nyikkanni a kernel nélkül. Pont. (Egyébként lehet rá natív appokat letölteni és használni, mint bármelyik Linuxra.)

Jo, nem voltam 100% pontos, altalaban abban irjak

Igen, lehet libc nelkul is kodot irni ha nagyon akarsz, csak kicsit szopas lesz, mert egy nyamvadt syscallt se nagyon fogsz tudni inline assembly nelkul. Az ilyen embedded rendszereket meg emlitettem, ott lenyegileg te vagy a kernel, ott neked kell megirni mindent.

Magyarul abban írják, amiben akarják, vagy tudják és a libc sem kötelező. Tehát, amit felsoroltál, nem állta meg a helyét.

mert csak C fordito az mar nem nagyon van

Nem nagyon?

Rust-nal is, hgy leforditsd a rustot, kell egy leforditott rust (gondolom ott is volt a kezdetek kezdeten valami pure c vagy akarmi implementacio).

OCaml-ben írták először, ha minden igaz, de ez mindegy, mert gizike-gőzeke; nem az a kérdés, hogy X nyelv fordítóját meg lehet-e írni X-ben, ha már van fordító, hanem az, hogy a kliens-szerver felállás ráerőltetése a szerveroldalra, az végtelen láncot csinál.

Igen es szepen jol korbe fuggnek, aztan ha valamelyik lehal, lehal az egesz.

Most mondhatnám, hogy akkor ez egy baromi stabil, megbízható és jól kigondolt ökoszisztéma, de itt még csak nem is körbefüggésről beszélünk, hanem egy végtelen láncról.

Olyanról, amihez kötelező a szerver, nem pedig fel tud csatlakozni valahova, az nem szerveroldali rész.

Jo de akkor a browserrel most mi van? Annak se kotelezo szerverhez csatlakoznia.

A libc sem standard, nincs mindenütt.

Az hogy a libc hogy kell mukodjon az le van irva a kulonbozo c szabvanyokba (C89, C99, C11). Igen, megengedi a szabvany hogy legyen free standing environment ahol ennek nagy resze hianyozhat, de van ami meg ott is kotelezo. Ha nincs, akkor az nem C nyelv es nem C fordito, legfeljebb arra valami nagyon hasonlito dolog.

Iróniának.

Jo, de most kerdem en, miben mas ez, mintha .net vagy java bytecodera forditanank? Ugyan ugy nem a nativ utasitaskeszlete a CPU-nak, es ember szamara kb hasonlo keppen fogyaszthatatlan mindketto.

Hát ez biztos baromi jó lesz,

Mondtam en hogy nem? En csak arrol vitatkozok hogy valami megvalosithato-e vagy sem, azt nem allitottam hogy nem egy idiota barom barki aki tenylegesen megprobalja :)

Olyan helyen, ahol fontos a security, ott izgatni fogja az embereket.

Igen, de ennek megint koze nincs a megvalosithatosaghoz. Attol, hogy az amishok nem hasznalnak semmi elektromos eszkozt, meg letezik a szamitogep es sokan hasznaljak...

nem mondtad, hogy kötelező (én nem állítottam, hogy mondtad, BTW), csak épp azt mondtad, hogy ezt csinálja:

Jo, lehet a "tetszoleges" helyett az "atlagos" szo jobb lett volna az eredeti mondatomban, de mindenesetre en egy trendre akartam ravilagitani, hogy egy csomo electronos app az lenyegileg egy chrome ami fixen betolt egy weblapot inditaskor, meg esetleg van benne 1-2 aprosag ami picit mas, tekintve hogy nincs a browser sandboxaba zarva.

amit nem lehet, mert a felhő kiszolgáltatottságot jelent.

En sajnos ugy erzem ezt eleg sok donteshozo ezt meg nem fogta fel, felraknak mindent a felhobe, aztan ha egyszer lehat majd vakarjak a fejuket. Szoval, lehetni lehet felkoltoztetni, maximum nagyon rossz otlet.

hogy működne a webes - értsd: kliens-szerver - felállás ráhúzása minden szoftverre

Erre mondom hogy igen. Attol hogy egy szoftver kliens-szerver, meg nem kell minden egyes legaprobb featureehez is kapcsolodnia. Egy IRC kliens is elindul szerver nelkul, csak aztan sokra nem megyek vele.

Magyarul abban írják, amiben akarják,

Nyilvan abban irjak amiben akarjak, ettol a legtobb gyakorlatban hasznalt az C/C++.

Nem nagyon?

Jo es ebbol mennyi amit tenyleg fejlesztenek is meg hasznalnak is? Gondolom a PDP-11-es compiler biztosan beletartozk ebbe a kategoriaba. Meg ebbe a listaban egy csomo az nem csak C fordito, hanem C/C++ fordito es igazabol csak azert tud C-t mert hogy az majdnem egy subsetje a C++-nak.

hanem az, hogy a kliens-szerver felállás ráerőltetése a szerveroldalra, az végtelen láncot csinál.

Erre szerintem a masik kommentemben valaszoltam.

I hate myself, because I'm not open-source.

Jo de akkor a browserrel most mi van? Annak se kotelezo szerverhez csatlakoznia.

Olvasd el a szálindító hozzászólást: minden újonnan írt szoftver = webes technológiákkal kliens-szerver felállásban írnak. Ez egy hamis állítás. Te meg azt próbálod bebizonyítani, hogy nem az.

Az hogy a libc hogy kell mukodjon az le van irva a kulonbozo c szabvanyokba (C89, C99, C11). Igen, megengedi a szabvany hogy legyen free standing environment ahol ennek nagy resze hianyozhat, de van ami meg ott is kotelezo. Ha nincs, akkor az nem C nyelv es nem C fordito, legfeljebb arra valami nagyon hasonlito dolog.

Nem C nyelv? Tehát, ha én mikrokontrollerre nyers binárist fordítok C-ből, ami memóriacímeket piszkál és nincsenek függőségei, az nem C nyelv? Hát mi? FORTRAN? Remélem ez vicc volt. És azok a C fordítók és programok, amik az első szabvány előtt keletkeztek? Azok talán ALGOL60-asok? Tök fölösleges csűrni-csavarni, nem kötelező semmi.

Jo, de most kerdem en, miben mas ez, mintha .net vagy java bytecodera forditanank? Ugyan ugy nem a nativ utasitaskeszlete a CPU-nak, es ember szamara kb hasonlo keppen fogyaszthatatlan mindketto.

Ki mondta, hogy más? (Oké, a dotnet, vagy a Java az kevésbé lesz szarabb, de ez mellékes.) Ettől még a runtime az környezet és fordítófüggő.

Mondtam en hogy nem? En csak arrol vitatkozok hogy valami megvalosithato-e vagy sem, azt nem allitottam hogy nem egy idiota barom barki aki tenylegesen megprobalja :)

A végpont nélküli rendszer nem megvalósítható. Ill. megvalósíthatónak megvalósítható, de majd mindenütt kapsz egy gyönyörű végtelen ciklust is. Működni nem fog.

Igen, de ennek megint koze nincs a megvalosithatosaghoz. Attol, hogy az amishok nem hasznalnak semmi elektromos eszkozt, meg letezik a szamitogep es sokan hasznaljak...

Security = Amish lifestyle? Ennyi erővel attól, hogy a plasztikpicsa maga mellé rántja a működő hajszárítót a kádba, azt még nem kell követni.

Jo, lehet a "tetszoleges" helyett az "atlagos" szo jobb lett volna az eredeti mondatomban, de mindenesetre en egy trendre akartam ravilagitani, hogy egy csomo electronos app az lenyegileg egy chrome ami fixen betolt egy weblapot inditaskor, meg esetleg van benne 1-2 aprosag ami picit mas, tekintve hogy nincs a browser sandboxaba zarva.

De a szálindító az volt, hogy az újonnan íródott programokat így írják, minden programot, ami nem igaz, te meg ezt próbálod megmagyarázni, hogy de ezt meg lehet csinálni. És erre volt a példa, hogy az elektronosok is ezt csinálják. Nem. Csak csinálhatják. Pont, ahogy a natívok is.

En sajnos ugy erzem ezt eleg sok donteshozo ezt meg nem fogta fel, felraknak mindent a felhobe, aztan ha egyszer lehat majd vakarjak a fejuket. Szoval, lehetni lehet felkoltoztetni, maximum nagyon rossz otlet.

Pont erről beszélek. És többek között ezért sem fog működni, hogy minden felhős legyen, mert ahol még épeszű emberek vannak, ott ez nem fog átmenni.

Erre mondom hogy igen. Attol hogy egy szoftver kliens-szerver, meg nem kell minden egyes legaprobb featureehez is kapcsolodnia. Egy IRC kliens is elindul szerver nelkul, csak aztan sokra nem megyek vele.

Direkt kipécéztél valamit, aminek szüksége van szerverre és ráhúzod mindenre, aminek nincsen. De, ha már IRC...az IRC szerver is a browserben fog futni és csatlakozik egy browserben futó webszerverhez?

Nyilvan abban irjak amiben akarjak

Örülök, hogy konszenzusra jutottunk: a technológia és a self-hosting nem úgy működik 40 éve, ahogy te lefestetted; köze nincs hozzá.

Jo es ebbol mennyi amit tenyleg fejlesztenek is meg hasznalnak is? Gondolom a PDP-11-es compiler biztosan beletartozk ebbe a kategoriaba. Meg ebbe a listaban egy csomo az nem csak C fordito, hanem C/C++ fordito es igazabol csak azert tud C-t mert hogy az majdnem egy subsetje a C++-nak.

A wiki maga is megjegyzi, hogy a lista töredékes. Egyébként Rust fordítóból sincs hatszáz darab. Valószínűleg C-ből még több van. Aktívan fejlesztett.

Erre szerintem a masik kommentemben valaszoltam.

Szintén.

minden újonnan írt szoftver = webes technológiákkal kliens-szerver felállásban írnak. Ez egy hamis állítás. Te meg azt próbálod bebizonyítani, hogy nem az.

Itt menet kozben elment a beszelgetes afele hogy lehetseges-e, es en arra irom hogy igen. Nyilvan nem fog mindenki felulni a legujabb divatnak.

Nem C nyelv?

Hat ha azokat a pontokat ami a C szabvanyban benne van hogy freestanding environment eseten is tamogatnia kell nem tamogatja, akkor nem. (Amugy valoszinuleg tudja, nem sok kell hozza, meg ugye direkt ugy talaltak ki hogy ilyen embedded microcontrolleres kornyezetekben is mukodjon.)

Es igen, ami nem teljesiti a szabvanyt, az nem szabvany C fordito. Ezert szabvagy. Pont. A rendort se fogja ertekelni, ha az autodba nincs tompitott fenyszoro, hogy azon kivul pedig minden pontban megfelel a kresz eloirasainak. (A standard elott meg hivhattak valamit C forditonak, mert akkor meg nem volt szabvany aminek meg kellett felelnie. Utana pedig lehet valami pre-standard C vagy hasonlo cimket raaggatni, ha nem felel meg a standardnak).

Security = Amish lifestyle?

Ilyet nem mondtam sehol. Csak arra akartam utalni, hogy attol hogy valamilyen megvalositas *bizonyos* emberek szamara elfogadhatatlan, nem jelenti azt hogy masok szamara is. Vagy hogy ettol megvalosithatatlan lenne.

És erre volt a példa, hogy az elektronosok is ezt csinálják. Nem. Csak csinálhatják.

Igen, de ha minden programot igy irnak, akkor csinalni fogjak, nem csak elmeleti lehetosegkent csinalhatjak. Az hogy a keretrendszer nem teszi kotelezove az ilyen szempontbol irrelevans. Most is tudsz webre lenyegileg offline appot csinalni.

És többek között ezért sem fog működni, hogy minden felhős legyen, mert ahol még épeszű emberek vannak, ott ez nem fog átmenni.

Lenyegtelen, elmeleti megvalosithatosagrol beszelunk, nem arrol hogy 100-bol hany donteshozo menne bele.

De, ha már IRC...az IRC szerver is a browserben fog futni és csatlakozik egy browserben futó webszerverhez?

Miert ne? Van mar node.js-ben levo irc szerver, ki kell terjeszteni a browser apikat hogy lehessen szervert csinalni benne es valahogy beleeroszakolni hogy mittomen az eppen belepett userek listajat egy masik webszerveren tarolja es bam.

a technológia és a self-hosting nem úgy működik 40 éve, ahogy te lefestetted; köze nincs hozzá.

Ettol fuggetlenul a GCC az C/C++, a Clang az C++, az MSVC az C++, linuxon a kernel, glibc, musl, binutils, assembler, etc C, az msvc runtime az C++. Attol mert lehet mashogy, meg nem az a jellemzo.

Valószínűleg C-ből még több van. Aktívan fejlesztett.

Es abbol mennyi ami tenyleg jelentos es sokan hasznaljak? Az hogy hacker pistike szabadidejeben csinal valamit es felrakja a githubra ahonnan letolti osszesen 2 ember az nem erdekel. Ha nem valami egzotikus vagy nagyon microcontroller hardverre fejlesztesz, akkor a jelentosebbek a GCC, Clang, MSVC, Intel, talan meg ez a Borlandos csoda... de ezek igazabol mind C++ forditok amik tudnak C-t is.

I hate myself, because I'm not open-source.

Itt menet kozben elment a beszelgetes afele hogy lehetseges-e, es en arra irom hogy igen. Nyilvan nem fog mindenki felulni a legujabb divatnak.

Én meg azt magyarázom, hogy nem lehetséges. Az állítás az volt, hogy minden szoftver kliens-szerver módon működik, de a szerver maga is szoftver és ha egy felhős környezetben, ahol a kliens semmit nem tárol, a szerverek maguk is kliensek, akkor egy végtelen kapcsolódási láncot fogsz előállítani, ahol nincsen egyetlen végpont sem. Te összekevered az elosztott tárolást a minden is kliens-szerver felállással. Nem, nem lehet minden szoftver kliens-szerver; a szerver az szerver kell, hogy legyen; az, hogy ő kapcsolatot tart más szerverekkel és adatot kér be tőlük, az baromira nem ugyanaz. Rohadtul nem arról beszéltünk, hogy van egy browseres kliens, egy webszerver és egy adatbázisszerver és a browserbe úgy kerül adat, hogy a webszerver az adatbázis szerverből kéri le az adatokat, aztán egy másik formában (HTML) visszaadja a browsernek. Ti arról beszéltetek, hogy minden szoftverre rá lehet húzni azt a felállást, hogy ő egy kliens, ami egy browserben fut és csatlakozik egy webszerverre; hát ha a webszerver és az adatbázisszerver is egy browserben futó kliens, ami csatlakozik valahova, ami szintén...hol lesz az adat? Elvitte a felhőcica?

Hat ha azokat a pontokat ami a C szabvanyban benne van hogy freestanding environment eseten is tamogatnia kell nem tamogatja, akkor nem.

Es igen, ami nem teljesiti a szabvanyt, az nem szabvany C fordito. Ezert szabvagy. Pont. A rendort se fogja ertekelni, ha az autodba nincs tompitott fenyszoro, hogy azon kivul pedig minden pontban megfelel a kresz eloirasainak. (A standard elott meg hivhattak valamit C forditonak, mert akkor meg nem volt szabvany aminek meg kellett felelnie. Utana pedig lehet valami pre-standard C vagy hasonlo cimket raaggatni, ha nem felel meg a standardnak).

Tehát magyarán, ami 1972-ben megszületett, az akkor a C nyelv volt, de most már nem a C nyelv volt, mert a standard miatt már nem lehet C nyelvnek hívni. Ahogy azt sem, ha írok egy egysoros C programot, ami mikrokontrollerre lefordítva beállít egyetlen memóriacímet és nem kell hozzá semmi sem, akkor az sem C nyelvben van írva, hiába abba van írva. Hát ez azért nagyon nem így működik. Egyébként te nem szabvány fordítókról beszéltél, hanem arról, hogy ami nem használ libc-t, az nem C nyelv, mert a libc működését előírja a szabvány. És ez sem igaz.

Ilyet nem mondtam sehol.

Nem mondtad, de az analógiád ezt sugallta, mert rossz volt a hasonlat.

Csak arra akartam utalni, hogy attol hogy valamilyen megvalositas *bizonyos* emberek szamara elfogadhatatlan, nem jelenti azt hogy masok szamara is.

De az, hogy a világ nagyobb fele szarik a security-re, az nem azt jelenti, hogy mindenki.

Vagy hogy ettol megvalosithatatlan lenne.

A szar security? Az megvalósítható. A minden szoftver webes kliens-szerver? Az nem.

Igen, de ha minden programot igy irnak, akkor csinalni fogjak, nem csak elmeleti lehetosegkent csinalhatjak. Az hogy a keretrendszer nem teszi kotelezove az ilyen szempontbol irrelevans. Most is tudsz webre lenyegileg offline appot csinalni.

De nem erről volt szó. Nem az volt a kérdés, hogy lehet-e offline webappot csinálni; az nem is kliens-szerver, de ezt már leírtam fentebb.

Lenyegtelen, elmeleti megvalosithatosagrol beszelunk, nem arrol hogy 100-bol hany donteshozo menne bele.

De elméletben sem megvalósítható. Ha minden szoftver kliens-szerver alapokon működik, akkor a szerver is kliens-szerver alapon működik és neki is szednie kell az adatokat valahonnan, mert ő nem tárol adatokat, mert ő kliens. Nem érted, hogy ha a szerver sem tárol már semmit, ha a szerverből is klienst csinálsz, akkor gyakorlatilag te magad tetted lehetetlenné a minden kliens-szerver felállást, mert hogy lehet minden kliens-szerver felállású, ha a szerver maga is kliens? Hogy lehet szerver-kliens felállást létrehozni egy olyan rendszerben, ahol nincs szerver, mert az is kliens? Tényleg nem érted?

Miert ne? Van mar node.js-ben levo irc szerver, ki kell terjeszteni a browser apikat hogy lehessen szervert csinalni benne es valahogy beleeroszakolni hogy mittomen az eppen belepett userek listajat egy masik webszerveren tarolja es bam.

És az a másik webszerver, ahol az userek listája tárolva van, az is egy browserben futó kliens? Ő hova fog csatlakozni? Egy másik szerverhez, ami megint egy browserben futó kliens? Hol lesz végül az adat? Ha azon a bizonyos webszerveren, akkor az végpont és ő nem kliens-szerver felállású.

Ettol fuggetlenul a GCC az C/C++, a Clang az C++, az MSVC az C++, linuxon a kernel, glibc, musl, binutils, assembler, etc C, az msvc runtime az C++. Attol mert lehet mashogy, meg nem az a jellemzo.

Ez már megint csak a szavakkal való játszadozás. Te tettél egy állítást, hogy így működik, én ezt cáfoltam, hogy nem így működik, max működhet. Az egész érvelésedben ez a hiba, hogy van egy séma, ami N esetben működik, Σ-N esetben meg nem, de te ennek ellenére extrapolálod az egészre és nem veszed észre, hogy egyrészt ez egy hamis összeállítás, másrészt meg egy olyan állítást teszel, amivel rögtön meg is cáfolod az állítást: "minden szoftvert meg lehet írni browserben futó, szerverre kapcsolódó felhős kliensként, a szervert is beleértve", márpedig, ha a szerverek is kliensek, akkor végeredményben sehol sem lesz igazából szerver, tehát nem is létezhet kliens-szerver felállás, mert nincs is szerver, csak további kliensek. És nem, nem az elosztott tárolásról/terhelésről volt szó, hogy a szervereknél csak részadatok vannak és egymás közt kommunikálnak, hanem szó szerint arról, hogy minden szoftver megvalósítható úgy, hogy ő egy csak kliens, ami egy szerverre kell, hogy kapcsolódjon. Nem, így nem lehet az összes szoftvert megvalósítani. A szálindító kolléga azt állította, hogy ma már minden újonnan írt szoftvert így csinálnak, webes kliens-szerver módon (ez még úgy is hamis állítás lenne, ha csak az lett volna az állítás, hogy valamilyen webes technológiával/nyelven csinálják), te meg azóta ezt véded, hogy de, ez lehetséges, de közben az elosztott adattárolásról és szerverközi kommunikációról beszélsz, azt hozod példának, ami távolról sem ekvivalens azzal, amiről szó volt.
És egyben ezért volt gizike-gőzeke hasonlat a C-nyelvben írt C-fordító, mert nem a nyelvi autocompile/self-compile/whatever lehetségessége volt a kérdés, hanem a kliens szerver felállás generikus extrapolációja.

Es abbol mennyi ami tenyleg jelentos es sokan hasznaljak? Az hogy hacker pistike szabadidejeben csinal valamit es felrakja a githubra ahonnan letolti osszesen 2 ember az nem erdekel.

Lényegtelen, hogy mennyien használják, vagy, hogy téged mi érdekel és mi nem. Az, hogy valami neked nem kell, az nem jelenti, hogy másnak sem.

Ha nem valami egzotikus vagy nagyon microcontroller hardverre fejlesztesz, akkor a jelentosebbek a GCC, Clang, MSVC, Intel, talan meg ez a Borlandos csoda... de ezek igazabol mind C++ forditok amik tudnak C-t is.

És mint tudjuk a mikrokontrolleres környezet az manapság leírhatatlanul ritka, senki nem csinál ilyet, tehát, ha van is mondjuk húszféle uC C-compiler, az is irreleváns.
Különben is, a mikrokontrollerek szoftvere is egy kernelbe integrált browserben futtatott kliens, ami felcsatlakozik egy browserben futtatott webszerverre, ami csatlakozik egy másik browserben futtatott webszerverre, ami... Mi is volt a feladat? Két LED-et kapcsolgatni. De most van egy browser-OS-ünk. Mikrokontrollerre. Kötelező szerverkapcsolattal. És még mindig nem tudjuk, hogy - lévén felhőben vagyunk és a kliensek nem tárolnak adatot, a szerverek meg kliensekké változtak a minden szerver-kliens megközelítés miatt - honnan is jön majd az adat, amit a két LED kijelez.
Nem baj, hogy bizonyos szoftvereket már csak a fizikai korlátok miatt sem lehet megvalósítani webes alapokon?

De itt ő nem arról beszélt, hogy van egy JS VM-ünk, ami futtat egy programot, hanem arról, hogy a program konkrétan webes és konkrétan a browserből fut, ill. a backend a szerveren. Erre próbáltam meg szarkasztikusan célozni, hogy oszt' a browser is a browserben fog-e futni.

Ez sem feltétlenül van így, hogy javascript-ben írják meg a kliens részt. Nálunk például nem így van.

Régi programból egyébként sokkal több van, mint új valaha lesz. Amik mélyen beágyazódtak az évek során.

Amit eddig újraírtunk webapplikációban kb. mind szar lett az eredetihez képest. Van, amire tök jó, de megint csak azt mondom: nem kell mindenhova is erőltetni.

Szerintem sincs sok értelme, de a fejlesztőknek szerintem ez hobbi, érdekesség, meg néhány cégnek jó lehet, aki régi, legacy NT5.x szoftvert akar futtatni, pl. egy régi készletnyilvántartós progi vagy hasonló, arra hasznos lehet, hogy csak azért ne kelljen XP-n maradni, meg egy komplett XP-t megvenni a géphez licencestől. Meg ugye a Wine is profitál belőle Linuxon. Szóval szerintem lehet. Ami engem zavar, hogy sok évig csak stagnált, vegetált a projekt, mióta kiszivárgott az XP forráskód, azóta túl látványos a fejlődés, és ez nekem nem fájna, de a MS-nak fog, és a ReactOS-sesek majd kapják a nyakukba a pereket. Persze, ha a rajtam múlna, én hagynám az idők homályába veszni ezt az egész 2k, XP, Win2k témát. Szép volt, jó volt, kora 2000-es évek elején, mikor a Linux még sokaknak nem tudott alternatíva lenni, jól szolgált, de azok az idők elmúltak, kb. 15-20 éve, tudni kell elengedni, nem éri meg rá támaszkodni. Ma már csak történeti érdekesség, mint anno az OS/2, Win 1-3.x, MS-DOS, meg a CP/M, meg a C64.

Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”

Nekem a telefonomon is van DOSBox Turbo (a fizetős verzió). Régi diskmag-okat szoktam benne olvasgatni néha. Meg szívesen játszom a klotyón régi DOS-os játékokkal.

Számomra egyébként a Warcraft II, CNC, Heroes 2 volt az ,,aranykor".

Nagyon szturkolok, jó lenne egy kis memóriaigényű windows kompatibilis oprendszer virtualizációhoz. Néha csak egy exe-t kellene futtatni, időnként mindenféle gui nélkül.

arra ott a wine...

mi hasznaltuk mar production kornyezteben is, az okos fejleszto windozra fejlesztett delphi-vel egy servicet, ami mem leakelt mint allat, naponta tobbszor kifagyott tole a win. persze nem talalta a hibat, szerinte valami kulso framework volt szar, ujrairni mar nem volt ido, tul bonyi volt (rengeteg uzleti logika) ahhoz, es mar ment elesbe a projekt...

eleinte virtualizalgattuk a win-t, aztan kiprobaltam wine-al, es ott nem leakelt (annyit... win vm alatt par ora alatt elfogyott a ram, wine-al kb 1 hetig birta). na meg egy wine-s cuccot egyszerubb es gyorsabb es automatizaltabb volt cron-bol restartolgatni, mint egy egesz win vm-et.

omg delphi még van?!

Nekem pl. éppen az elszigetelésre kell a VM.
Amikor hardverrel kell együttműködni VirtualBox, de nagyon sokmindenre kiváló a qemu.
VirtualBox-ban tudok full bundle-öket készíteni, amiket csak odaadok a parasztnak mindenestől, aztán leszarom, mi van alatta.
Végülis a wine is lehet nyerő bizonyos esetekben. Észben fogom tartani.

omg delphi még van?!

Haverom Delphi-ben fejleszt. Vállalatnál a "háztáji" alkalmazásokat. Saját számlázó szoftver, kreditkezelés és társai. Az országban egyedüli vállalat és termelésirányító rendszer van náluk üzembe, ehhez, ezzel kooperálva. És persze MSSQL.

Ezen az "ipari szoftverfejlesztés JavaScriptben" dolgon meg olyan jót mosolyogtam. Ipari környezetben 20-30 évig megy valami. Van olyan gép, amit 1996-ban leraktak DOS-al a helyére, azóta megy és dolgozik. JavaScript, persze. Az az igazi varázslás, hogy a Windows Server 2019-en futó termelésirányító rendszer hogy teszi oda neki a batch-et, amiből gyártania kell.
Egy ilyen JavaScript-huszárt úgy elvinnék gyárlátogatásra, hogy "Figyu, azok ott NT4-esek, azok ott XP-sek, na az meg már zsír új gyártósor Win7 Embedded-el."

Lehet, hogy a telefonon, tv-n, chromebook-on már ilyen böngészős csodák futnak, de a használati tárgyainkat még mindig olyan gyártósor állítja elő, amin XP van. És nem kell, hogy ehhez bármilyen JavaScript-huszár hozzányúljon, mert ez működik.

a 90-es/2000-es evekben szinte minden kkv ugyviteli szoftvert delphiben irtak, a web akkor meg szoba sem jott, java gui is egy vicc volt, c++ fejleszteni meg nem lett volna tul koltseghatekony erre.

es ezeket a rendszereket nagyreszt a mai napig hasznaljak, bovitik, fejlesztgetik. at/ujrairni valami modern platformra nem csak koltseges lenne, de millio hibalehetoseg is, es senki nem akarja tartani a hatat erte ha valami uzleti logika nem jol kerul at vagy adatbazis konvertalasnal megkavarodik valami, ami akar csak honapokkal kesobb derul ki, addig komoly karokat okozva a cegnek. raadasul azon kivul hogy az IT elegedett lenne hogy milyen modernek, mas hasznuk nem lenne belole...

Meg clipperben :) Volt egy vásárolt clipperes rendszer, ezt váltotta egy java/oracle csoda, amiből java/mssql lett hamarosan. Ezt váltotta egy .Net-es, mssql-es rendszer. Most tudni kell, hogy ezekbe rengeteg egyedi, kért fejlesztés került bele. Ehhez jöttek a külön alkalmazások, amik Delphi-ben íródtak olyan funkciókkal, amiket az adott szoftverbe képtelenség volt belefejleszteni. (Mennyi hitele van az ügyfélnek, mennyit vásárolhat "adómentesen", egyedileg mennyi kedvezményt kap, meg ilyenek.)
Gyártásnál néha komoly probléma volt, hogy egyáltalán tudnak-e olyan formában adatot generálni, mivel az adott gépsor dolgozni tud. Ehhez ismerni kellett az adott gépet. Volt olyan, hogy egy kolléga - aki nem programozó, de a gépeket nagyon jól ismerte - készített pascalban rá programot, hogy egy, a termelésirányító rendszerben jól dokumentált batch formátumot átkonvertáljon olyanra, amit a megcélzott gépsor is felismer és dolgozni tud belőle.

És visszakanyarodva a ReactOs-hez: mikor az a cél, hogy egy ilyen informatikus szemmel nézve őskövület rendszert üzemben tartsál, akkor minden segítség jól jön. Amikor az a cél, hogy egy olyan szoftvert futtassál, amit akkor írtak, amikor a Windows NT megjelent, akkor nem az a kérdés, hogy JavaSciptben meg lehet-e csinálni. Programozó lehet bármelyik bokorban terem, de szakembert, aki érti is mit kell pontosan elkészíteni, azt már nehezebb leakasztani, ha nem lehetetlen.

Rosszabbat mondok: ősöreg, 486-ossal hajtott vágóasztal, amit nem akartak kidobni, mert 0,1mm-es pontossággal vágott. Nagyon féltek, hogy tönkremegy benne a PC, ezért kiadták az ukázt, hogy mentést kell róla csinálni. Megbontani sem volt egyszerű, de amikor hosszas szerelés után hozzá fértünk és kinyitottuk én elröhögtem magam, a műszakis srác meg káromkodott. EPROM kártyákon volt rajta az egész rendszer, a vágáshoz a batch-eket meg floppy-n adagolták neki. (Aztán jöttek, hogy be kellene kötni hálózatba. Mert a keretléc hajlítót is olyan ügyesen megcsináltam a 6.22-es DOS-ával. Mondtam, hogy felejtsék el, telepíteni nem lehet rá semmit, de még az sem egyértelmű, milyen DOS van rajta :D )

De olyan eset is volt, hogy kb 2010 környékén belibbentek a TMK-sok hozzám, hogy kellene nekik egy PC, 4-es NT-vel. Mert elromlott az egyik gépben és vagy kifizetik a 10.000 EUR-ós árat az új vezérlő PC-ért, vagy szereznek valahonnan egyet. Csak az ipari PC sem méretével, sem formájával nem egyezett meg az asztalival, ezért csak ki kellett fizetni az új árát. De azért lett vele futva pár teljesen felesleges kör.

Miért rosszabb az EPROM? Pont ettől stabil, hogy nem tudják szétcseszni :-D
És a diszk sem fosik be.

Egy röntgennel voltunk hasonlóan: 6000 EUR lett volna az új Win10-es PC az új programmal, driverekkel. Ez nem is ipari PC csak egy OEM-elt, installált brand PC.
Inkább kivettük tartományból és megy tovább XP-vel.

A probléma az volt, hogy a fejekben az él, PC-PC, darab-darab. Nem nagyon ment a megértése, hogy ha elromlik nem lesz kapható a sarki PC-bontóban másik, ki kell pengetni a 6-7-8 néha 10+ ezer EUR-s árat. És az is fájó volt, hogy itt is van árukapcsolás: ha XP-s helyett 7-es Windows-t szeretnél, akkor még + 30.000 EUR, mert komplett PLC vezérlés csere az egész soron. De mivel fillérbaszás megy, senki sem kalkulál azzal, hogy a sor amúgy 100 milliós nagyságrendben termel, hetente.

Amúgy ezeknek az összegeknek kis része volt a hardver, a nagyobb pénz a szakember munkadíja, aki kijött és elvégezte a cserét, vagy a javítást. Amit ugye nem akartak megérteni, miért annyi, mert egy magyar nem ennyit keres.

Durván megy az árukapcsolás, magam is így látom. Csak az, hogy Win10-es legyen a gép, 6000 EUR (amiben egy kutya közönséges brand PC van még benne). Nálunk nem szívesen fizetnek ki már ilyen összegeket se ,,a semmiért".

Mi még a kötelező karbantartásokat sem rendeljük meg pl. erre a röntgenre. Amikor a múltkor kihívtam a szervizt (mert olyan probléma volt, amit magam már nem tudtam elhárítani), rögtön elkezdték sorolni, mi mindent kellene még cserélni és hogy mindez mennyibe kerülne. Hát, jó nekünk a picit beégett detektor is, ki nem szarja le, nem szépségversenyre megy a kép. Majd ha teljesen befosik, kicseréltetjük. Ez nem olyan, mint egy hobbiautó, hogy a fitymabőrünkkel polírozgatjuk.

Olvassátok ki az EPROM-ok tartalmát, amíg lehet és mentsétek el. Lehessen belőlük másikat csinálni, ha beüt valami.

A Kylix szerintem régen ment a levesbe.

Delphi meg úgy van, hogy ott kb 2003 óta minden saját szoftver azzal lett fejlesztve. Emlékeim szerint 7-es van megvéve. Mivel nem szoftverfejlesztés a cég fő profilja, azért többnyire nagyon rövid határidős fejlesztések mentek, olyan vezetői döntést, vagy kereskedelmet segítő funkciók legyártása, amiket az éppen bevezetett és sztárolt termelési és vállalatirányítási rendszer nem tartalmazott, vagy nem úgy tartalmazott, mint ahogy a vezetőség szerette volna. Ezt ugye a irányítási rendszer fejlesztőivel leegyeztetve, hogy ha bekerül egy partnert a sajátba, azt onnan a rendszerük vegye át, ha elfogy a kreditje, akkor ne engedjen neki terméket kiírni és ilyenek, pl a kintlévőséget is vegye figyelembe. (Mert ugye volt idő, amikor az ügyfél "adómentesen" kapott terméket azt meg hivatalosan nem kezelhette az irányítási rendszer.)

De emellett mindig voltak például C#-os fejlesztések is.

Ez ugyan itt offtopik, de az FT-PROG-ot mire akartad használni? :) Ezt azért kérdezem, mert a libftdi tartalmaz egy "ftdi_eeprom" nevű túlt, amivel lehet az eszközök eeprom-ját programozni. Így lehet hogy az is elég. (És igen, a wine nem tud direkt eszközt használni, bár mondjuk a host soros portját oda lehet neki adni, az működik.)

A ReactOS-ra (-re?) amúgy időnként én is ránézek, de csak érdeklődésből inkább, jelenleg szerencsére nem köt semmi kompatibilitási igény abba az irányba.

Egy FT4232-eshez kapcsolt eepromban kellett az alapertelmezeshez kepest egy bitet atirnom ;) (azt mondjuk nem tudom hogy melyik elmebeteg talalta ki milyen miitingen es mit szivott elote hogy egy USB-UART-on a ring indicator(!) legyen a default mukodes egy adott pin-re es pont a TXEN karara - amit meg mondjuk RS485/RS422 uzemben 0-nal tobb ember is hasznalna).

Igen, tudom hogy van az az ftdi_eeprom. De amikor a --write-eeprom uzemben inkabb jol felulcsapja a nagynehezen letrehozott eeprom-image file-t ahelyett hogy mondjuk az eeprom-ba irna be magat, illetve neha hisztikezik es csak 128 byte-nyit ment le es/vagy arrol vesz tudomast 256 byte helyett illetve neha abba a 128 byte-ban van az ami a 256 byteos cimtartomanyban a felso reszben van, akkor kicsit megijedek es inkabb nem hasznalom... vsz jo ez az ftdi_eeprom csak pont az FT[24]232H-s joszagokat nem szereti annyira. 

vsz jo ez az ftdi_eeprom csak pont az FT[24]232H-s joszagokat nem szereti annyira.

Én pont egy 2232 melletti EEPROM-ot programoztam vele, de az igaz, hogy nem valami intuitív a stuff! :) (Hogy mást ne mondjak: akkor is kellett konfigurációs fájl a működéshez, ha csak olvasni akartam az eszközt.) Azt meg nem is tudom, lehet-e vele közvetlenül bináris adatot beírni, nekem nem sikerült, csak úgy, hogy „szövegesen” megfogalmaztam, hogy mit is szeretnék. :-D (Én tuti két túlt csináltam volna a feladatra: az egyik az EEPROM-tartalom generálására (legjobb, ha tudja oda/vissza... ;) ), a másik meg a generált bináris beírására / kiolvasására.) De igazad van; én még azon is meglepődtem, (és egyben nagyon örülök,) hogy bármilyen módon van lehetőségem ezt a feladatot Linux alatt megoldani.

Mit csináltak, amitől ennyit gyorsult? RAM-ba cache-elik a fájlokat?

Mondjuk jó szarul lehetett megírva, ha ekkorát gyorsítottak rajta :D

“Luck Is What Happens When Preparation Meets Opportunity" - Seneca