Отец FastReport'а
Мы начинаем рубрику Кто есть кто, в рамках которой будем знакомить Вас с интересными личностями, имеющими самое непосредственное отношение к миру Delphi (разработчиками компонент, создателями известных сайтов и т.п.). Первым героем рубрики становится Александр Цыганенко, создатель и главный идеолог разработки одного из лучших генераторов отчетов для Delphi - FastReport.Цыганенко Александр Анатольевич. 27 лет. Родился в Ростовской области, проживает в Ростове-на-Дону. Не женат. По образованию инженер-системотехник. Работает исключительно сам на себя.
Кто он, отец FastReport'а?
Что для Вас работа программиста (ремесло, хобби, тяжкий груз...)?
Зависит от времени года
. В основном - ремесло, иногда бывает тяжким грузом, а иногда - могу писать весь рабочий день.
Суеверны ли Вы?
Нет.
Как Вы проводите свободное время (отдыхаете)?
Люблю посмотреть свежий фильм, прочесть свежий автомобильный журнал, попариться в баньке и выпить с друзьями по бутылке свежего пива. ![]()
Какие фильмы Вы любите?
Смотрю разные фильмы, в основном зарубежного производства. Современных отечественных картин не смотрю в принципе - сплошная чернуха. Вот фильмы советских времен - это да, раньше умели делать отечественное кино. Смотрю в основном комедии, хотя иногда неплохо посмотреть боевик или фантастику - был бы сюжет интересным.
Чем Вы увлекаетесь, есть ли у Вас хобби?
Раньше было - электроника и программирование. Сейчас программирование уже не хобби, а работа. Из увлечений - автомобиль.
Какие автомобили Вам больше нравятся? Какой он автомобиль мечты?
Учился ездить на Opel Vectra A, сейчас уже перерос. Запросы у меня скромные, поэтому автомобиль мечты - не ламборджини какой-нибудь, а обыкновенный BMW
. Отечественными машинами не владел, и, надеюсь, не придется.
Ваша любимая музыка?
Нет жанровых пристрастий.
Ваши любимые книги (писатели)?
Люблю Головачева и Кинга.
Ваши любимые напитки?
Пиво, мартини, кола.
Играете ли Вы в азартные или компьютерные игры?
В азартные - нет, а в компьютерные кто ж не играет? ![]()
Каким играм Вы отдаете предпочтение?
Из последних - Serious Sam, Heroes of M&M. Разумеется, классику (Warkraft, Doom, Quake, Hexen) в свое время проходил. ![]()
Что Вы ненавидите делать?
Писать документацию к собственным программам.
Что вас раздражает в людях?
Злобность, надменность, необязательность.
Пару слов о самом замечательном моменте Вашей жизни?
Когда в 6-м классе стал обладателем компьютера "Радио-86РК".
Чем Вы больше всего гордитесь?
Тем, что научился водить и чинить автомобиль.
Есть ли у Вас мечта? И если есть, то какая?
Есть много мечт, но главной среди них выделить не могу.
Есть ли люди, которым Вы хотели бы выразить особую благодарность?
Моим друзьям и коллегам.
Как все начиналось?
Когда Вы впервые заинтересовались компьютерами?
В 5-м классе, увидев "персоналку" живьем.
Ваш первый компьютер
Радио-86РК
Ваш первый язык программирования?
Бейсик, конечно.
Когда Вы написали свою первую программу?
Что-то связанное с графикой, уже не помню.
Когда Вы впервые заработали деньги трудом программиста?
Уже в студенческие годы, писал тогда еще на С++ (Delphi не было).
Delphi в практике Александра
С какой версией Delphi Вы впервые столкнулись?
С самой первой, под Win3.1.
Первое что Вы написали на Delphi?
То ли платежку, то ли счет-фактуру.
Какую версию Delphi Вы считаете наиболее удачной?
Раньше я довольно долгое время работал на Delphi 2.0. По сравнению с более свежими версиями "двойка" очень шустро работала на слабых машинах. Теперь работаю на Delphi4, хотя самой удачной считаю все же 5-ку.
Если бы не было Delphi на чем бы вы писали бы?
Наверное, на MSVC, как и основная масса разработчиков. Хотя меня отталкивает концепция MS делать интерфейсную часть на VB, а логику - на VC.
Подробнее о FastReport
Как пришла идея создать FastReport?
С той первой платежки/фактуры. Довольно быстро осознал, что нужно более-менее универсальное ядро, позволяющее хотя бы реализовать предварительный просмотр. А когда форма платежки стала меняться чуть ли не каждый месяц, пришлось задуматься и над визуальным построением отчетов. На одном из дисков с ПО нашел QuickReport (в стандартной поставке его тогда не было). Мне показалось, что это именно то, что надо. Но когда полчаса рисования формы документа пропали даром (в какой-то момент QR глюкнул и все объекты смешались), я его стер и больше никогда им не пользовался. Как хорошо, что на том диске не оказался ReportBuilder. ![]()
А если бы на том диске оказался ReportBuilder, то FastReport'а не было бы?
Очень даже может быть. Версия того времени (3.х, если не ошибаюсь) вполне удовлетворила бы мои запросы. И у меня не возникло бы необходимости писать свой генератор. FastReport'а бы не было, но могло бы быть что-то другое. ![]()
Откуда такое название?
Всего лишь аналог названия QuickReport.
Как пришла идея сделать FastReport платным и какие при этом были трудности? Долго ли возмущались по этому поводу люди?
Я решил сделать продукт платным, когда он стал более-менее зрелым и конкурентоспособным. К этому времени его поддержка стала отнимать у меня довольно много времени, и я решил - почему бы и нет. Взял бесплатную версию, улучшил ее почти по всем показателям, и выставил на продажу. Недовольных было немного - ведь есть старая бесплатная версия (FreeReport), которая многих устраивает. Но фокус в том, что, попробовав новую версию, человек уже не мог от нее отказаться. Этого направления развития - новая версия должна быть значительно лучше старой - я придерживаюсь до сих пор.
С какими проблемами пришлось столкнуться по ходу работы над проектом?
В основном, недостаточное знание английского, что мешало быстро изучать документацию и общаться с зарубежными пользователями.
Что отличается FastReport от других подобных?
Пожалуй, главное отличие - встроенный дизайнер диалоговых форм. Все остальное - стандартный "джентльменский набор".
Кого вы считаете своими главными конкурентами?
Это, конечно, ReportBuilder. Этот продукт обладает весьма схожей функциональностью. Кроме того, за ним стоит весьма солидная компания, которая лидировала на рынке еще до появления FastReport.
Как Вы с боритесь с конкурентами?
Выпуская качественный продукт по довольно низкой цене. Предлагая бесплатную поддержку и обновление версий. Выпуская продукты для нескольких платформ (Windows, Linux).
В каких странах распространяются Ваши продукты? В какой стране больше всего пользователей?
Продукты продаются практически по всему миру. Больше всего, пожалуй, российских пользователей. В этом убедился, когда узнал, что многие госструктуры работают со специализированным ПО, в состав которого входит FastReport или FreeReport.
Часто ли приходится сталкиваться с пиратскими версиями и боритесь ли Вы с ними?
В силу своей распространенности продукт уже давно прописался на варезных сайтах и болванках с пиратским софтом. Отношусь к этому довольно спокойно: плохой продукт ломать не станут
.
Бороться с пиратством бесполезно - любая защита легко взламывается, рано или поздно. К пользователям пиратских версий отношусь также спокойно - как правило, многие потом покупают продукт.
Правда ли то, что для защиты исходников зарегистрированной версии используется цифровая подпись?
Да, исходник каждого пользователя уникален. Применено несколько способов шифрования, которые позволяют вычислить хозяина исходника даже в том случае, если исходник менялся (например, накладывались какие-либо патчи).
Были ли интересные случаи которые произошли при разработке или распространении FastReport?
Как-то раз один парень из Штатов прислал мне в знак признательности подарок - майку и футболку (кстати, тогда еще за бесплатную версию). ![]()
Советы гуру
Что нужно сделать, чтобы багов было меньше?
Хотел бы сказать, что надо больше времени уделять проектированию. Но даже самая грамотная постановка задачи, организация труда и лучшая команда разработчиков не мешает продуктам от MS иногда глючить. Так что универсального совета не дам.
Что бы Вы посоветовали начинающим shareware-программистам?
Много работать, если хотите добиться успеха.
Чего стоит ожидать от Вас в будущем
Немного странный вопрос, над чем Вы сейчас работаете?
В основном над версией FastReport 3.0. Параллельно портирую ее на C# - проект FR.NET стартовал месяц назад.
FR.NET - это дань моде или прозорливый взгляд в будущее?
Последнее. Рынок .NET молод и весьма динамично развивается. Застолбив место на этом рынке сейчас, можно получить неплохую прибыль в будущем, когда огромная армия разработчиков на VB/VC перейдет на платформу .NET. В том, что это случится, можете не сомневаться. ![]()
И главный, нескромный вопрос, который мучит многих. Когда же нам все таки ждать FastReport3 ? Главные его вкусности и лицензионная политика.
Все основные модули написаны, продукт сейчас проходит альфа-тестирование. Пока еще нет документации (я планирую переписать ее заново, как и весь продукт). Хочется выпустить полностью "упакованную" версию, свободную от большинства ошибок. Поэтому на вопрос "когда?" я не могу дать точного ответа. Что касается вкусностей... Версия FastReport 3 была написана с чистого листа, и, хотя внешне довольно похожа на предыдущую версию, она претерпела большое количество изменений и улучшений. Основные усилия были направлены на исправление недостатков предыдущей версии:
- закрытый недокументированный формат файлов отчета. В версии 3 все файлы (как шаблоны отчета, так и файлы готового отчета) хранятся в формате XML, что делает их легко доступными для изменения из других программ, анализа и масштабируемости. Отныне несовместимость между файлами разных версий исчезла.
- хранение промежуточных данных построенного отчета в памяти. Версия 3 хранит страницы построенного отчета в файле, что существенно сокращает требования к объему оперативной памяти при построении очень больших отчетов.
- невозможность работы в многопоточных приложениях. Отныне FastReport позволяет запускать на выполнение несколько отчетов одновременно, обладая полноценным thread safety.
- недостаточная точность представления координат и размеров объектов. Версия 3 использует числа с плавающей запятой для представления этих величин.
- необходимость построения всего отчета до того, как будет возможен предварительный просмотр или печать. Версия 3 позволяет пользоваться окном предварительного просмотра, пока отчет строится.
- неточная печать блоков текста (неполный WYSIWYG). Версия 3 имеет улучшенный модуль рендеринга текста, позволяющий увидеть текст на бумаге в точности таким же, как он виден на экране.
- недостаточно удобный дизайнер. Дизайнер FastReport 3 имеет все, что необходимо для создания отчетов любой сложности. Интерфейс с возможностью докинга панелей инструментов и вспомогательных окон, масштабирование листа отчета, сетка-миллиметровка, линейки, выносные линии - это неполный список возможностей, отсутствовавших в версии 2.
- бедные возможности встроенного языка. Версия 2 включала в свой состав интерпретатор Паскаль-подобного языка, имеющего ряд ограничений. Версия 3 включает в себя два языка - PascalScript и C++Script, которые имеют расширенный набор языковых конструкций.
Чем отличаются базовая, стандартная и профессиональная версии?
Четкие рамки еще не определены. Вполне возможно, в базовой версии не будет run-time дизайнера, в стандартной не будет исходников, в профессиональной будет все. Как и прежде, продукт будет предлагаться пользователям из exUSSR по значительно более выгодным ценам.
Ваши планы на будущее?
Занять первое место в номинации Лучший генератор отчетов (ежегодный конкурс проводится журналом Delphi Informant Magazine). Пока третий год держим второе место.
Спасибо за интервью. Осталось пожелать, Вам Александр, что бы все Ваши "много мечт" сбылись и FastReport не только занял первое место в номинации Лучший генератор отчетов, но и был назван Продуктом года. Ведь вероятность этого есть, ReportBuilder (главный конкурент FastReport'а) уже много лет почти не развивается и его доля голосов постоянно сокращается (2001 - 57%, 2002 - 54%, 2003 - 37%), а доля FastReport с каждым годом растет (2001 - 12%, 2002 - 20%, 2003 - 29%).
На наши вопросы отвечал
|
Alexander Tzyganenko FastReport Software Chief Technology Officer |
Вы еще не дали интервью DelphiPlus? Тогда мы идем к Вам!
| 2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2002 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2001 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2000 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 1999 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
- Компания по разработке программного обеспечения
- Услуги аутсорсинга в области программирования
- Как продлить срок службы картриджей
- Мошенничество во Всемирной Паутине. Осторожно: фишинг!
- Web-студия
- Как легально поднять уровень индекса цитирования.
- Мы реально сможем помочь вам в управлении предприятием
- Создание сайтов – популяризация вашего замысла
- Свой сайт. Управление ресурсом
- Семантическое ядро сайта или правила подбора ключевых фраз
- Программирование в среде Delphi 8 for .NET
- Практикум по Delphi для решения прикладных задач
- Фундаментальные алгоритмы и структуры данных в Delphi
- Delphi 6. Программирование на Object Pascal
- Delphi и технология COM
- Delphi в шутку и всерьез: что умеют хакеры
- Программирование в Delphi глазами хакера
- Delphi 2005. Секреты программирования
- Искусство создания компонентов Delphi
- Приемы программирования в Delphi на основе VCL
- Программирование баз данных в Delphi 7
- Программирование баз данных в Delphi
- Программирование в среде Delphi
- Программирование в Delphi 7
- Язык SQL в Delphi 5