Напишите один раз, компилируйте где угодно


Написать один раз, компилировать где угодно ( WOCA ) — это философия , принятая компилятором и связанными с ним программными библиотеками или программной библиотекой/ программной структурой , которая относится к возможности написания компьютерной программы , которая может быть скомпилирована на всех платформах без необходимости модификации. его исходный код . В отличие от лозунга Sun « напиши один раз, запускай где угодно », кроссплатформенная совместимость реализуется только на уровне исходного кода, а не на уровне скомпилированного двоичного кода .

Есть много языков, которые следуют философии WOCA, например, C++ , Pascal (см. Free Pascal ), Ada , Cobol или C , при условии, что они не используют функции помимо тех, которые предоставляются стандартной библиотекой . Такие языки, как Go , идут еще дальше, поскольку не используются никакие специфичные для системы вещи, они должны просто работать, а для специфичных для системы элементов используется система файлов, специфичных для платформы. Компьютерная программа также может использовать кроссплатформенные библиотеки, которые обеспечивают уровень абстракции, скрывающий различия между различными платформами, для таких вещей, как сокеты и графический интерфейс ., обеспечивая переносимость написанного исходного кода. Это, например, поддерживается Qt (C++) или IDE Lazarus (Pascal) через его LCL и соответствующие наборы виджетов .

Сегодня у нас есть очень мощные настольные компьютеры, а также компьютеры в наших телефонах, которые часто имеют сложные приложения, такие как обработка текстов , управление базами данных и электронные таблицы , которые могут позволить людям, не имеющим опыта программирования, сортировать, извлекать и манипулировать своими данными. . и создавать документы (например, PDF - файлы), показывая их теперь упорядоченную информацию или распечатывая ее. До 2000 года некоторые из них были недоступны, а до 1980 года их почти не было.

С самого начала компьютерной автоматизации в начале 1960-х годов, если вам нужен отчет на основе данных, которые у вас есть, или вам нужно распечатать счета , платежные ведомости, заказы на покупку, и другие документы, созданные предприятиями, школами и правительствами, вы печатали их на физической пишущей машинке, возможно, используя предварительно напечатанные формы. В противном случае, если у вас была информация, хранящаяся в компьютере, и вы хотели ее отсортировать, обработать или распечатать, для этого требовалось, чтобы кто-то написал программу. В некоторых случаях человеку требовалась информация, которую профессиональные программисты либо не могли понять, как предоставить программу, делающую то, что они хотели; имеющиеся программисты не могли произвести что-либо в разумные сроки; или не было программистов, которых они могли бы использовать, заставляло некоторых профессионалов, не занимающихся программированием, изучать некоторые навыки программирования, по крайней мере, знать, как манипулировать и распечатывать необходимую им информацию из своих данных.

Независимо от того, была ли работа выполнена профессиональным программистом или конечным пользователем , пишущим программу, чтобы предоставить им информацию для собственного использования, средства для этого в любом случае одни и те же. Напишите программу, отправьте ее компилятору (другой программе, которая преобразует написанные программы в понятные компьютеру инструкции), исправьте все ошибки, а затем повторяйте, пока программа не заработает.

Хотя это помогло решить часть проблемы, оно создало новую. Люди, которые писали программы или нанимали кого-то для их написания (покупка программ не рассматривалась до 1970-х или 1980-х годов), обнаруживали, что когда их работодатель или школа покупали новый компьютер, их программы больше не работали.