понедельник, 19 октября 2009 г.

Миф о скорости работы

Скорость работы и как с ней бороться

Многие из нас помнят смысл тех слов, что часто слышим от наших начальников, клиентов и сотрудников: "Постарайтесь сделать побыстрее". А, именно: "Мы ожидали уже увидеть результат, но пока его нет, в чем проблема?"

Когда это слышишь, то чувствуешь себя, как будто подвёл человека. Но на самом деле это не так. Они сами часто меняют спецификации. Определяют сроки, которые трудно назвать реальными. За одно им только становишься благодарным: за то, что после общения с ними ищешь способа поднять скорость работы и усовершенствоваться.


суббота, 17 октября 2009 г.

Творчество против Продуктивности

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

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

И это приводит к двум противоположным стилям программирования - вдумчивому анализу и программированию "по шаблону". Создаваемые программы получаются стандартизированными и выпускаются очень быстро. Но на исследование новых механизмов, алгоритмов и моделей не остается времени.

понедельник, 12 октября 2009 г.

Дилемма: XP или Архитектура

Как оказалось новые технологии сильно конфликтуют друг с другом. Так ХР (Экстремальное программирование) требует постепенного улучшения и совершенствования моделей, подтвержденных тестами. Академические же методики требуют изначального формального рассмотрения системы в целом. Если избежать паралича анализа - то можно определить систему подробно и увидеть все подводные камни.
Эти методики как разный взгляд на путешествие. ХР - это драйв на яхте к тем местам, которые хочешь увидеть. Архитектурный подход - скрупулезное планирование пути по карте и выставление вех. После этого работа - чисто на автоматизме, с применением генераторов кода и дешевых "кодеров".

понедельник, 5 октября 2009 г.

Ценность мастеров или Почем волшебная палочка

После упорного поиска оптимального метода программирования я пришел к следующим выводам:
  • Чем меньше кодирования, тем пишешь быстрее
  • Чем больше библиотек компонентов, кода - то кодировать приходиться меньше
Исходя из этого, можно предположить, что большая библиотека - это панацея. Но тут возникает другая проблема - организованность. При некотором критическом пороговом значении компонент начинаешь забывать, что у тебя есть (более 100) и начинаешь путаться в иерархии папок компонент (более 1000).


четверг, 1 октября 2009 г.

Сравнение RAD в Delphi и Visual Studio

Мы все рады заметить, что знаменитая версия Delphi 7 теперь продается за $75. Если учесть его возможности, и что на нем можно создавать вполне реальные и профессиональные приложения - то можно сказать, что Embarcadero подарило нам эту среду бесплатно.
Для сравнения - RAD Studio for Delphi 2009 стоит $895, а Visual Studio $1000-$2000. Что не всегда по карману даже профессиональному программисту, а уж о начинающих и говорить нечего. Сообщество программистов Open Delphi пытается выкупить права на 7ю версию и сделать ее открытой и общедоступной. Сейчас они собрали $29 750. Будем ждать, когда этот переломный момент произойдет.

Конечно, есть и Eclipse - но Java не всегда понятна "простому смертному". Завязка на свою собственную объектную модель и архитектура виртуально машины, отличной от того, что мы видим и знаем в Windows - мешает быстрому изучению языка.

Итак, сравним RAD (Rapid Application Development) в Delphi 7 и Visual Studio. Delphi 2008 и выше сейчас используют среду Visual Studio, поэтому можно сравнивать лишь "старую" и "новую" версии пакета Delphi.

Так, как в Delphi 2009 можно создать классическую разделенную среду программирования, то можно сказать, что она - надмножество среды программирования Delphi 7. Но, тут есть один нюанс - множество компонент, написанных для самой популярной версии 7 не работают нормально под 2009 без переработки. Удобство среды Delphi 2009 - заимствованная из Visual Studio автовыравнивание компонентов и полная MDA поддержка. QA (Quality Assurance) - тоже прекрасная штука для нахождения ошибок и качества кода.

Но, во первых современная среда, на основе Visual Studio грузится целых 2 минуты, а занимает больше 400 Мб памяти.

Отличие возникает в том, когда начинаешь строить RAD системы с использованием компонент доступа к БД. Так в Delphi мы можем построить приложение работы с БД - дело 10 минут. В Visual Studio - это уже на так удобно. Поскольку, C# позволяет каждый компонент использовать источник данных, то нет необходимости в сторонних компонентах. Но при этом модель - таблица, адаптер, база не всегда удобна.

Обе фирмы стремились облегчить разработку веб- и B2B- приложений, что создали визуальные компоненты для эффективной работы с ними. Они преуспели в этом, но Microsoft, как всегда впереди - для своих ASP.NET серверов нет ничего удобнее в разработке, чем Visual Studio. Тут не попишешь.

Остается отметить, что Borland, хоть и пытался выйти на арену сред разработки для профессионалов, все же не удалось этого сделать. Их ниша - средние и продвинутые разработчики и небольшие команды и фирмы по разработке ПО. Исходя из этого - Borland продукты в RAD - удобнее всего делать маленькие приложения и компоненты для своих нужд и нужд фирмы. Microsoft среду - разрабатывать большие корпоративные приложения.

Удобство обоих сред на высоком уровне. У Delphi есть одно преимущество - быстрый выбор свойства по Tab. В Microsoft не посчитали нужным это делать. И у Delphi огромное преимущество - большой выбор бесплатных компонент. Поэтому значительно легче построить приложение в TRM (True RAD Manner). Достаточно скачать нужные компоненты и поставить их - и в вашем распоряжении уже готовый фреймворк. Visual Studio - более серьезная и денежная среда. Ее компоненты тяжеловеснее и дороже. Но и приложения можно строить на порядок более сложнее.

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

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