Интервью со Светой Смирновой

Известная в PHP-кругах программистка - Света Смирнова. Небольшое интервью с ней на тему программирования в целом и PHP в частности.

Kirpichtion:как давно и на чем пишешь?
sveta: на PHP последние 3 года. До этого был Perl, Java.

Kirpichtion:почему именно на PHP остановилась?
sveta: большинство проектов, которые я делаю - web-проекты или локальные сетевые приложения. PHP доступен. Потом у PHP есть одно дополнительное преимущество перед другими языками: он сам может выступать в роли шаблонного движка. Против встраиваемого в html языка трудно что-то противопоставить. По простоте и выразительности. И при этом PHP обладает всеми свойствами современного языка программирования. На нём можно создавать программы любой сложности, в том числе в моём любимом объектном стиле.

Kirpichtion:то есть Perl и ASP все-таки уступают перед PHP?
sveta: ASP требует windows-сервера и является закрытой технологией, а в закрытых технологиях я вижу один существенный недостаток: если обнаруживаются проблемы в таких продуктах, ты оказываешься в полной зависимости от разработчика. Perl же "не встраиваемый в HTML язык" и объектная модель там “на любителя”.

Kirpichtion:можешь выделить какие-нибудь недостатки языка?
sveta: да, недостатки есть, но надо сказать, что создатель языка Rasmus Lerdorf в наделавшем этой осенью много шума письме в список рассылки [решила расшифровать] internals "PHP6 Wishlist" предложил большинство из них убрать. Мне не нравится, как реализованы глобальные переменные. Отсутствие namespaces (ну это уже даже не смешно). Что-то ещё непременно найдётся.

Kirpichtion:насколько хорошо в PHP реализована объектная модель? Есть ли в ней недостатки?
sveta: Отсутствие namespaces к недостаткам непосредственно объектной модели причислять не будем, хотя их очень не хватает. Меня интересуют практические реализации объектной модели и что программист может в ней сделать. Соответственно я не скажу, что объектная модель реализована плохо до тех пор, пока это не будет мне мешать создавать переносимые программы [в объектном стиле]. А недостатки есть, к сожалению. Например, случай, когда одновременно определён интерфейс и абстрактный класс с методами, имеющие одинаковые названия и никак между собой не связанные. Так вот, без дополнительного кода невозможно одновременно унаследовать этот абстрактный класс и реализовать интерфейс. И это ожидаемое поведение, предусмотренное разработчиками языка. [Наглядный пример есть в ЖЖ у necromant_2005 и у меня - У necromant_2005 нагляднее. Можно выбрать пример] Derick Rethans у себя в блоге приводил способ, при помощи которого можно изменить private свойства объекта. Это, несомненно, недостатки. С другой стороны некоторые вещи разработчики PHP продумали настолько хорошо, что они именно вынуждают писать программы в хорошем стиле: иначе будут ошибки =)

Kirpichtion:это все недостатки?
sveta: подготовить список на 3-ёх страницах или остановимся? ;) Тем более, что идеальных языков нет

Kirpichtion:еще парочку самых основных на твой взгляд :) ?
sveta: на мой взгляд основных либо нет, либо уже в 5-ой версии их можно обойти. Как, например, собаки.

Kirpichtion:что-нибудь еще попробовать не хотела в будущем?
sveta: хороший вопрос. Конечно, хотела бы =) Сейчас выпускаются объектные базы данных. Хотела бы их посмотреть. Хотела бы написать несколько расширений к PHP. Проблема только в том, что возможности web-сайтов на shared-хостинге ограничены и такие вещи пока возможны для меня исключительно в качестве хобби.

Kirpichtion:можешь выделить самые перспективные на твой взгляд web-технологии?
sveta: В 1998 году уже существовало всё, что позволяет сделать web комфортным для человека: браузеры, поддерживающие интерактивное взаимодействие с пользователем, языки программирования, wml. Другое дело, что существовали препятствия, тормозившие внедрение этих технологий в жизнь: скорость соединения была в среднем ниже чем сейчас за счёт большего количества пользователей модемных соединений среди всех пользователей интернет, менее мощные машины, запретительные цены на соединение с интернет при помощи мобильного телефона. Сейчас же с каждым днём всё меньше пользователей ограничено в своих возможностях. Поэтому я думаю, что ничего в корне не изменилось и перспективные технолии остались прежними. Другое дело, что крен будет в сторону от серверных к клиентских программам.

Kirpichtion:как ты относишься к процедурному программированию?
sveta: Я к процедурному программированию не отношусь. На самом деле я видела очень красиво написанные программы в процедурном стиле, но я так не умею.

Kirpichtion:программинг для тебя больше увлечение или заработок?
sveta: и то и другое.

Kirpichtion:хороший программист может быть любителем или он должен быть профессионалом?
sveta: что значит “любителем”?

Kirpichtion:при написании кода испытываешь творческое чувство? Или просто решаешь поставленную задачу?
sveta: творческое чувство я обычно испытываю при придумывании алгоритма.

Kirpichtion:у тебя есть кумир среди программистов?
sveta: нет, у меня нет кумиров.

Kirpichtion:Есть люди считающие, что девушка и программинг - это вещи не совместимые. Что бы ты хотела передать этим людям?
sveta: ничего.

Kirpichtion:спасибо, что согласилась поговорить :) Успехов тебе. Пожелаешь что-нибудь читателям ЕЖа?
sveta: Так как читатели ЕЖа люди творческие, то и пожелаю я им новых идей, решений и успешной их реализации.

Последний понравившийся фильм :
Последний? А это классика. Просто я в первый раз посмотрела. "Мой друг Лапшин" Германа.
Что последний раз слушала :
Freddie Mercury & Moncerrat Caballe "Barcelona"
Последняя прочитанная книга :
Эрих Фромм "Искусство любви". Если по теме, то Бьерн Страуструп "Язык программирования С++".
Книга, которую ты никогда не станешь читать :
бредовый вопрос
Сайты которые посещаешь регулярно :
phpclub.ru, php.net, mysql.com, postgresql.org, livejournal.com

КОМПЛЕКТ СОФТА :
jEdit
EditPad Lite
TortoiseSVN
subversion for UNIX
bash
WinMerge
DBDesigner4 (старая версия, выпущенная более года назад)
Mozilla FireFox
PHP5
MySQL
PostgreSQL
gcc
cygwin
Microsoft Visual C++ Toolkit 2003