Cовременные информационные технологии/2.Вычислительная техника и программирование

 

магистрант  Шарипова А.К.

Карагандинский университет «Болашак», Республика Казахстан

 

Преимущества и недостатки PHP+MySQL  или Visual Basic for Applications 

 

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

Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко.

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

Вообще, программирование рассматривается как кодирование алгоритмов на одном из языков программирования. Под программированием помимо прочего сможет пониматься как разработка определенной схемы для ПЛИС, также процесс записи цифровой информации (ЦИ) в Постоянное Запоминающее Устройство или (ПЗУ). В наиболее широком смысле программирование - процесс сотворения программ, другими словами разработка программ.

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

В настоящее время методы и средства уменьшения трудоемкости разработки и сопровождения ПО  разработаны достаточно глубоко. Это такие методы программной инженерии, направленные на создание сложных систем, как разработка открытых систем [1], разработка принципов оптимального разбиения систем на модули [2], методы объектно-ориентированного анализа и проектирования систем [3]. Сейчас для разработки ПО различного назначения широко применяется повторное использование программных объектов и программных компонентов [4], предлагаемых производителями средств ускоренной разработки приложений а также позволяет значительно сократить трудоемкость проектирования и сопровождения систем.

        С точки зрения создания программ -разница между PHP+MySQL и Visual Basic for Applications просто огромна. Например, разный подход к структуре приложений.

Краткое описание Visual Basic for Applications представляет собой новаторское достижение в языках программирования, возможно наиболее значительное с тех пор, как состоялся выпуск первой интегрированной среды разработки. Это означает, не то что VBA - лучшее средство разработки, а лишь то, что VBA существует. Visual Basic, вероятно, самое популярное средство разработки, и теперь совершенно неожиданно этот язык включен в не менее популярный комплект прикладных программ.

В VBA достаточно изучить одну среду программирования, чтобы составлять разнообразные приложения.

Встраивание VBA в какое-то приложение означает для него создание объектной модели, в результате VBA-программа может обращаться к объектам этого приложения и манипулировать ими. Для изделий фирмы Visio к числу таких объектов могут относиться как прямоугольник на рисунке, так и сам рисунок, а объектная модель распространяется на все эти элементы.

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

Точно так же, как можно составить макрокоманду Office, которая обращается к программам Word и Excel, можно разработать VBA-программу, сочетающую в себе средства Access и Visio. Составное приложение для планировки педагогической нагрузки можно считать неким гибридом Access с Visio с базой данных.

       Достоинства: высокая скорость создания приложений с   графическим  интерфейсом  для MS Windows; простой синтаксис,  позволяющий очень быстро освоить язык; возможность компиляции, как в машинный код, так и в Р-код    (по выбору программиста); в режиме отладки  программа всегда (вне зависимости от выбора) компилируется в P-код, что позволяет приостанавливать выполнение программы, вносить значительные изменения в исходный код, а затем продолжать выполнение: полная перекомпиляция и перезапуск программы при этом не требуется; защита от ошибок, связанных с применением указателей и доступом к памяти. Этот аспект делает Visual Basic приложения более стабильными, но также является объектом критики; возможность использования большинства WinAPI функций для расширения

      Недостатки: Поддержка операционных систем только семейства windowsи Mac OS X (Исключение — VB1 for DOS); отсутствие механизма наследование реализации  объектов. Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию; требует установленную msvbvmXX.dll для работы программы; медленная скорость работы, обусловленная тем, что практически все встроенные функции языка реализованы через библиотеку времени исполнения (runtime library), которая, в свою очередь, производит много «лишней» работы по проверке и/или преобразованию типов.

Ниже приведен анализ преимуществ и недостатков при использовании связки PHP+MySQL.

Преимущества: Главным фактором языка РНР является практичность. РНР должен предоставить программисту средства для быстрого и эффективного решения поставленных задач. Практический характер РНР обусловлен пятью важными характеристиками: традиционностью; простотой; эффективностью; безопасностью; гибкостью.

Существует еще одна «характеристика», которая делает РНР особенно привлекательным: он распространяется бесплатно! Причем, с открытыми исходными кодами ( Open Source ).

Традиционность. Язык РНР будет казаться знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си, Perl.

Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. PHP — язык, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным (правда, за некоторыми оговорками) и ясным синтаксисом.

Простота. Сценарий РНР может состоять из 10 000 строк или из одной строки — все зависит от специфики вашей задачи.

PHP — язык, который может быть встроен непосредственно в html -код страниц, которые, в свою очередь будут корректно обрабатываться PHP -интерпретатором. Мы можем использовать PHP для написания CGI-сценариев и избавиться от множества неудобных операторов вывода текста. Мы можем привлекать PHP для формирования HTML-документов, избавившись от множества вызовов внешних сценариев.

Большое разнообразие функций PHP избавят вас от написания многострочных пользовательских функций на C или Pascal .

Эффективность. Очень важное преимущество PHP заключается в его  «Движке». «Движок» PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство «движка» PHP позволяет обрабатывать сценарии с достаточно высокой скоростью. По некоторым оценкам, большинство PHP-сценариев (особенно не очень больших размеров) обрабатываются быстрее аналогичных им программ, написанных на Perl. Однако, чтобы не делали разработчики PHP, откомпилированные исполняемые файлы будут работать значительно быстрее – в десятки, а иногда и в сотни раз. Но производительность PHP вполне достаточна для создания вполне серьезных web-приложений..

Безопасность. РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.

Гибкость. Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).

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

Бесплатное распространение. Стратегия Open Source, и распространение исходных текстов программ в массах, оказало несомненно благотворное влияние на многие проекты, в первую очередь — Linux, хотя и успех проекта Apache сильно подкрепил позиции сторонников Open Source. Сказанное относится и к истории создания РНР, поскольку поддержка пользователей со всего мира оказалась очень важным фактором в развитии проекта РНР.

Принятие стратегии Open Source и бесплатное распространение исходных текстов РНР оказало неоценимую услугу пользователям. Вдобавок, отзывчивое сообщество пользователей РНР является своего рода «коллективной службой поддержки», и в популярных электронных конференциях можно найти ответы даже на самые сложные вопросы

MySQL – это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в Интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных.

MySQL отличатся хорошей скоростью работы, надежностью, гибкостью. Работа с ней, как правило, не вызывает больших трудностей. Поддержка сервера MySQL автоматически включается в поставку PHP.

Немаловажным фактором является ее бесплатность. MySQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License).

Ранее для долговременного хранения информации мы работали с файлами: помещали в них некоторое количество строчек, а затем извлекали их для последующей работы. Задача длительного хранения информации очень часто встречается в программировании Web-приложений: подсчёт посетителей в счётчике, хранение сообщений в форуме, удалённое управление содержанием информации на сайте и т.д.

Между тем, профессиональные приёмы работы с файлами очень трудоёмки: необходимо заботится о помещении в них информации, о её сортировке, извлечении, при этом не нужно забывать, что все эти действия будут происходить на сервере хост-провайдера, где с очень большой вероятностью стоит один из вариантов Unix - следовательно, нужно так же заботится о правах доступа к файлам и их размещении. При этом объём кода значительно возрастает, и совершить ошибку в программе очень просто.

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

Приложение на РНР, использующее для хранения информации базу данных (в частности MySql) всегда работает быстрее приложения, построенного на файлах. Дело в том, что базы данных написаны на языке C++, и написать на PHP программу, которая работала бы с жёстким диском эффективнее базы данных - задача неразрешимая по определению, поскольку программы на PHP в принципе работают медленнее, чем программы на C++, так как РНР - интерпретатор, а С++ - компилятор.

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

 

Литература

 1.   Mohammad A. Ketabchi, Valdis Berzins. Mathematical Model of Composite Objects and Its Application for Organizing Engineering Databases // IEEE Trans. on Software Eng.- 14, N 1.- 1988.- 71-84

2.   Anant Jhingran, Michael Stonebraker. Alternatives in Complex Object Representation: A Performance Persrective // 6th Int. Conf. Data Eng., Los Angeles, Calif., USA, Febr. 5-9, 1990.- 94-102

3.   E. F. Codd. A Relational Model of Data for Large Shared Data Banks // Commun. ACM.- 26, N 1.- 1970.- 377-387

4.      Гвоздева И.А., Лаврентьева И.Ю. Основы проектирования автоматизированных информационных систем: учебник. – М.: ИД «ФОРУМ»: ИНФРА-М, 2007. – 320с.

5. Информатика: Учебник" Под ред. проф. Н.В. Макаровой. Москва. Издательство "Финансы и статистика". 2005 г.

3. "Информационные технологии управления: Учебное пособие". Под редакцией Ю.М. Черкасова. Москва. Издательство "ИНФРА-М". 2004 г.

4. "Информатика". В.А. Острейковский. Москва. Издательство "Высшая школа". 2004 г.

5. "Курс правовой информатики". Гаврилов О.А. Москва. Издательство "ИНФРА-М". 2006 г.

6.  PHP 5/6 и MySQL 6. Разработка Web-приложений (+ CD-ROM): Денис Колисниченко — Санкт-Петербург, БХВ-Петербург, 2010 г.- 546 с.

7. PHP 5/6: Максим Кузнецов, Игорь Симдянов — Санкт-Петербург, БХВ-Петербург, 2010 г.- 1024 с.

8. PHP в примерах: Стивен Хольцнер — Москва, Бином-Пресс, 2009 г.- 350 с.

9.  PHP. Практика создания Web-сайтов (+ CD-ROM): Максим Кузнецов, Игорь Симдянов — Москва, БХВ-Петербург, 2008 г.- 1264 с.

10. PHP. Рецепты программирования: Д. Скляр, А. Трахтенберг — Москва, Русская Редакция, БХВ-Петербург, 2007 г.- 736 с.

11. PHP/MySQL для начинающих: Энди Харрис — Москва, КУДИЦ-Образ, 2005 г.- 384 с.

12. Изучаем PHP и MySQL: Мишель Е. Дэвис и Джон А. Филлипс — Санкт-Петербург, Символ-Плюс, 2008 г.- 448 с.

13. РНР 5/6, MySQL 5/6 и Dreamweaver CS4. Разработка интерактивных Web-сайтов: Владимир Дронов — Санкт-Петербург, БХВ-Петербург, 2009 г.- 544 с.

14.  Самоучитель PHP 5/6: Максим Кузнецов, Игорь Симдянов — Санкт-Петербург, БХВ-Петербург, 2009 г.- 672 с.