openSusen kohtalo vaakalaudalla?
8
113
Vastaukset
- zS9oiNDy
Ehkä heidänkin tulisi siirtyä Debianin tyyliin. Uusi versio julkaistaan sitten kun se on valmis.
- puusilima____
siinä se nähdään tämä riippuvuuksien helvetti. linux-distrojen suurin ongelma on se, että kaikki ohjelmat ovat jollain tavalla toisistaan riippuvaisia ja kun kerran olet jotain asentanut, niin sitä ei saa kirveelläkään pois, koska sata muuta ohjelmaa tarvitsee poistettavaa jne.
pelkkä tekstieditorikin saattaa tarvita 1000 eri kirjastoa toimiakseen. siinä ei sinänsä ole ongelmaa, mutta kehitäpä siinä mitään sitten kun yksi muutos rikkoo 100 asiaa.
kaikkien onhjelmien tulisi toimia itsenäisesti, eikä missään "symbioosissa", koska se tuo pidemmällä aikavälillä mukanaan suuria ongelmia.Vaatimus kaikkien sovellusten toimimisesta itsenäisesti johtaa MS-DOS:in kaltaiseen helvettiin, jossa joka ikisellä sovelluksella on omat asetuksensa ja kirjastonsa fontteja, tulostinasetuksia ja näytönajureita myöten eikä yhdelläkään käyttöliittymällä ole mitään yhteistä sen enempää ulkonäössä kuin toiminnan logiikassakaan. Sovelluskansion koko ainakin kymmenkertaistuu ja sovellusten tuotantokustannukset moninkertaistuvat.
Oletko aivan varma, että loppuun asti ajattelet kirjoittamisiasi?- puusilima____
Kollimaattori kirjoitti:
Vaatimus kaikkien sovellusten toimimisesta itsenäisesti johtaa MS-DOS:in kaltaiseen helvettiin, jossa joka ikisellä sovelluksella on omat asetuksensa ja kirjastonsa fontteja, tulostinasetuksia ja näytönajureita myöten eikä yhdelläkään käyttöliittymällä ole mitään yhteistä sen enempää ulkonäössä kuin toiminnan logiikassakaan. Sovelluskansion koko ainakin kymmenkertaistuu ja sovellusten tuotantokustannukset moninkertaistuvat.
Oletko aivan varma, että loppuun asti ajattelet kirjoittamisiasi?eipä ole ohjelmat ulkoasultaan yhtenäisiä nytkään oikein missään järjestelmässä. tila ei nykyään ole mikään ongelma. tiedä nyt sitten mikä olisi paras vaihtoehto, mutta riippuvuushärdelli ei ole hyvä sekään, koska se on paisutettu järjesttömiin mittasuhteisiin.
- Järkeä_Linuxiin
Kommentteja viesteihin:
puusilima____ 16.6.2012 14:15
Kollimaattori 18.6.2012 15:52
Windowsissa tuo toimii juuri niin kuin pitääkin.
Tämä ei toki tarkoita, että windowskaan olisi täydellinen käyttöjärjestelmä.
Mutta riippuvuusasiat ovat windowsin itsensä osalta juuri, kuten pitääkin.
(Koskee käyttöjärjestelmää ja sen mukana tulevia sovelluksia, ei erikseen hankittavia sovelluksia !)
Ensinnäkin:
Windowsissa on selkeästi eritelty, mikä koodi on sovellusohjelmakoodia ja mikä käyttöjärjestelmäkoodia.
Sovellusohjelmakoodi:
Voi muuttua koska tahansa päivityksen yhteydessä, mutta joko ko. koodia ei käytä kukaan/mikään muu kuin sovellus itse, joten sen muuttuminen EI ole yhteensopivuusongelma TAI sitten sitä käyttää vain saman valmistajan muut ohjelmat ja ko. valmistaja on rakentanut jonkun tavan, joka ratkaisee yhteensopivuusongelmat. Esim niin, että yksittäistä komponenttia ei voi päivittää, vaa päivitykset jaetaan paketteina, jolloin kaikki toisistaan riippuvat osat päivitetään kerralla.
Käyttöjärjestelmäkoodi:
Yhteensopivuuden rikkovat muutokset ovat sallittuja ainoastaan bittiluvun vaihtuessa.
Bittiluvun vaihdoksia ovat / olivat seuraavat:
päivitys windows 3.1/3.11 (16-bit) -> Windows95 (32-bit)
päivitys XP/Vista/Win7 (32-bit) -> Win7 (64-bit)
Silloin, kun ei ole kyse bittiluvun vaihtumisesta, sallittuja ovat ainoastaan sellaiset muutokset, jotka eivät riko yhteensopivuutta.
Hyvänä esimerkkinä tästä on windowsin API -funktio:
GetDiskFreeSpace()
Tuo funktio oli määritelty jo ensimmäisessa julkaistussa Windows95 -versiossa. Ongelma: funktio tukee kiintolevyjä/osioita vain 2 gigatavuun saakka.
Kun kiintolevyjä alettiin ajan kuluessa valmistaa datakapasiteetiltaan yhä suurempia, tuosta tuli ongelma.
MUTTA: Microsoft EI tässäkään yhteydessä rikkonut yhteensoivuutta, vaan ratkaisi ongelman fiksusti näin:
MS määritteli uuden funktion GetDiskFreeSpaceEx() joka tukee myös isompia kiintolevyjä. Se tuli saataville 1. kerran Windows 95 OSR 2 -versiossa, ja sisältyy toki kaikkiin tuota uudempiin Windows -käyttöjärjestelmiin myös.
Vanhaa GetDiskFreeSpace() -funktiota ei poistettu, vaan se säilytettiin mukana takaamaan se, että vanhempi sovellus, joka edelleen käyttää GetDiskFreeSpace() -funktiota, ei rikkoudu, vaan toimii myös uudemmissa käyttöjärjestelmissä, toki tällainen vanha ohjelma tyypillisesti raportoi (virheellisesti):
Osion koko: 2 gigatavua (paitsi jos oikea koko on alle 2 Gt)
Vapaa levytila: 2 gigatavua (paitsi jos todellinen vapaa tila on alle 2 Gt)
Käytetty tila: 0 Gt
Uutta GetDiskFreeSpaceEx() -funktiota käyttävä koodi tietenkin toimii oikein ja antaa oikeat tulokset koskien levyn kokoa ja vapaata/käytettyä tilaa.
Periaatteessa ei ole mitään syytä, miksei linuxissa voitaisi tehdä samoin:
Erotellaan selkeästi, mikä on sovelluskoodia ja mikä käyttöjärjestelmäkoodia.
Dokumentoidaan kaikki käyttöjärjestelmäkoodi, JA sitoudutaan siihen, ettei kutsurajapintoihin tehdä yhteensopivuuden rikkovia muutoksia milloinkaan muulloin, paitsi bittiluvun vaihtuessa.
JOS joku funktio näyttäisi tarvitsevan sellaista muutosta, joka rikkoisi yhteensopivuuden vanhempiin sovelluksiin, niin tällöin ainoa oikea ratkaisu on se, josta esimerkkinä MS:n tapa GetDiskFreeSpace() -funktion yhteydessä:
Annetaan vanhan funktion joko olla sellaisenaan, tai ainakin muutetaan vanhaa funktiota siten, että sen yhteensopivuus säilyy niihinkin sovelluksiin, jotka eivät ole muutoksesta tietoisia, ja määritellään uusi funktio, joka voidaan sitten suunntella uusien tarpeiden mukaan, ja taidoiltaan parhaat suunnitttelijat saattavat pystyä hieman samalla ennakoimaan tuleviakin muutostarpeita, mutta tällöin funktio tulee määritellä niin, että on mahdollista ja selkeästi dokumentoitua, miten funktiota voi käyttää niin, etteivät tulevat muutokset riko käyttävää ohjelmaa. Esimerkkinä joku ns. lisäparametri, josta dokumentaation versio 1.0 sanoo seuraavasti:
Extra - tämä parametri on osoitin laajennettuun tietueeseen Extradata.
dokumentaation versio 1.0:n mukaisen sovelluksen tulee aina laittaa tähän NULL. Dokumentaation myöhemmät versiot voivat määritellä tarkemmin tämän parametrin käytön, mutta käyttöjärjestelmän suunnittelijat sitoutuvat siihen, että
dokumentaation versio 1.0:n mukainen sovellus toimii oikein, kunhan se aina laittaa tämän parametrin kohdalle NULL -osoittimen kutsuessaan funktiota.
Jos minä saisin päättää linuxin kehityksestä, määräisin tämän periaatteen pakolliseksi.- Järkeä_Linuxiin
Tämä tarkoittaisi esim. gcc:n osalta seuraavaa:
STACK alignment:
64 -bittisissä käyttöjärjestelmissä noudatetaan 64 -bittisten käyttöjärjestelmien ja CPU -valmistajien määrittelemiä standardeja. JOS nämä ovat ristiriidassa keskenään, CPU -valmistajien määrittelemät standardit ovat etusijalla.
32 -bittisissä käyttöjärjestelmissä noudatetaan perinteistä tapaa:
siksi ne gcc: muutokset, joissa on yritetty apinoida 64 -bittisten käyttöjärjestelmien tapoja myös 32 -bittisiin käyttöjärjestelmiin tulee kumota ja palata siihen STACK alignment -tapaan jota käytettiin esim. gcc -versiossa 2.95.
Paras starndardoitu API ja ABI linuxiin saataisiin, kun otettaisiin olennaisimmat osat WINE -projektista, ja laitettaisiin voimaan samat API ja ABI -määrittelyt myös linux -sovellusten käytettäväksi kuin windows -sovelluksillakin on.
Tämä pitäisi huolen siitä, että jos nyt kirjoittaa linux -sovelluksen, joka käyttäisi WINE:stä kopioituja API ja ABI -sovellusrajapintoja, niin soveelus toimii ongelmitta muuttamattomana 20 vuoden päästäkin, edellyttäen että tuki N (32 tai 64) -bittisille sovelluksille on vielä tuolloin olemassa.
MUTTA taitaa olla turha toivo linuxissa, kun siellä vallassa ovat tyypit, joiden pitää aina päästä säheltämään omiaan ja näin rikkomaan yhteensopivuus. - puusilima____
just niin. linuxdistrot ovat ihan härdelli kun "kaikki kuuluu käyttöjärjestelmään".
osx:ssä tästä on päästy myös suht järkevällä tavalla ja erilliset ohjelmistot tomivat "itsenäisesti" ja eivät ole riippuvaisia duke nukemista tai jostain muusta erillisohjelmasta. - XVdJBvQm
Järkeä_Linuxiin kirjoitti:
Tämä tarkoittaisi esim. gcc:n osalta seuraavaa:
STACK alignment:
64 -bittisissä käyttöjärjestelmissä noudatetaan 64 -bittisten käyttöjärjestelmien ja CPU -valmistajien määrittelemiä standardeja. JOS nämä ovat ristiriidassa keskenään, CPU -valmistajien määrittelemät standardit ovat etusijalla.
32 -bittisissä käyttöjärjestelmissä noudatetaan perinteistä tapaa:
siksi ne gcc: muutokset, joissa on yritetty apinoida 64 -bittisten käyttöjärjestelmien tapoja myös 32 -bittisiin käyttöjärjestelmiin tulee kumota ja palata siihen STACK alignment -tapaan jota käytettiin esim. gcc -versiossa 2.95.
Paras starndardoitu API ja ABI linuxiin saataisiin, kun otettaisiin olennaisimmat osat WINE -projektista, ja laitettaisiin voimaan samat API ja ABI -määrittelyt myös linux -sovellusten käytettäväksi kuin windows -sovelluksillakin on.
Tämä pitäisi huolen siitä, että jos nyt kirjoittaa linux -sovelluksen, joka käyttäisi WINE:stä kopioituja API ja ABI -sovellusrajapintoja, niin soveelus toimii ongelmitta muuttamattomana 20 vuoden päästäkin, edellyttäen että tuki N (32 tai 64) -bittisille sovelluksille on vielä tuolloin olemassa.
MUTTA taitaa olla turha toivo linuxissa, kun siellä vallassa ovat tyypit, joiden pitää aina päästä säheltämään omiaan ja näin rikkomaan yhteensopivuus.Miksi Linuxin pitäisi yrittää matkia Windowsia? Kyllä Windows osaa windowsmaisuudet paljon paremmin.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Stefu LOISTAVAA!
Ilmeisesti joku vedonlyönti tms, selvinpäin-elämästä👍👍👍 ilmankos ei ole Sofiaa näkynyt. Miten tän parin nyt käy, kun viimi ei maksettuna enää virta1342005Msisa on eronnut
Mies ei kestänyt jatkuvia syrjähyppyjä eikä totuutta Turun yöstä.291052- 69878
Venäläisiä keksintöjä?
Kun tässä nyt yritän miettiä venäläisiä keksintöjä, niin ei äkkiseltään tule oikein yhtään mieleen. Onko niitä edes?261766Tiedän että on aika luovuttaa
En vaan osaa. Liian kauan toivonut jotain, mikä ei koskaan tule toteutumaan. Olo ei ole mitenkään hyvä, mutta itken vähemmän kuin silloin kun sinuun r65752- 14735
- 83688
Katumuksesta
Pitkäperjantaina eräässä seurueessa puhuttiin katumisesta ja mitä itse kukin katuu. Yleisintä tuntui olevan pahasti sanominen jollekin läheiselle ja t132686Sisällissota kiihtyy Ruotsissa
KaupunkiTaistelut koraanin puolesta kiihtyneet Linköpingissä ja Malmössä. Ruotsin poliisi joutunut vetäytymään suojiin. Päätän raporttini Ruotsista.213673- 26671