Takovéhle statistiky toho moc neznamenají. Kvantita (ani kvalita) nejsou totéž, co význam pro open source komunitu. MS například zveřejnil PowerShell, ale jak se mezi Linuxáky ujme (pokud vůbec) je otevřená otázka. Ovladače pro Hyper V jsou životně důležité pro toho, kdo používá Azure, ale ostatním jsou šumafuk a kdyby neexistovaly, tak si toho většina lidí ani nevšimne. Dalšími Microsoftskými projekty jsou Iron Python a Iron Ruby, o kterých nevím přesně, jak moc nebo málo se používají. Naproti tomu zveřejnění ASP jako open source je nepochybně významný krok.
Facebook má sice teoreticky méně příspěvků, ale týkají se BTRFS a síťového stacku v Linuxu, což se týká skoro každého. Facebook taky hraje velkou roli v PHP, což má (v tomto případě bohužel) taky obrovský dopad.
Naproti tomu Intel, IBM nebo ARM sice opticky nejsou na špičce žebříčku, ale bez jejich podpory by Linuxová komunita dneska sotva přežila, nebo by přinejmenším nebyla tím, co je.
A proč by to mělo být hranaté kolo? Myslíš, že když tedy jiné jazyky někde mají nějaký stav, resp. vlákno je v nějakém stavu, jsou ve vláknu nějaké informace, tak je to v prostoru někde mezi dimenzemi? Někde ta infomace stejně je - RAM, file, internal db . . . . určitě nevím všechny možnosti . . . . ale někde fyzicky na tom daném stroji se ty informace fyzicky nalézají.
@ SB
"...... Přece si nebudu dělat omezení (oddělená sezení), abych ho potom mohl obcházet (jejich propojování). Sdílení v paměti je nejjednodušším a nejpřímějším řešením."
Jak jsem ale psal na začátku. Záleží na tom, co od té oné aplikace, resp. FW nebo jazyka čekáš a jaké jsou požadavky. Pokud je jediné kritérium sdílená/nesdílená session, ok. Většinou je ale těch kritérií hromada a někdy se prostě vyplatí 2-3 věci takhle nějak obejít a těžit ty výhody ostatní, než na každou featru volat jiný zdoj a pak je někde propojovat . . . . Takhle obecně to ale nelze posoudit. To je jako by jsi tvrdil, že je lepší jenom pohon předních a nebo zadních kol. Skutečnost je ale taková, že pro některé vozidla/stroje je lepší jeden, pro jiné druhý, na kombinace nehledě.
Programuji dlouho a prošel jsem spoustou jazyků a proto už jsem viděl případy, kde to to tak bylo, hodně věcí to totálně ulehčilo a bezpečnost byla zajištěna tím, že aplikace jenom četla a chtěla sdílet stav. Toť celé.
Ne vždy potřebuješ všechno oddělit na monolitickém x vláknovém celku za miliony a roky vývoje . . .
Ale výše píšete „...session, která je společná pro všechny procesy.“, tj. jedna. Nebo mi něco uchází.
Externí úložiště je snad to nejsložitější a nejnekoncepčnější řešení. Přirovnal bych to, jak když stojíte s kamošem vedle sebe (jedna raměť) a místo abyste k němu mluvil přímo, tak se domlouváte emaily (ext. úložiště).
1.
Tohle jde jen pokud aplikace běží v jednom procesu . . . . V Djangu by to teoreticky šlo také, ale moc se pro to nehodí.
Takže to nejde, nebo jde? Trošku protimluv.
"Problém je, že ta aplikace běží ve více procesech, a ty tu změnu provedeš jen v jednom. To nikdy nechceš, protože nevíš, který proces bude obsluhovat další request. Proto se používá session, která je společná pro všechny procesy."
Takže to, že si procesy vidí do společné session nevadí, ale to že si vidí na hodnotu proměné ano? Ani u jednoho nevíš, který proces to bude obsluhovat . . . .
"Sdílený stav je často potřeba, ale musí se k tomu použít databáze nebo třeba redis. Sdílet stav skrz globální proměnné je opravdu většinou chyba."
Ona je chyba většinou už ta globální proměná - alejak jsem psal na začátku - záleží, co od aplikace čekáš. Jaký je rozdíl v tom, když si 5 procesů každý uloží do databáze nějakou hodnotu a ty si je v 6tém procesu přečteš a nebo si je přečteš z těch globálních proměných? Pokud ti s hodnotami bude chtít někdo zamávat ( hack či něco takového )- v obou případech může a nijak mu v tom nezabráníš, jenom jsou hodnoty na jiném místě . . . Zabráníš - tím co aplikace umí nebo ne. Ale pokud si někdododá vlastní kód, ani v jedno případě tomu nezabráníš.
PHP - To bude nějaký komplex, ne?
Případně by jsi si mohl tu, na takové zdi nářku opravdových programátorů v těch správných jazycích, pobrečet.