Eräät tälläkin palstalla väittävät, että on OK, että ohjelmat hajoaa, kun uusia käyttöjärjestelmä versioita tulee ja on OK rikkoa tarkoituksella rajapintoja, pakottaa ihmisiä uusiin rajapintoihin, ja että on jopa tarpeen rikkoa rajapintoja, että saadaan uusia tehtyä.
Onneksi on ympäristöjä, kuten Linux ja Windows, joiden kehityksessä lähtökohtana on, että tämä ei todellakaan ole ok.
https://www.realworldtech.com/forum/?threadid=189711&curpostid=189837
Linus Torvalds Windowsista;
"The one thing that DOS and Windows did right ware not about technology, but about backwards compatibility. People ran DOS and Windows not because they loved DOS and Windows, but because they find them useful thanks to all the programs available. Breaking those programs breaks the whole point of an OS."
"The number one priority for Linux has been "don't break existing users".
Eli sääntö numero yksi on, ettei vanhoja käytössä olevia rajapintoja rikota.
Windowsissa ei ole rikottu, siellä vanhatkin ohjelamt toimii, ja kiitos tämän, Windows on erittän suosittu. Sama tilanne pääosin Linuxissa.
Muut systeemit ovat höpö höpö järjestelmiä, mihin kaikki softa pitää koodata parin vuoden välein uudestaan, ja mihin ei tuolla kehitysmallilla tehtynä tule koskaan tulemaan sellaista määrää hyödyllisiä ja pitkälle kehitettyjä sovelluksia, kuin näille vakaille alustoille.
Onneksi on ympäristöjä, kuten Linux ja Windows, joiden kehityksessä lähtökohtana on, että tämä ei todellakaan ole ok.
https://www.realworldtech.com/forum/?threadid=189711&curpostid=189837
Linus Torvalds Windowsista;
"The one thing that DOS and Windows did right ware not about technology, but about backwards compatibility. People ran DOS and Windows not because they loved DOS and Windows, but because they find them useful thanks to all the programs available. Breaking those programs breaks the whole point of an OS."
"The number one priority for Linux has been "don't break existing users".
Eli sääntö numero yksi on, ettei vanhoja käytössä olevia rajapintoja rikota.
Windowsissa ei ole rikottu, siellä vanhatkin ohjelamt toimii, ja kiitos tämän, Windows on erittän suosittu. Sama tilanne pääosin Linuxissa.
Muut systeemit ovat höpö höpö järjestelmiä, mihin kaikki softa pitää koodata parin vuoden välein uudestaan, ja mihin ei tuolla kehitysmallilla tehtynä tule koskaan tulemaan sellaista määrää hyödyllisiä ja pitkälle kehitettyjä sovelluksia, kuin näille vakaille alustoille.
Vastaukset 45
Vanhimmat
Jostain kumman syystä niihin Windows ohjelmiin tulee päivityksiä vähän väliä.
----HöPö--HöPö----
Et oikein ymmärtänyt, mistä tässä puhuttiin. Kyse oli käyttöjärjestelmän rajapinta tuesta.
Linux DosBoxissa on erittäin hyvä dos ohjelma tuki.
Pioksen hakaisussa kunnostauu w10.
Ongelma ilmenee siten, että windows 10 asentamisen jälkeen tietokoneen bios ei enää suostu tallentamaan käyttäjän tekemiä asetuksia,
Opettele väpelö kirjoittamaan.
W10 on luvattoman huomo tulki ohjelmille alaspäin!
EI TUE VANHOJA OHJELMIA W10.
Mitä enemmän rajapintoja, sitä raskaampi os on.
Tom of Saimaa......ei tollaasii tajua...
Ota seppo vähän marinolia...
Jep, hyvin ilmaistu. Ennen oltiin ujompia.
siellä se valheidenlevittäjä olleilee.
Marinoitu winhuhhuli!
Kyllä sitä eri teknologioissa on useinkin taaksepäinyhteensopivuutta olemassa tai taaksepäinyhteensopivuutta luvattu.
Se vaan on eriasia että pidetäisikö kaikkea ikuisesti samanlaisena. Näin ei tietenkään ole.
Riippuu ihan siitä rajapinnasta miten pitkään luvataan pysyvän samanlaisena ja monta versiota eteenpäin luvataan yhteensopivuutta. Ja jos mitään ei luvata niin sitten voi muuttua.
Oikeasti maailma on mennyt kokoajan paremmaksi, että standardointi on lisääntynyt ja yhteensopivuudet parantuneet. Se on tietysti tapahtunut sen kustannuksella että vanhaa yhteensopivuutta on poistettu. Turvallisuus niinikään parantunut ja paranee kaiken aikaa ja samoin suorituskyky, ja kaikenlaiset "tietokoneongelmat" vähenevät, sekin tapahtuu sen kustannuksella että vanhaa poistetaan vähitellen.
Tottakai maailma menee paremmaksi, mutta juuri se paremmaksi kehittyminen mahdollistetaan hyvällä suunnittelulla.
Lisäksi on tietyt perusperiaatteet, jotka ovat hyvin vakiintuneet.
Sovellusohjelmat voivat kehittyä aivan vapaasti, mutta käyttöjärjestelmän täytyy tarjota riittävän vakaa ympäristö, jotta sovellusohjelmia sille kananttaa kehittää.
Käyttäjälle lisäarvo syntyy käytössä olevista ohjelmista. Mitä laajempi kirjo hyviä ohjelmia tietylle alustalle on, sitä enemmän sillä alustalla on käyttäjiä, mikä taas houkuttaa lisää kehittäjiä.
Se, että ympäristö käyttöjärjestelmän tai jonkin muun välikerroksen toimesta romutettaisiin jatkuvasti, on alku sille, että sinulla ei ole sovellusohjelmien kehitystä ja kun sitä ei ole, kohta ei ole käyttäjiä, eikä käyttäjillä hyviä ohjelmia.
"Lisäksi on tietyt perusperiaatteet, jotka ovat hyvin vakiintuneet."
Itseasiassa tässä on ollut muutosta kun on saatu omaksuttua parempia tapoja ja myös tekniikassa muutosta kun tullut kaikkea lisää 10x enemmän, niin se mahdollistaa asioiden tekemisen paremmin. Ja sitten kun tulee 100x lisää kaikkea niin lähdekoodi alkanut auttamatta pilaantua.
"Sovellusohjelmat voivat kehittyä aivan vapaasti, mutta käyttöjärjestelmän täytyy tarjota riittävän vakaa ympäristö, jotta sovellusohjelmia sille kannattaa kehittää."
Tämä piti paikkansa silloin kun ohjelmia asennettiin, että ainakin pari vuotta piti pysyä vakaana että touhussa oli mitään järkeä. Kaikki käyttöjärjestelmät eivät sellaisia olleet.
Palvelimissa ei niin väliksi ole ollut kun niillä ollut ylläpitäjät. Ohjelmia useinkin asennettu lähdekoodeista kääntämällä ja jos tulee muutos mikä rikkoo niin sitten säädetty. Palvelimissa toki tehdään tuota vakaana pitämistä myös, itseasiassa paljon enemmän kuin niissä laitteissa mitä käyttää toimistotyöntekijät ja kotikäyttäjät.
"Käyttäjälle lisäarvo syntyy käytössä olevista ohjelmista. Mitä laajempi kirjo hyviä ohjelmia tietylle alustalle on, sitä enemmän sillä alustalla on käyttäjiä, mikä taas houkuttaa lisää kehittäjiä."
Tuohan on muuttunut sitten niin, että käytännössä ohjelmointikielet ovat muodostaneet omat ekosysteeminsä että on yhteensopivia palikoita sille ohjelmistokehittäjälle, mukaanlukien välikerrokset jotka sitten tekee sitä alustaa.
Mutta kaikki tietokoneet ja käyttöjärjestelmät sitten menneet tässä käytännössä yhdentekeviksi kun palvelimiin asennetaan kontista ja toimistotyöntekijät ja kotikäyttäjät käyttää selaimella. Ne välikerrokset sitten on siellä selaimessa tai kontissa itsessään ja kaikki sitten on yhteensopivaa. Kaikilla alustoilla siis on käytännössä kaikki käyttäjät.
Toki natiiviohjelmiakin on mutta ne ei ole niin merkityksellisiä.
Onneksi ostin aikanaan sen parhaan eli seiskan, sillä pärjää vielä kymmeniä vuosia eli loppuiän. Ihan sama mitä muut käyttää.
"Muut systeemit ovat höpö höpö järjestelmiä, mihin kaikki softa pitää koodata parin vuoden välein uudestaan, ja mihin ei tuolla kehitysmallilla tehtynä tule koskaan tulemaan sellaista määrää hyödyllisiä ja pitkälle kehitettyjä sovelluksia, kuin näille vakaille alustoille."
Softan hyödyllinen elinikä ollut perinteisesti noin 12 vuotta. Ei sama ohjelmaversio vaan sama lähdekoodi. Alkanut sitten näivettymään kun maailma muuttunut että on helposti kannattevampaa tehdä uusiksi.
Eli niitä ohjelmia ei kirjoiteta mihinkään uusiksi parin vuoden välein. Niitä päivitetään, välillä useita kertoja päivässä.
Kehitys on aina alussa nopeinta. Sitten kun hyvät toimintatavat löytyy, ja tekniikasta tulee ns. kypsää, tuo jatkuva uudelleen tekemisen kierre pikkuhiljaa loppuu. Tästä syystä ei ole mitään "perinteistä" elinikää tulevaisuudessa, se perinteinen elinikä minkä lasket perustuu aikaan, jolloin kehitys oli nopeampaa.
Esim. sähkö kun tuli aikoinaan, ensin oli pääosin tasavirta järjestelmiä ja laitteita, mutta kehitys eteni alussa hyvin nopeasti, niin, että teknisesti ja taloudellisesti parhaat ( sähkönjakelussa vaihtovirta ) ratkaisut yleistyivät ja jäivät elämään.
Sen jälkeen kun niihin on päästy, ei ole ollut tarvetta enää keksiä perusasioita jatkuvasti uudestaan ja jos sitä tehdäänkin, se on jo hyvin vakiintuneen järjestelmän kanssa yhteensopiva.
Käyttöjärjestelmän päätehtäviin kuuluu abstraktointi, resurssien allokoinnin ohella. Eli, että käyttäjätason ohjelmille tarjotaan vakaa rajapinta, jotta ohjemlia ei tarvitse jatkuvasti kirjoittaa uudelleen tai kirjoittaa erikseen joka tietokoneelle.
Niinkuin sananlasku sanoo, "almost every problem in computing can be solved by another layer of indirection".
Myös web ymäpristön nousu validiksi vaihtoehdoksi perustuu siihen, että siitä tulee vakaa ja standardi.
"Kehitys on aina alussa nopeinta. Sitten kun hyvät toimintatavat löytyy, ja tekniikasta tulee ns. kypsää, tuo jatkuva uudelleen tekemisen kierre pikkuhiljaa loppuu. Tästä syystä ei ole mitään "perinteistä" elinikää tulevaisuudessa, se perinteinen elinikä minkä lasket perustuu aikaan, jolloin kehitys oli nopeampaa."
Totta tuokin.
Ei nyt oikein ole tullut viimeiseen kuuteen vuoteen mitään olennaista toimintavan muutosta ajattelussa ja tekemisessä miten ohjelmia tehdään.
"Käyttöjärjestelmän päätehtäviin kuuluu abstraktointi, resurssien allokoinnin ohella. Eli, että käyttäjätason ohjelmille tarjotaan vakaa rajapinta, jotta ohjemlia ei tarvitse jatkuvasti kirjoittaa uudelleen tai kirjoittaa erikseen joka tietokoneelle."
Tuo on muuttunut täysin.
Palvelimissa, ei siellä kontissa ole muuta rajapintaa suunnilleen kuin kerneli, ja siihen konttiin menee sitten service tai kokonainen sovellus vaikka. Ja kontteja ajava ympäristö toki juu jakaa resurssinsa tehokkaasti. Aiemmin ne virtuaalikoneet oli paljon raskaampia ja varasivat enemmän resursseja. Konttitekniikka jakaa resursit tehokkaammin. Ja varsinainen rajapinta mille ohjelmistokehittäjä tekee kulkee kontissa ja voi muuttua, ja myös muuttuu.
Ohjelmistokehittäjä sitten keskittyy tekemään itse vakaan rajapinnan tekemälleen sovellukselle tai sovelluksen osalle mitä käyttöliittymä käyttää. Koko suunnittelu alkaa tästä.
Ja kotikäyttäjien ja toimistotyöntekijöiden puolella, se vakaa rajapinta löytyy selaimesta tai selainkomponentista, ja sovelluksen kun avaa niin se kuljettaa tarvitsemansa lisätekniikan mukanaan.
"Niinkuin sananlasku sanoo, "almost every problem in computing can be solved by another layer of indirection"."
Niinhän se menee, ja tuota on tehty niin pitkään että saatu yhteisymmärrystä niistä standardeista mitkä on vakaita ja toimivia. Ja sitten käynyt sellaista että melkoinen määrä kaikkea muuta rajapintaa on mennyt huomattavasti joustavammin muuttuvaksi kun muuttaminen ei aiheuta yhteensopivuusongelmia loppukäyttäjällä. Ohjelmistokehittäjä ratkoo ne pakatessaan ohjeman kontteihin tai toimimaan selaimessa. Ja jos ohjelma asennetaan niin sinne kotikäyttäjän koneeseen vaikka niin paketoidaan se tavallisesti hyvin pitkälle selainkomponentin kanssa yhdeksi paketiksi. Toki niissä voi olla natiivikoodiakin mukana enemmän tai vähemmän.
Webistä tuli standardi, 90-luvulla jo.
Se vaan että standardi oli aluksi rajoitteinen. Käytännössä oli graafinen versio tekstipohjaisista etäkäyttöohjelmista että sivulatauksilla esitettiin toiveita ohjelmalle ja näytettiin sisältöä. Samalla teknologiafirmat säätivät omia virityksiään mitä teki sen mitä standardi ei mahdollistanut.
Mutta, standardi oli se että kaikkien piti tehdä se toimimaan hyvin tai ei olisi pärjännyt. Ja sitten standardi tapa alkoi mahdollistaa kokoajan lisää asioita standardilla tavalla ja teki sitten valmistajakohtaiset viritykset tarpeettomaksi. Näinhän se historia meni tällä vuosituhannella.
Rajapintahöpinät sopivatkin todella hyvin "Apua aloittelijalle" palstalle.
Jostakinhan se pitää aloittelijankin aloittaa.
Norppa sotkee palstaa tällaisella sonnalla.
Taitaa sonta tällä palstalla olla ihan muualla, kuten ne, jotka eivät kymmenen vuoden jankkaamisen jälkeen osaa päättää käyttääkö Windows vai Linux . . .
Norppa kuumeni ja alkoi poistaan....
Kyllä se valheita levittäjä on norppa.
Tom of Saimaa......
Laita tuksen kuva pylvääseen, kohta ap nylkyttää sitä.
Taitaa peräkamaari jo tuoksahtaa.
Pitäis päättää että mitä haluaa tehdä.
Yleensä sillä ei ole yhtään mitään merkitystä mitä sen aloittajan koneessa on.
Joo aloittajaan viitaten Microsoftin suurin ongelma on vanhojen ohjelmien tukeminen, Myös käyttikset mukaan lukien.
W10 onkin hirveen toimimaton
Windows, Huomisen bugit ja haitakkeet jo tänään
Minulla ei ole kuin vanhoja ohjelmia;) Ohjelmat toimi aikoinaan äxpeessä ja toimivat edelleen kympissä. Linuxilla ei ilmeisesti voi muuta tehdä kuin jauhaa paskaa suolikaksnelosella...
mutta linux onkin poroon toimimaton
Tuo ongelma onneksi poistunut vähitellen kun vähitellen ovat rapsineet vanhoja juttuja pois. Toki on paljon vanhaa vielä mukana että vähitellen tuota tapahtuu.
Lähitulevaisuudessa kaikki vanha ei lähde pois kun lupaavat melkein mille tahansa tekniikalle että toimii 10v, jotkut jutut pidempäänkin.
DOSbox ja VMware Player on saanut monet vanhat pelit käyntiin.
Ihan sama onko alla win vai lin.
Vanhat pelit ei toimi windows 10 lainkaan, eikä myöskään 8.1, 8 ja 7...
Linuxin 'wine'llä kuitenkin toimii...
Se sitten siis siitä "yhteensopivuudesta"...
Niin, vanhalla äidilläni on yksi peli-cd -levy, aikanaan ostettu ja käytetty windows vista kanssa. Nyt tuo windows vista läppäri hajosi, ja SER-lavalta uusi tilalle, ja siinä windows 10.
Ei toimi vaan peli-cd levy enää, ei, ei vaikka miten ajaa ja yrittää pakottaa windowsin oman hienon maagisen yhteensopivuustutkimuksen avulla, niin ei toimi niin ei, vaikka sanoo että aiemmin toimi vistan kanssa, eikä auta vaikka valitsee xp, niin ei toimi niin ei toimi,
Myös pelipalvelu STEAM varoittaa tästä vanhempien pelien kohdalla, että ei ole sertifioitu windows 10, jne...
Eli kun vaan ei toimi niin ei toimi!
Esim. Medal Of Honor Allied Assault ei toimi 10:n kanssa suoraan, mutta sen saa toimimaan. Toimimattomuuden aiheuttaa pelisssä oleva Safedisc v.2 suojaus, mitä Win10 ei tue. Itseasiassa tuki lakkasi myös Win 7:n kohdalla tietyn päivityksen jälkeen. Itselläni on tämä kyseinen peli, ja satunnaisesti käyn sitä verkossa pelaamassa. Peli on aivan kaupasta hankittu, mutta käynnistyäkseen se vaatii no-cd patchin.
No ei se nyt kyllä ihan noin ole. Kyllä niitä vanhentuneita rajapintoja on tarpeen aina aika-ajoin pudottaa pois systeemistä ja rajapintoja myös uudistetaan ja korvataan uusilla. Sitä tapahtuu ihan jokaisessa käyttiksessä, myös esimerkiksi Linuxissa ja Windowsissa. Kehitys ei voi pysähtyä sen takia, että pitäs säilyttää yhteensopivuus kaikkien vanhojen ohjelmien ja vanhojen ohjelmaversioiden kanssa. Lisäksi vanhojen rajapintojen pitäminen mukana voi olla suoranainen tietoturvariski. Siis jos jonkin vanhan rajapinnan kehitys on loppunut eikä sitä enää päivitetä niin sillon voi olla tietoturvariski säilyttää käyttiksessä kyseinen rajapinta. Ja vaikka ne ei olisi tietoturvariski niin ne voi lisätä tarpeettoman paljon käyttiksen kehityksen ja ylläpidon vaatimaa työtä. Pahimmillaan kaiken vanhan yhteensopivuuden mukana raahaaminen voi rajoittaa jatkokehitystä.
Kyllä Linuxissakin tapahtuu sitä, että aikaajoin distroista pudotetaan pois tuki vanhoille rajapinnoille. Esimerkiksi itse käytän Debiania ja kesällä julkastusta Debian 11 "Bullseye" -versiosta pudotettiin pois vanha Python 2.x. Eli nyt uusimmassa Debianissa Pythonilla tehtyjen ohjelmien pitää olla tehty Python 3:lla ja vanhalla Python 2.:lla tehdyt ohjelmat eivät enää toimi. Viimeisimmätkin Python 2.x -ohjelmat pudotettiin pois distrosta. Edellisessä Debianissa Python 2.x oli vielä käytettävissä, mutta nyt se siis heitettiin distrosta ulos. Tuo tarkottaa sitä, että jos jollain on vielä tarvetta käyttää Pythonilla tehtyä ohjelmaa, joka on tehty Python 2.x:lla niin se ei enää toimi. Ainut mahdollisuus on, että ohjelmasta tehdään uusi versio käyttämällä Python 3:a.
Toisaalta jos joku ohjelma on edelleen tehty vanhalla Python 2.x -versiolla niin todennäkösesti myöskään sitä ohjelmaa ei ole päivitetty aikoihin, koska Python 3 on ollut olemassa jo pitkään. Eli jos ohjelmaa ei ole päivitetty niin, että se olisi tehty Python 3:lla niin todennäkösesti ohjelman kehitys on muutenkin loppunut ja siihen on sitten myös voinut jäädä bugeja ja silkkoja tietoturva-aukkoja.
Ihan sama koskee myös Qt -frameworkin vanhentunutta Qt 4 -versiota. Uusimmassa Debianissa myös Qt 4 heitettiin vihdoin ulos distrosta. Eli Qt 4:lla tehdyt ohjelmat eivät enää toimi. Samalla siis myös kaikki Qt 4:lla tehdyt ohjelmat lenti ulos distrosta. Eli Qt -ohjelmia voi kyllä tottakai ajaa ja käyttää edelleen Debianissa, mutta ne pitää olla tehty Qt 5 -frameworkkia käyttäen. Qt 5 on ollut Debianissa ja muutenkin ylipäätänsä olemassa jo pitkään, joten on ihan ymmärrettävää että Qt 4 päätettiin lopulta pudottaa pois distrosta.
Ja ihan sama koskee vanhaa GTK 2 käyttöliittymäframeworkkia. Myös se pudotettiin pois uusimmasta Debianista. Eli vannhat GTK 2 -ohjelmat eivät enää ole tuettuja ja viimeisetkin vanhat GTK 2 ohjelmat tiputettiin pois Debianista.
Debian on pitänyt yhteensopivuussyistä vanhat Python 2.x, Qt 4 ja GTK 2.x mukana suht pitkään, mutta johonkin on laitettava raja vanhojen rajapintojen pitämiselle mukana. Debian on antanut sovelluskehittäjille runsaasti aikaa päivittää ohjelmansa käyttämään uuempia rajapintoja. Jos ohjelmaa ei ole jatkokehitetty ja päivitetty käyttämään uudempia rajapintoja niin se on voi voi, nyt ne vanhat ohjelmat eivät ole enää tuettuja.
T. miksuh
Linux-ohjelmia pitää jatkuvasti forkata, jotta ne pysyvät toimivina. Jos ohjelmaa ei aktiivisesti enää ylläpidetä, se lakkaa aika nopeasti toimimasta ja käyttökin loppuu. Käyttäjät eivät voi tietoturvasyistäkään johtuen roikkua vanhassa distrossa ja lopettaa sen päivittämistä, joten vanhoista suosikkiohjelmista pitää luopua ja etsiä uusia edes välttäviä vaihtoehtoja tilalle.
Myös Windows käyttiksien ja ohjelmien tuki loppuu silloin kun loppuu, turha tuollaisesta on närvistellä.