"Насколько просто CGI-программирование на python?" Проще чем С, это точно. С Python проще, потому что - просто - с ним проще работать, чем с C. Прежде всего: нет выделения-освобождения памяти. Кроме того, модель программирования ОО отлично.
Помимо существенной языковой простоты, стандарт Python WSGI гораздо легче справиться, чем стандарт CGI.
Тем не менее, сырой CGI представляет собой огромную боль по сравнению с очень упрощенным миром полностью Python-фреймворка ( TurboGears , CherryPy , Django , независимо от .)
Каркасы накладывают много (необходимой) структуры. Опыт программиста CGI в том, что это слишком много, чтобы учиться. Правда. Все новые вещи слишком много, чтобы учиться. Тем не менее, стоимость намного превышает инвестиции.
С Django вы работаете в течение нескольких минут. Шутки в сторону. django-admin.py startproject
и у вас есть кое-что, что вы можете запустить почти сразу. Вы должны разработать свои URL, написать функции просмотра и дизайн шаблонов страниц. Все это работа. Но это меньше работы, чем CGI в C.
Django имеет лучшую архитектуру, чем PHP, потому что шаблоны презентаций полностью отделены от обработки. Это приводит к некоторой путанице (см. Синтаксическая ошибка всякий раз, когда я помещаю код Python в шаблон django ), когда вы хотите использовать свободный и неограниченный стиль PHP в инфраструктуре Django.
связывание пользовательского интерфейса с серверной частью
Внешний интерфейс Python (например, Django) использует функции представления Python. Эти функции просмотра могут содержать любой код Python. Это включает, если необходимо, модули, написанные на C и вызываемые из Python.
Это означает, что вы можете скомпилировать модуль CLIPS с Python-friendly интерфейсом. Это становится чем-то доступным для вашего кода Python с помощью оператора import
.
Иногда, однако, это неэффективно, потому что ваши страницы Django ждут завершения работы движка CLIPS. Альтернатива - использовать что-то вроде именованного канала.
У вас есть приложение на основе CLIPS, полностью написанное на C, которое читает из именованного канала. Ваше приложение Django, полностью написанное на Python, записывает в этот именованный канал. Поскольку у вас есть два независимых процесса, вы максимально быстро максимально увеличите количество своих ядер, как это.