Бир марта ёзинг, исталган жойда ишга туширинг (WОРА) ёки баъзан бир марта ёзинг, ҳамма жойда ишга туширинг (WОРЕ) Жава тилининг платформалараро афзалликларини кўрсатиш учун Сун Миcросйстемс томонидан 1995-йилда яратилган[1] шиори эди.[2] Идеал ҳолда, бу Жава дастури ҳар қандай қурилмада ишлаб чиқилиши, стандарт байт кодига компиляция қилиниши ва Жава виртуал машинаси (ЖВМ) билан жиҳозланган ҳар қандай қурилмада ишлаши кутилиши мумкинлигини англатади. ЖВМ ёки Жава интерпреетерини чиплар, қурилмалар ёки дастурий таъминот пакетларига ўрнатиш саноат стандартига айланди.

WОРА(Wрите онcе, рун анйwҳере)
бу атама ма'лум бир дастурнинг фақат бир марта ёзиб, ҳар қандай операцион системада кодга ҳеч қандай о'згаришлар киритишларсиз фойдаланишга айтилади.

Дастурчи компютерда код ёзади ва уни Жавани қўллаб-қувватлайдиган мобил телефонларда, шунингдек, Жава ўрнатилган бошқа қурилмаларда ҳеч қандай тузатишларсиз ишлатиши мумкин. Бу дастурий таъминотни ишлаб чиқувчиларни ўзлари жойлаштирмоқчи бўлган ҳар бир платформа ёки операцион тизим учун ишлаб чиқаётган дастурларининг бошқа шу платформага мос версиясини ёзиш учун кетадиган вақтни тежаш учун чиқарилган.

Ушбу ғоя 1960-йилларда ИБМ М44/44Х билан пайдо бўлган ва 1970-йилларнинг охирида п-кодни ишлаб чиқариш ва компиляция қилиш учун УCСД Паскал тизими ишлаб чиқилган. УCСД Паскал (Смаллталк виртуал машинаси билан бирга) Жеймс Гослинг томонидан таъкидланганидек, ЖВМ дизайнига асосий таъсир кўрсатди. 

Шуниси эътиборга лойиқки, турли хил операцион тизимлар билан бир қаторда бир нечта ЖВМ иловалари мавжуд бўлгани сабабли, дастурнинг ҳар бир ЖВМ/ОС комбинациясида қандай бажарилишида нозик фарқлар бўлиши мумкин, бу эса ҳар бир платформада дастурни аввал синаб кўришни талаб қилади. Ва бу ҳолат Жава дастурчилари орасида „бир марта ёзинг, ҳамма жойда текшириб кўринг(Wрите Онcе, Дебуг Эверйwҳере)“ деган ҳазил тарқалишига сабаб бўлади.[3]

Таққослаш учун, Сқуэак Смаллталк дастурлаш тили ва муҳити ҳақиқий ҳар қандай жойда бир марта ишга тушириш қобилиятига эгалиги билан мақтанади,[4] чунки у барча базасида бир хил кодларни ишга туширади.[5]

Анъанавий дастурлаш тили бўлган C ёки C++ дастурни компиляция қилинганда маълум бир операцион система тушунадиган кодга айлантиради. Агар биз бир хил кодни операцион системага эга бўлган бошқа компютерда ишга туширишимиз керак бўлса, янги операцион система тушуниши учун кодни қайта компиляция қилиш керак. Акс ҳолда, бу хатоликка олиб келади.

Манбалар

Ҳаволалар