Mar 18

Собственно, побывал я на первой своей конференции, впечатления остались, в целом, положительные, но обо всём попорядку…
Continue reading »

written by fxposter \\ tags: ,

Dec 18

Как-то даже странно говорить такие слова о книге, но тем не менее так и есть. Книгу читать отсюда, а если есть желание потратить немного денег - можно и на Amazon купить. :)

Эх… А я, видимо, до конца семестра почитать ничего нормально не смогу. :(

written by fxposter \\ tags: ,

Oct 26

Вот сайтик - смотрим, выбираем, думаем.

Особенно хочется отметить эти графики: Python vs PHP, Python Psyco vs PHP. Замечу, что Psyco - это не какая-то особая реализация питона, а просто питоновский модуль (обычный набор py-файлов). Подробнее читать здесь. К слову - на PHP такой “внутренний оптимизатор” сделать просто невозможно, из-за ограничений самого PHP.

written by fxposter \\ tags: , ,

Sep 01

Не спится. Сижу пишу scaffolding для Zend Framework. Возникла проблема - для того, чтобы реализовать полноценное редактирование/удаление записей в таблице нужно добавить к стандартному классу Zend_Db_Table_Row одну public-функцию. Вот теперь сижу и думаю - насколько “правильно” будет просто открыть файл с этим классом и дописать функцию по сравнению с порождением подклассов.

С точки зрения проектировщика - этого делать не стоит. лучше породить подкласс. Но в данном случае прийдется порождать подкласс не только от Zend_Db_Table_Row, но и от Zend_Db_Table, а может и еще чего-то. Чего делать ну вообще не хочется - там кода писать абсолютно тупого - ну просто дофига (возможно я преувеличиваю немного, но все же…).

Чтобы вы делали в моем случае?

Да… Все больше и больше понимаю “недоразвитость” PHP. Если уж делать язык динамически типизированным и объектно-ориентированным - почему нельзя было сделать это нормально? Примеры “нормальных” языков в этом плане привести несложно - Python, Ruby, JavaScript.

В питоне такое “добавление” метода к классу решалось бы так:

def some_name(self):
    ...
Class.new_func = some_name

В JavaScript и того легче:

Class.new_func = function() {...}

А в PHP… Эх…

written by fxposter \\ tags: , , ,

Aug 28

Какие языки сейчас используются в веб-программировании? Навскидку я могу составить такой список: C#, Java EE, Python, Ruby, PHP, Perl. JavaScript брать в расчет не буду - сейчас я хочу поговорить именно о server-side языках.

C# - первая версия этого языка появилась в 2000 году, для веба стал использоваться с приходом ASP.NET, который вышел в 2002м году.

Java EE -  первая версия, которая называлась J2EE и имела версию 1.2, вышла в далеком1991м году. Следующая версия 1.3 была выпущена аж через 11 лет. Сейчас новые версии выпускаются гораздо чаще. Используется в основном для разработки веб-сервисов. По крайней мере я не встречал мелкие или небольшие компании, которые писали бы “просто сайты” на Java EE.

Python - на самом деле достаточно древний язык. Первая версия языка была выпущена в 1990м году. Когда его начали достаточно сильно использовать в веб-приложениях сказать трудно. Можно считать, что в интернет он вошел с появлением таких легких и быстрых фреймворков, как Django/Turbogears и т.д. В таком случае получается что в инете он с 2004-2005-го года. На самом деле все было несколько раньше, но приход в интернет в то время был не совсем очевиден. Фреймворк Zope, который был изначально нацелен на интернет, был выпущен в 1995-1997 годах. Точнее на данный момент сказать не могу. Но еще раз повторюсь - это не было массовым явлением.

Ruby - разработан в 1995м году. В интернете стал использоваться с появлением, ясное дело, Ruby On Rails, который вышел в 2004-м году.

PHP - эдакий старичок программирования сайтов. Первая версия, которая называлась PHP/FI вышла в 1994м. А тот PHP, который мы знаем появился в 1997м году с выходом PHP3 и именно с этого момента он начал набирать популярность как язык для веб-разработки.

Perl - вышел в 1987м году, а вот когда появился в вебе - для меня остается тайной. Я этот язык особо никогда не любил и уж тем более никогда не использовал. Пользуются ли им еще в вебе - пользуются, но, как мне кажется, популярность этого языка неуклонно падает.

Теперь, собственно, к чему я вел это все. Выводы по Perl’у я делать не могу, а вот по всем остальным языкам получается интересная картина. C#/Python/Ruby - заявили массово о себе совсем недавно, причем их массовое распространение связанно с написанными для них фреймворками (ASP.NET/Django и компания/ROR). Java - в вебе используется только Java EE, и, хоть и появилась она давно, сейчас явно не собирается скидывать обороты. PHP - язычок, который пришел в веб сам, для которого до недавнего времени и фреймворков то не было, а те что были - их не использовали.

Я веду к тому, что все современные языки в вебе используют фреймворки, причем используют чуть ли не в обязательном порядке (да, вы можете на руби писать веб приложение, не используя рельсы, но никто этого при здравом уме делать не будет). А вот писать приложение на PHP не используя никаких уже созданных компонент - вполне обычное дело. И народ наоборот не хочет использовать фреймворки аргументируя это тем, что они “слишком сложные”, “тормозные” и т.д.  И очень большая часть сайтов делается потом непонятно как… посмотришь код - убиться хочется.  такое впечатление, что фраза “PHP портит нормальных программистов” - это не бред, а самая настоящая реальность.

В итоге (все ИМХО):

  1. смысла использовать PHP, если есть возможность использовать что-то более современное, - НЕТ
  2. если уж использовать PHP, то с умом - не писать все сначала, а выбрать удобные компоненты для разработки нужного вам веб приложения

Из PHP Framework’ов я бы посоветовал выбрать Zend Framework, как наиболее конфигурируемый и обьектно-ориентированный. Для себя я выбрал именно его. Но в нем есть одно “но” - если вы в качестве wrapper’а для DB собираетесь использовать зендовские классы - вам возможно прийдется сменить хостера, так как нужна будет поддержка PDO/PDO_MySQL/PDO_PgSQL, которая, как мне кажется, не у всех хостеров есть.
PS. Лично мне сейчас нравится:

  • для веб-разработки для себя - Python, для заказов - PHP + Zend_Framework
  • для desktop-gui-приложений - C#
  • для консольных - C++

PPS. Пару часов назад гуглил украинских хостеров. Завтра буду узнавать - есть ли у них поддержка PHP >= 5.1.3 и PDO_MySQL (требования к Zend Framework’у). Посмотрим, какие результаты это даст. Кто знает хороших укр. хостеров - отписывайтесь, составлю табличку - кто и что поддерживает.

written by fxposter \\ tags: , , , , , , , , , , ,

Jun 20

Смотрим видео (36 минут)

PS. xen, за линк огромное спасибо! 

written by fxposter \\ tags: , , , , , , ,

Jun 16

Никто не сталкивался со статьями по сравнению этих двух языков (типа C# vs Java)?

Как по мне - чуть ли не близнецы-братья. Но все-таки хочется почитать что-нибудь посвященное сопоставлению этих языков.

written by fxposter \\ tags: ,

Jun 16

Начну с того, что я уже почти неделю не появлялся дома - у меня там ремонт и делать там сейчас абсолютно нечего. В связи с этим поставил линукс на другой комп и столкнулся с проблемой - я не знаю, как на нем поднять PPPoE. Дома у меня PPPoE настроен на модеме и таких проблем не возникало. А тут… Никто ничем помочь не может?

PS. Линукс - Ubuntu 7.04.

PPS. Прочитал книгу по питону - теперь к пхп отношение еще хуже стало. :)

PPPS. Начал учить Zope3… Пока нифига не понятно. :)

written by fxposter \\ tags: , , , ,