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

Как известно, любую поставленную задачу можно решить несколькими способами. Это только в школе нас заставляют решать задачки только одним способом, чтоб мы его запомнили на всю жизнь, а в реальных условиях работы в большинстве случаев мы вольны выбирать: можем втупую парсить HTML-код, выдаваемый нам на GET-запрос тем же Гуглом, а можем воспользоваться подходящим API и решить ту же зада наиболее просто и получить достаточную функциональность, можем решать диф. уравнение, используя какой-нибудь алгоритм в Delphi, а можем не ломать голову и сделать то же самое максимально быстро в MathCAD’е. И здесь всё зависит от того какова вообще наша свобода действий.

Я, например, в своей работе сталкивался с такими ситуациями, когда люди готовы были платить только за то, чтобы была такая «волшебная» программка с кнопкой «Сделай мне заебись хорошо!»,нажав на которую пользователь получит решение того же диф.уравнения. Причём одного единственного (!). И никакие уговоры и доводы того, что в MathLab’e или MathCAD’e эту же операцию можно «провернуть» намного быстрее и лучше не действовали…Ну Вы, наверное, тоже встречались с такими. И тогда круг наших возможностей резко сужается — уже надо брать что-то, наподобие Delphi и писать что-то с чем-то — лишь бы все были довольны или просто отказываться выполнять работу (что тоже не всегда возможно).

А когда ты сам себе хозяин, то ограничений практически нет — всё зависит только от тебя, твоих рук и твоих знаний, которые, как известно, не купишь, но и не пропьешь. В свое время, перед тем как окончательно остановить свой выбор на Delphi, я перепробовал наверное с десяток языков программирования в поисках того, который:

  • будет достаточно прост
  • имел достаточно возможностей для решения поставленных на тот момент передо мной задач
  • не вызывал отвращения при виде исходного кода.

Как понятно — мой выбор был в пользу Delphi. И, надо сказать, я нисколько не жалею. Да я не профессионал в Delphi и многого до сих пор не знаю или недопонимаю, но те задачи, которые передо мной ставились — решались. Причем, в большинстве случаев, достаточно быстро. Однако, рано или поздно, приходит время, когда только Delphi уже не хватает. Точне даже сказать не «не хватает», а хочется решить поставленную задачу более подходящим и простым способом.  И тут опять же выбор: продолжать использовать Delphi или,засунув лень куда подальше, изучить новый язык программирования, с использованием которого задачка решается проще и быстрее.

Передо мной сейчас стоит задачка связанная с работой в Сети. В кратце суть задачи состоит в накоплении большого массива данных (силами самих пользователей) в БД, и проведение последовательности небольших, но очень нудных расчётов. Ну и, соответственно,  вывод отчётов, статистики и пр.  Можно было бы писать клиент на Delphi, распространять среди пользователей и потом долго и упорно поддерживать проект, заставлять пользователей качать обновления, защищать доступ от незарегистрированных пользователей и т.д. Так как я не ограничен ни по срокам ни по средствам разработки, то я решил немного подождать и воспользоваться в этом случае возможностями Google AppEngine и в качестве языка программирования выбрал Python. Можно было бы использовать Java, но…см. п3. моих критериев выбора языка программирования :).

И, надо сказать, что процесс изучения возможностей Python’а пошел довольно легко. Буквально за несколько часов изучения Python’а состряпал небольшое веб-приложение на базе webapp, которое:

  • Проверяет регистрацию пользователя и, если он не зарегистрирован, предлагает зарегистрироваться после чего возвращает уже зарегистрированного пользователя на исходный URL
  • Принимает данные введенные пользователем в форму, обрабатывает их
  • Если нет ошибок ввода — заносит данные в БД иначе указывает на ошибки пользователя и ждет их исправления
  • Проводит расчёт. Простенький, но, тем не менее, расчёт.

Конечно, несколько часов изучения возможностей языка ещё не значит, что я достиг своей цели и теперь знаю Python. Такое может сказать разве что «видный учёный» лет эдак 14-16 отроду :). Нет. Просто я начал долгий путь изучения ещё одного языка. Знание которого лишними, думаю, не будут.

Пока могу сказать, что после Delphi как-то непривычно вместо операторных скобок использовать отступы — прокололся с отступом — получил шнягу, но быстро привыкаешь к этой особенности, тем более, что IDE самостоятельно расставляет отступы по мере написания кода. В целом, использование Python в инфраструктуре webapp (Google AppEngine) реально может упросить разработку веб-приложений, избавить от лишней писанины типа проверки и организации регистрации, сбор статистики использования сервиса и т.д. и позволяет собрать практически неограниченное по возможностям приложение. Порадовало использование базы данных (хранилища) — опять же после работы с MySQL в Delphi немного непривычно. Определил класс и используешь его для записи данных в БД — никаких лишних запросов, проверок и т.д. все решается буквально одной строкой кода.  Вообще, конечно сравнивать Python с Delphi равносильно сравнению тёплого с мягким, но мне так проще изучать новый язык — проводить, если возможно, аналогии между различными структурами, функциями и т.д. Процесс изучения ускоряется.

Ещё одним стимулом изучения нового языка программирования стало то обстоятельство, что большинство API Google имеют готовые библиотеки для Python, следовательно, в случае необходимости — будет намного проще портировать их под Delphi в рамках проекта, понимая как они работают.

Так что, уважаемые читатели блога, не удивляйтесь, если я вдруг буду рассматривать какой-то момент работы с API Google, используя наряду с Delphi пояснения на Python’e, т.к. блог для меня не только средство общения, но и, в каком-то смысле, записная книжка для того, чтоб не забыть что-либо, например, долгое время собираюсь запостить для себя пост по обзору сайтов с иконками для программ, но, все как-то руки не доходят собрать всё в кучу.

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
7 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
Алексей Сухачёв
Алексей Сухачёв
25/08/2010 21:57

Мне все понравилось, кроме «Сделай мне заебись хорошо!». Ничего особенного регулярно слышу, но в этом блоге как то не по себе.

Seo Ghost
26/08/2010 00:29

Все новое — это отлично! Только зря вы Java так обос… Касательно Google API хотелось бы от вас разбора работы с Google Analytics. Ждем… ждем… ждем…

Seo Ghost
26/08/2010 01:11

Vlad, У вас тут есть посты и компоненты про ТИЦ, парсинг выдачи, определение статистики поисковых систем, возраст домена и тд. Все это прямо или косвенно имеет отношение к SEO, сейчас у вас Google API доминирует в постах. Связываем эти два факта и получаем Google Analytics :).

Seo Ghost
26/08/2010 01:56

Vlad, если честно, то как оптимизатора интересует абсолютно все. После обновления API GA кажется доступно Account data, Profile data, Web property data, Goal data , Advanced segments, лично меня интересовало бы все.
P.S. На офф странице с описанием новых возможностей есть пример на «любимом» вами
Java.