Очень часто при выборе программного интерфейса чуть ли не самыми важными факторами являются простота и легкость в использовании. Большинство реальных проектов выполняются в сжатые сроки и ограничены в ресурсах, поэтому даже если определенный язык технически лучше подходит для определенного приложения, но разработка кода будет занимать много времени и ресурсов, он может не пройти тест "стоимость против прибыли". В таких ситуациях очень часто используется хотя и менее оптимальное, но более простое решение.
Разумный компромисс
В "битве" транслируемых и интерпретируемых языков Java занимает нейтральную позицию. Сначала, в процессе, равносильном компилированию, код Java преобразуется в байт-код. Затем этот байт-код интерпретируется "виртуальной машиной" и выполняется. Этот двухуровневый подход объединяет лучшее и худшее двух сторон: программы на Java в высшей степени переносимы и защищены, но дополнительный шаг может привести к довольно заметному снижению производительности.
В качестве примера этого аргумента часто приводятся ЯП C и C++. Хоть оба языка очень мощные и позволяют полностью контролировать производительность и управлять ресурсами, обычно написание простого приложения с помощью этих языков - это довольно трудная задача, требующая много времени и усилий. А ЯП РНР, который поставляет со встроенной поддержкой MySQL, наоборот, предоставляет многочисленные высокоуровневые конструкции, которые позволяют создать приложение на основе MySQL довольно легко и быстро.
Как известно, две важные составляющие простоты - это удобочитаемость и простота использования. Обычно код таких языков, как PHP и Perl, легче читать и понимать, чем аналогичный код на C или Java.
Эта удобочитаемость может способствовать повышению уровня удобства работы программиста с языком, а также сокращает время, необходимое для доработки, когда новые части кода нужно вставить в уже существующие приложения.
Доступность библиотек и инструментальных средств
Еще одним важным фактором, который может повлиять на выбор программного интерфейса, является доступность подключаемых к языку библиотек. Доступность этих дополнительных библиотек может существенно сократить время разработки новых возможностей и одновременно увеличить надежность благодаря использованию испытанных модулей с открытым кодом. Вы бы предпочли язык с большим запасом свободно доступных библиотек, чтобы не пришлось изобретать колесо при каждом добавлении в приложение новой возможности или функции?
Популярность языков Java, Perl и PHP привела к созданию больших онлайновых хранилищ кодов, содержащих модули дополнительных библиотек - от манипулирования файлами до шифрования данных. Эти библиотеки существенно добавляют ценности языкам и часто приводят к тому, что разработчики предпочитают эти языки, а не ЯП С, который поставляется с меньшим количеством аналогичных библиотек.
Кроме того, на выбор языка влияет качество и количество инструментальных средств разработки. Предпочтение отдается языкам, которые поставляются со сложными инструментальными средствами, автоматически генерирующими код из высокоуровневых заданий, или тем языкам, что содержат мощные компиляторы, отладчики и среды разработок. Конечно, можно написать код на любом языке в простом текстовом редакторе, но если есть интегрированная среда разработки, позволяющая выполнить задание, щелкнув кнопкой мыши, выбор совершенно очевиден.
ТОП-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. Переносимость |