CoffeePanda
Дек. 18, 2016 14:18:46
Всем Доброго времени суток.
Вопрос относится не конкретно к Python, а к программированию в целом.
“Опишите два вида кроссплатформенности – на уровне общего исходного кода и на
уровне общих исполняемых модулей”
Я попытался найти ответ в google, но дальше “Что такое кроссплатформенность” - ничего адекватного я не нашёл.
Возможно, кто-нибудь из пользователей форума читал недавно какую-нибудь статью или книгу, в которых был раскрыт этот вопрос. Буду рад названию статьи\книги,ссылке.
Заранее спасибо Вам за помощь!
p.s. К сожалению, мой университет не предоставил список литературы по данному предмету, а я так отчаялся что-то найти, что не увидел другого выхода, кроме как написать на форум.
FishHook
Дек. 18, 2016 14:44:37
CoffeePanda
Мне кажется это тот самый случай, когда ответ кроется ву самом вопросе.
- на уровне общего исходного кода кроссплатформенность означает, что для разных платформ исходный код будет одинаков, и программист не задумывается над особенностями ОС или железа. Например, мы знаем, что в разных ОС и для разных процессоров длина целочисленного типа в байтах может быть разной если мы пишем на Си - этот код не кроссплатформенный (макросы не учитываем). Если мы пишем на С# то для всех платформ мы получаем корректный байткод из одного и того же исходника.
- на уровне общих исполняемых модулей кроссплатформенность допускает применение одних и тех же модулей не зависимо от целевой платформы. В самой библиотеке может быть реализован разный код под разные платформы, и конкретная реализация выбирается в реалтайме в зависимости от внешних условий. Например, модуль sys в питоне предоставляет одинаковый API для всех поддерживаемых платформ, хотя для разных ОС в итоге юзаются совершенно разные варианты.