Kezdőoldal » Számítástechnika » Programok » Lesz valaha olyan program...

Lesz valaha olyan program formátum, ami platformfüggetlen?

Figyelt kérdés
Jelenleg az operációs rendszerünknek megfelelőt kell keresni; Windowsra .exe, MacOS-re .dmg, Linuxra többféle, distrotól függően, BSD-re meg a csuda tudja milyen. És még ott vannak az indie OS-ek (pl Haiku) is. Szerintetek lesz valaha egy olyan formátum, ami akár Windowsra, akár MacOS-re, akár Linuxra, akár BSD-re is telepíthető? Ha igen, kb mikorra várható? Szerintem nagyon hasznos lenne, ha megszűnne a platformfüggőség, és operációs rendszertől függetlenül menne minden. Hogy példát említsek, mehetnének a játékok és a kereskedelmi szoftverek (pl Adobe) akár Linuxon is, mindenféle kompatibilitási réteg nélkül. Így a szoftverek nagyobb közönséget is meg tudnának célozni szerintem, ha esetleg multiplatformos a program, nem kellene minden operációs rendszerre újra lefordítani, ha megjelenik egy újabb verzió, csak egyet kéne frissíteni mindig, ráadásul felhasználói szemmel rendkívül hasznos lenne, ha tetszőleges operációs rendszeren (az én esetemben Ubuntu Linux) tetszőleges szoftvereket tudnának használni. Jó tudom, ott vannak a webalkalmazások, amiket bármilyen eszközről tudsz használni, feltéve ha van internetkapcsolatod. Csakhogy mégse lehet mindent webalkalmazásként megcsinálni, és sok minden nem is elérhető úgy. Persze a processzor architektúra az más kérdés, de akkor is egyszerűbb lenne, ha mindenből csinálnának egy Intel/AMD és egy ARM változatot, de az operációs rendszer akkor is mindegy lenne.

2021. júl. 27. 19:23
 1/6 anonim ***** válasza:
100%
Ez lett volna a Java, aztan megse valt be, legalabbis nem barmire. Amig az oprendszerek ennyire mas koncepcioval, szervezessel keszulnek, nem lesz sose teljesen 'hordozhato' szoftver.
2021. júl. 27. 19:54
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
80%
Sajnos 100%-os nincs, java és python vagy web alapú programozási nyelvek a legtöbb platformon már futtatható.
2021. júl. 27. 21:09
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
58%

Akkor már miért nem csinálják egyformára az összes operációs rendszert?

(költői kérdés)

2021. júl. 27. 21:59
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
40%

Pedig jelen pillanatban úgy néz ki, a jövőben a webes technológiákra épülő alkalmazások fogják betölteni ezt a szerepet. Egyre kevesebb az olyan terület, ahova natív app kell, és egyre több az olyan, ahova elég egy webes app. Példának okáért csak nézd meg, milyen alkalmazások készülnek Electron alapokon: [link]

Olyan nem kispályás nevek vannak a listán, mint a MS Teams, Tidal, WhatsApp, Skype, Signal, Discord, Slack, Github, VSCode, Atom, Wordpress...


Az más kérdés, hogy maga a natív bináris platformonként eltérő, de az afölötti kód alapvetően hordozható. A Chromium engine-t és a Node.js-t úgysem te fordítod, az adott.

2021. júl. 27. 22:19
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
100%

Valószínűleg nem. Ugyanis ahhoz arra lenne szükség, hogy minden operációs rendszer ugyanolyan belső logika szerint működjön, és hardveresen is ugyanolyan architektúrájú legyen. Ezzel meg gyakorlatilag a rendszer lényege szűnne meg. Még ha talán-talán a formátumot egységesíteni is lehetne, teljesen felesleges, ugyanis attól még az adott program más szoftverarchitektúrát feltételezne futáskor. Így legalább kiterjesztés alapján többé-kevésbé eldönthető, hogy milyen oprendszeren fut a rogram, és meg sem próblja (jobb esetben) az ember az elf-et futtatni Androidon vagy Windowson. Nem kis káosz lenne, ha elindulna Windowson, natívan az a szoftver, ami a /dev/drum-ot keresné. ;)


Vannak persze próbálkozások, ahogy említették, a Java az egyik ilyen, és valóban ígéretesnek indult, de egyrészt mára maga az egész Java-infrastruktúra úgy, ahogy van, kaotikus lett (ez csakezen a verzión működik, az meg csak másikon, ehhez 11-es Java kell, ahhoz legfeljebb 8-as, de nem fut, mert amiben készült, annak nagyobb az alverziószáma, aminek a telepítője már nem érhető el, és egyébként is fél óráig kell mókolni a biztonsági beállításokon, hogy egyáltalán fusson...) Illetve teljesítményét tekintve a Java azért nem az igazi. Mondjuk egy bérszámfejtő szoftvernek rendben van az a teljesítmény, de sok olyan helyzet van, amikor fontos a teljesítmény.

A különböző szkriptnyelvek is nagyjából platformfüggetlenek, de a teljesítményük messze a Java alatt van, és egybként sem mindig célszerű a forráskódot közreadni.

Ahogy említették, sok területen vitathatatlan előnye van a webes technológiáknak, bár én azért a natív alkalmazásokat még nem temetném.


"operációs rendszertől függetlenül menne minden"

Ez két módon lenne (natívan) lehetséges.

Vagy úgy, ha minden operációs rendszer ugyanolyan lenne. Ezt mondjuk én nagyon nem szeretném, nem véletlenül létezik több féle oprendszer: egyrészzt az egyéni igények is mások (én például köszönöm, de a Microsoft csodálatos technológiájából, a monolitikus, erőforrászabáló, és eredendően kevéssé stabil és biztonságos szoftverarchitektúrjából nem kérek többet), másrészt meg nem minden területre praktikus ugyanolyan rendszert használni. Mondjuk ami egy alacsony fogyasztású mobil rendszeren idális, az nem biztos, hogy egy asztali PC-n is az. És akkor még arról sem beszéltünk, hogy alapvetően eltér a két rendszer processzora.

Vagy pedig olyan formátumot alkotnának, aminek feltétele, hogy az ily módon megírt szoftver csak azon technikákat alkalmazhatja, ami mindegyik rendszeren egyformán elérhető. Szerintem nem kell ecsetelnem, hogy mennyire megcsappanna a szoftverek színvonala.


Vannak persze ígéretes próbálkozások. A Wine - ha magát a futtatni kívánt szoftvert normálisan írták meg - a Windowsra kiadott szoftverek nagy részét képes futtatni. Általában azokkal akad gondja, ahol a programozó magasról tojt a programozástechnikai illemszabályokra. Vagy például ott van Windowsra a Cygwin. Igaz, ez nem a klasszikus értelemben vett kompatibilitási réteg, viszont natívan fut. Vagy ott van a WSL, ami igazból Linux Subsystem for Windows lenne, csak a Microsoftnak még az elnevezést is sikerült elbénázni. Meg a megvalósítást is, mert azért elég esetlenre sikerült.

Én nem vagyok a fene nagy egyséesítés pártján. Tökéletes kompatibilitást akkor lehetne elérni, ha csak egyfajta hardverarchitektúra létezne, és minden oprendszer ugyanolyan belső felépítésű lenne. Ami nincs így, és ameddig nem lesz minden rendszer mindenki számára tökéletes, addig nem is baj, hogy nincs így. Nem olyan eszeveszettül nagy dolog 3 platformra lefordítani ugyanazt a programot, ha nem használ platformspecifikus technikákat, akkor kb. három gombnyommás. A probléma inkább az, hogy az emberek döntő többsége úgy járja ki az iskolát, hogy egyetlenegy asztali oprendszerrel találkozik, elsősorban azért, mert egy bizonyos vállalat mélyen berágta magát az oktatási szférába. Ha pedig az ember úgy nő fel, hogy egyetlenegy rendszert lát, akkor nem is lesz igénye másra. Ebből adódóan nem is fog mást használni, a fejlesztők - akik többsége ugyanezen rendszerben nőtt fel - még azt a 3 kattintiást is sajnálni fogja, mert hát úgyis csak pár százalékot érint. Na, ezen kellene változtatni, és egy csapásra képesek lennének mindegyik platformra kiadni a szoftvereket.


Egyébként apró kötekedés: a kérdésben az .exe (ami igazából PE,mert .exe-ből is van több) az a Windows natív futtatható formátuma (ami persze tartalmazhat telepítőt is), a .dmg, .rpm, .deb pedig telepítők.

2021. júl. 28. 08:37
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

És akkor nem beszéltünk a közép és nagygépekről. Szeretem ezt a szemellenzős "csak a PC létezik" szemléletet. És jól látod, van intel, AMD, ARM /és annak is 1000 formája/ procik, és még ezen kívül kb. 100 féle proci amiből lehet gépet építeni. Az oprendszer-proci-alkalmazás az első operációs rendszerek óta "össze vannak hangolva" /valamilyen szinten/. Innen kezdve mindig is lesz több féle operációs rendszer és több féle proci, innen kezdve értelmetlen, hogy ugyanaz a formátum legyen. Ami próbálkozások voltak rendre elbuktak (ebből a Java az utolsó ismertebb cucc). De volt már korábban is ilyen próbálkozás.

Ami talán-talán az interpretált nyelvek (ide sorolandóak architekturálisan a script nyelvek is php, python, és még ezer ezer másik) esetén létezhet teljesen platform független /később visszatérek miért nem fog ilyen létezni/, de itt meg az interpreter miatt halálra vannak ítélve mert ezek lassuak lesznek bármit csinál az ember.

És miért nem tudnak teljesen platform függetlenek lenni? Mert eltérő fájlrendszereket fognak használni és ha más nem a fájlnevek szintaktikája és a fizikai meghajtó-fájlrendszer-fájlnév eltérő lesz. Pl. Linuxon az összes fizikai kötet egy egységes fastruktúrában látszik és nem kell tudni, hogy melyik hol van fizikailag pl. simán lehet a /home és a /etc két külön helyen egységesen fogod látni. A Windows világban meghajtónként külön dir.struktúra van tehát lesz C:\alma D:\korte direktori, és ez már meghatározza, hogy nem is lehet egyforma teljesen a két kód, mert a fájlok helyét le kell tudni írni. Nyilván az ilyen webes rémálmoknál nincs ez mert minden URI séma szerint történik, és a localhosttal nem nagyon foglalkoznak (meg interpretál tehát akár össze is tudja rakni az interpreter). Talán a Fortran volt egy olyan nyelv ami szinte teljesen platformfüggetlen volt, én írtam olyan Fortran programot ami futott VM/CMS-en, VMS-en, Linuxon, és DOS-ban /akkor még a windows nem nagyon létezett a mai formájában/ és ott tényleg csak a fájlneveket kellett átírni, egyébként a VM/CMS és a VM/OS390 esetén is módosítani kellett, mert az OS390-ben és a CMS-ben /ihába volt ugyanaz a hardver/ picit másképpen kellett megadni a fájlneveket.

2021. júl. 28. 19:32
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!