یک بار بنویس، همه جا اجرا کن Write once, run anywhere

یک بار بنویس، همه جا اجرا کن یا Write once, run anywhere چیست؟

یک بار بنویس، همه جا اجرا کن (Write once, run anywhere یا به اختصار WORA) مفهومی است که توسط شرکت Sun Microsystems برای تأکید روی قابلیت چند پلتفرمی بودن زبان برنامه نویسی جاوا معرفی شد و در واقع به برنامه‌هایی اشاره می‌کند که صرفا یک بار نوشته می‌شوند اما روی پلتفرم های مختلف قابل اجرا هستند. عبارت Write once, run everywhere (به اختصار WORE) نیز معادل با همین اصطلاح است.

در حالت ایده آل، برنامه های نوشته شده به زبان جاوا پس از کامپایل شدن به فرم بایت کد (Bytecode) تبدیل می‌شوند که بدون نیاز به دستکاری قادر به اجرا شدن روی دستگاه های مختلف خواهند بود؛ مشروط بر اینکه دستگاه موردنظر مجهز به ماشین مجازی جاوا (Java Virtual Machine – JVM) باشد. به عبارت بهتر بایت کد تولید شده توسط کامپایلر، قابل حمل (پرتابل) بوده و بسته به سیستم عامل و سخت افزارهای گوناگون توسط JVM اختصاصی آن پلتفرم قابل اجرا خواهد بود. از اینرو سیاست یک بار نوشتن و اجرا روی پلتفرم های مختلف در مورد برنامه های جاوا صدق می‌کند.

بک بار بنویس، همه جا اجرا کن Write Once, Run Anywhere
روند اجرایی شدن یک برنامه جاوا از کامپایل تا اجرا توسط یک ماشین مجازی جاوا

با وجود چنین رویکردی، برنامه نویس مجبور نخواهد بود برای اجرای نرم افزار خود روی پلتفرم های مختلف به نوشتن نسخه های متفاوت برای هر پلتفرم بپردازد و به این ترتیب در زمان لازم برای توسعه نرم افزار صرفه جویی می‌شود. فراموش نکنید جاوا تنها زبانی نیست که با رویکرد یک بار بنویس و همه جا اجرا کن همخوانی دارد بلکه زبان ها و شرکت‌های مختلفی به سوی این سیاست روی آورده‌اند.

یک بار بنویس، همه جا کامپایل کن

یکی دیگر از مفاهیم مشابه با WORA در توسعه نرم افزار که روی وجوه چند پلتفرمی بودن نرم افزار تأکید می‌کند اصطلاح یک بار بنویس، همه جا کامپایل کن (Write once, compile anywhere – WOCA) نام دارد. در این سیاست برخلاف WORA، برنامه به عنوان نسخه ای واحد برای اجرا روی پلتفرم های مختلف عرضه نمی‌شود؛ بلکه سورس کد برنامه با کمک کامپایلرهای مختلف به نسخه های قابل اجرا روی پلتفرم های متعدد کامپایل شده و سپس همگی در اختیار کاربران پلتفرم های مختلف قرار می‌گیرد. زبان C++ از جمله زبان های برنامه نویسی پرکاربردی است که از این رویکرد بهره می‌برد و دارای کامپایلرهای ویژه برای پلتفرم های مختلف می‌باشد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *