Неудивительно, что имея такой широкий выбор, разработчики порой даже затрудняются предпочесть тот или иной программный интерфейс для разрабатываемых приложений. У каждого из вышеперечисленных языков программирования есть свои достоинства и недостатки, и выбор должен быть сделан только после внимательного рассмотрения многих факторов.
Требования платформы и приложений
Часто платформа, для которой делается разработка, определяет выбор программного интерфейса или языка программирования. Если большинство языков поддерживают архитектуру Intel 80x86, то на менее популярных архитектурах такой выбор невозможен. В таких случаях наличие языка и среды разработки играет решающую роль при выборе программного интерфейса. Например, компиляторы языка C, имеются для большинства архитектур, но интерпретаторы PHP и Perl могут быть недоступны.
Не лишним будет повторить, что каждый язык имеет свои преимущества. Так, например, ЯП Perl удобен при обработке текстов, а C и C++ предлагают отличное управление памятью. Исключительно важно выбрать язык, обеспечивающий преимущества, соответствующие требованиям приложения.
При создании приложения для устройства с малым объемом памяти, скажем, для флэш-карточки, очевидно, что предпочтение будет отдано программному интерфейсу языка C, так как его использование позволяет создать небольшой и быстрый исполняемый файл, а также предоставит расширенное управление ресурсами для не очень мощного устройства. Однако этот же аргумент может быть плох для Web-приложений, работающих с MySQL, где управление памятью уступает скорости, надежности и доступности высокоуровневых конструкций, ускоряющих разработку.
Производительность
Очевидно, что производительность приложения - это важнейший фактор при выборе программного интерфейса и языка. В общем, чем быстрее ваше приложение, тем счастливее клиенты. Если допустить, что все остальное равнозначно, основное решение,которое нужно принять, - это выбрать для вашего приложения либо транслируемый язык (такой как С), либо интерпретируемый (такой как Perl).
У обоих подходов есть преимущества и недостатки. Транслируемый код обычно работает быстрее интерпретируемого, так как перед его выполнением компиляторы преобразовывают исходный код в машинный язык, получая солидное преимущество в скорости перед интерпретируемым кодом, который транслируется во время выполнения. С другой стороны, интерпретируемые языки великолепны для разработки кода и отладки, так как при тестировании кода на каждом этапе исчезает необходимость в этапе компиляции.
В то время как интерпретируемые языки предлагают преимущества в скорости разработки, транслируемые языки позволяют управлять использованием ресурсов и распределением памяти, что очень важно при работе на маломощных платформах с малым объемом памяти. Обычно транслируемый код нельзя переносить на другие архитектуры - приложение нужно перекомпилировать для каждой новой архитектуры, на которой оно будет выполняться, а интерпретируемые программы всегда будут работать на любой платформе или архитектуре при условии доступности интерпретатора исходного кода.
Среди различных описанных здесь программных интерфейсов, наибольшую скорость дают интерфейсы C и C++, а также меняющиеся местами в зависимости от конкретного приложения интерфейсы Java, PHP и Perl. Для приложений, много и часто взаимодействующих с сервером MySQL, PHP чаще побеждает в тестах на производительность, поскольку он имеет самый прямой доступ к "родным" функциям программного интерфейса языка С, а Perl и Java должны работать через дополнительные уровни абстракции DBI или JDBC.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Выбор программного интерфейса
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Составляющие программного интерфейса приложений MySQL. Продолжение. | Все о MySQL. Простота |