Ну в питоне например есть такое понятие file like object. Это объект, который ведет себя как файл. Он должен отвечать определенному интерфейсу. В частности иметь метод read(). Этот метод читает строку, причем не важно откуда. Объект скрывает сущность открытого ресурса. Это может быть файл на диске, а может и страница полученная по http, а может еще куча всего. В контексте использования этого объекта и его метода read() это совершенно не важно. Вот вам приемущество ООП подхода и пример полиморфизма.
Если они рядом, то вам самому надо о них заботиться. А ООП инкапсулирует реализацию и данные. Он неявно от метода к методу может передовать состояние системы объектов. Вам важен только интерфейс. Наверное нет такого примера, чтобы чтото нельзя было сделать процедурно, но можно лишь с использованием ООП. Но часто с ООП намного проще разработчику использовать написанные алгоритмы.
Мне кажется, что польза от ООП, реальная польза, видна лишь в крупных проектах.
Например стандартные библиотеки php очень неудобно использовать. Не смотря даже на то, что там относительно не много функций. Дело в том, что все находиться в одном измерении. Условно все функции братья и принадлежат какомунить модулю. При этом, что немаловажно этот модуль, лишь условная единица. Он не учавствует в именовании функции.
ООП же дает огромное преимущество. Мы имеем несколько объектов, каждый имеет набор методов применимый только к этому типу объектов. Какойнить метод может вернуть другой тип объекта, который реализует свои методы. При этом мы имеем стройную и понятную систему именований. Легче разбираться в библиотеках, проще запомнить названия методов, меньше надо передавать параметров.
Но свои проекты, особенно если они не очень большие, можно делать и без ООП. ООП зачастую плодит куда более многогословный и искусственно усложненный код. Здесь надо понимать что ты делаешь на этапе проектирования.
Вообще, я думаю что в веб иногда можно обходиться и без ООП, но в "большом" программировании ООП необходим. Почитайте паттерны проектирования. Они дают очень много реальной пользы.
В том то и соль. На самом деле большинство никогда не общается в главном чате или делает это изредка. Комна используется как контакт-лист для личного общения в приватах. Это типа локальной аськи реализованной на базе общего канала в ИРЦ
Уродливо это как-то выглядит. Но пользователь привык...
Надо понимать специфику локальных сетей. У нас все через одно место сделано. И пользователи "не правильно" научены. Поиска сейчас нет, но есть одна комната ИРЦ, в которой всех видно. Пользователи привыкли, им удобно. Я даже пытался сделать веб поиск контактов для своего джабера, но потом забил. Не будут пользоваться все равно.
Мне, как программисту очень нравиться xmpp, его идеалогия. Но для моей задачи он оказался неподходящим решением. Ну, или я плохо искал =)
Хотя я уверен, что при желании по этому протоколу можно сделать все что надо. Только делать, видимо, нужно самому...
Я не претендую на знания в области XMPP. Я просто поделился своими ощущениями. Вы вольны со мной не соглашаться или указать на ошибки. Грубый тон - лиш показатель вашей культуры.
Попытка поставить у нас в сети свой сервер взамен IRC потерпела неудачу. Причем я использовал самые передовые сервера.
Наверное всетаки Джаббер не очень подходит для изолированного локального использования. Для меня было критически важно дать пользователям возможность искать своих соседей в сети через клиент.
А на счет открытости протокола. Я думаю я ошибался. Это конечно благо.
Хорошо описываю симтом. =)
На любую строку запроса он возвращает ровно одного пользователя с этим именем. Если его потом добавить в контакт-лист, то с ним действительно можно будет говорить, а если такого пользователя не существует?
Возможно я накосячил с настройками. Но ведь, я на двух разных серверах пробывал. Буду признателен, если поясните, в чем моя ошибка в таком случае.
Можно небольшой офтопик?
Мой опыт внедрения джабера был неудачным. Именно потому чтопод виндовс нет "нормального" клиента. Всеми любимая миранда не ищет пользователей в джабере (Пробывал опенФаер и енджабред).
Есть пси, но он страшен. Квип инфиум еще не было. Я так и не смог найти такой клиент, на который можно было позвать наших сетян, обычных людей. У нас сейчас действует irc. Понятно, что джабер умет все что ирц, только лучше, и еще много чего умеет. Вот только как этим потенциалом воспользоваться?
Открытость протокола замусоривает протокол
Усложняет создание клиента.
Проприетарный протокол усложняет разработку лишь неофициальных сторонних клиентов. Но на разработки клиента как такого влияет простота и неизменность протокола. То есть проприетарный протокол в этом случае выгоднее.
Не надо из опен соурс делать фетишь. Все хотят использовать хорошие программы. И ВСЕ! Все просто. Опен соурс бывает хорошь, а бывает нет...
Наверное...
HTTP - мертвый протокол. И что? Прекрасно всеми используется. Есть чтото лукавое в "развитии протокола". Протокол, он же по определению является чем-то почти постоянным...
Я уверен что можно придумать "идеальный протокол" для определенной задачи. А развивать надо реализации,а не сам протокол.
Много слов лирики -1
Где нормальный клиент?
Мне глубоко парралелнь что за протокол у ИМ. Дайте удобный инструмент.
Не люблю, когда "сторонники всего открыого" кричат как много у них функций и как красива их идея. Болтуны. Вы сделайте нормальную реализацию! Большая беда опен сорс. Людям становиться не интересно раньше, чем работа будет закончена. Причем самы "неблагодарный" этап - шлифовка, один из самых важных и скучных.
Я уже выше писал что нужно для меня. С радостью пользоволся бы такой "примитивной" сетью. Кто бы выпустил на рынок продукт такой, достаточно качественный при этом. И совершенно не обязательно быть ему открытым. Пусть лучше будет рабочим и стабильным как HTTP1.1 =)
Я бы сказал больше =)
Удобного, красивого, стабильного ИМ клиента вообще не существует.
Удивительно. Простая, казалось бы, программа - мессенджер. До сих пор делаешь выбор в пользу менее убогого из всех.
Пользователя не интересует XMPP там или Оскар, или еще кто. Пользователь смотрит на морду клиента. Вполне можно взять подмножество XMPP самых нужных функций и сделать нормальный клиент.
Только вот, видимо не кому до сих пор.
Гдето года полтора назад разбирался в джабером, ставил у себя в локальной сети.
Вот поэтому адресу (может и не по этому =)) http://www.jabber.org/servers
Была таблица, ы который была колонка поддержка протокола. 100% не было ни у кого. Лучшие в этой категории openFire и Enjabred
Например стандартные библиотеки php очень неудобно использовать. Не смотря даже на то, что там относительно не много функций. Дело в том, что все находиться в одном измерении. Условно все функции братья и принадлежат какомунить модулю. При этом, что немаловажно этот модуль, лишь условная единица. Он не учавствует в именовании функции.
ООП же дает огромное преимущество. Мы имеем несколько объектов, каждый имеет набор методов применимый только к этому типу объектов. Какойнить метод может вернуть другой тип объекта, который реализует свои методы. При этом мы имеем стройную и понятную систему именований. Легче разбираться в библиотеках, проще запомнить названия методов, меньше надо передавать параметров.
Но свои проекты, особенно если они не очень большие, можно делать и без ООП. ООП зачастую плодит куда более многогословный и искусственно усложненный код. Здесь надо понимать что ты делаешь на этапе проектирования.
Вообще, я думаю что в веб иногда можно обходиться и без ООП, но в "большом" программировании ООП необходим. Почитайте паттерны проектирования. Они дают очень много реальной пользы.
Уродливо это как-то выглядит. Но пользователь привык...
Про контакт лист на клиенте это я погорячился =)Не подумал, что у человека может быть несколько клиентов на разных системах (дом/работа\моб телефон)
Я так понимаю, предположительно будет блог о "сером, программировании" устройств?
Мне, как программисту очень нравиться xmpp, его идеалогия. Но для моей задачи он оказался неподходящим решением. Ну, или я плохо искал =)
Хотя я уверен, что при желании по этому протоколу можно сделать все что надо. Только делать, видимо, нужно самому...
Попытка поставить у нас в сети свой сервер взамен IRC потерпела неудачу. Причем я использовал самые передовые сервера.
Наверное всетаки Джаббер не очень подходит для изолированного локального использования. Для меня было критически важно дать пользователям возможность искать своих соседей в сети через клиент.
А на счет открытости протокола. Я думаю я ошибался. Это конечно благо.
Хорошо описываю симтом. =)
На любую строку запроса он возвращает ровно одного пользователя с этим именем. Если его потом добавить в контакт-лист, то с ним действительно можно будет говорить, а если такого пользователя не существует?
Возможно я накосячил с настройками. Но ведь, я на двух разных серверах пробывал. Буду признателен, если поясните, в чем моя ошибка в таком случае.
Мой опыт внедрения джабера был неудачным. Именно потому чтопод виндовс нет "нормального" клиента. Всеми любимая миранда не ищет пользователей в джабере (Пробывал опенФаер и енджабред).
Есть пси, но он страшен. Квип инфиум еще не было. Я так и не смог найти такой клиент, на который можно было позвать наших сетян, обычных людей. У нас сейчас действует irc. Понятно, что джабер умет все что ирц, только лучше, и еще много чего умеет. Вот только как этим потенциалом воспользоваться?
Усложняет создание клиента.
Проприетарный протокол усложняет разработку лишь неофициальных сторонних клиентов. Но на разработки клиента как такого влияет простота и неизменность протокола. То есть проприетарный протокол в этом случае выгоднее.
Не надо из опен соурс делать фетишь. Все хотят использовать хорошие программы. И ВСЕ! Все просто. Опен соурс бывает хорошь, а бывает нет...
HTTP - мертвый протокол. И что? Прекрасно всеми используется. Есть чтото лукавое в "развитии протокола". Протокол, он же по определению является чем-то почти постоянным...
Я уверен что можно придумать "идеальный протокол" для определенной задачи. А развивать надо реализации,а не сам протокол.
Где нормальный клиент?
Мне глубоко парралелнь что за протокол у ИМ. Дайте удобный инструмент.
Не люблю, когда "сторонники всего открыого" кричат как много у них функций и как красива их идея. Болтуны. Вы сделайте нормальную реализацию! Большая беда опен сорс. Людям становиться не интересно раньше, чем работа будет закончена. Причем самы "неблагодарный" этап - шлифовка, один из самых важных и скучных.
Я уже выше писал что нужно для меня. С радостью пользоволся бы такой "примитивной" сетью. Кто бы выпустил на рынок продукт такой, достаточно качественный при этом. И совершенно не обязательно быть ему открытым. Пусть лучше будет рабочим и стабильным как HTTP1.1 =)
Удобного, красивого, стабильного ИМ клиента вообще не существует.
Удивительно. Простая, казалось бы, программа - мессенджер. До сих пор делаешь выбор в пользу менее убогого из всех.
Пользователя не интересует XMPP там или Оскар, или еще кто. Пользователь смотрит на морду клиента. Вполне можно взять подмножество XMPP самых нужных функций и сделать нормальный клиент.
Только вот, видимо не кому до сих пор.
Вот поэтому адресу (может и не по этому =))
http://www.jabber.org/servers
Была таблица, ы который была колонка поддержка протокола. 100% не было ни у кого. Лучшие в этой категории openFire и Enjabred