Namespace separator

Выберите лучший, по вашему мнению, разделитель

  • \

    Голосов: 3 6,0%
  • **

    Голосов: 1 2,0%
  • ^^

    Голосов: 0 0,0%
  • %%

    Голосов: 1 2,0%
  • :>

    Голосов: 5 10,0%
  • :)

    Голосов: 5 10,0%
  • ::

    Голосов: 30 60,0%
  • Укажу в топике

    Голосов: 5 10,0%

  • Всего проголосовало
    50

jonjonson

Охренеть
Представляю, как говнокодеры начнут юзать пространство имён... :)
По мне проще зрительно воспринимается . или /
Но вот тоже с пространством имён php обеднеет идеологически. Реализация ООП в языке была выстрадана годами. Да и до сих пор не совсем востребована (много простых проектов делается и без ООП или с его минимальным использованием).

Луче бы аспектный подход реализовали в минимально понятном и прозрачном виде, чем все эти пространства имён. :)
 

Krishna

Продался Java
Кстати, а кроме тройного ::: есть ведь ещё вариант одинарного A:B:C::$x ?
Или он чем-то тоже занят? Ведь вроде нет.

-~{}~ 27.10.08 16:14:

А, тринарным оператором, блин :)
С другой стороны, если слева от : стоит класс или namespace, то это не может быть тринарным оператором. А если свойство константа, то можно ругаться, что нет соответствующего "?".
А если есть, то можно установить приоритет операторов - : сначала рассматривается как свойство. Хотя, наверное это шило на мыло ))
 

флоппик

promotor fidei
Команда форума
Партнер клуба
да в принципе, пусть слеш. Походу, одинарные кавычки будут рулить. ;)
 

Krishna

Продался Java
флоппик
слеш нечитабелен
зацени сам:

MVl\A\_L\J::$x

я уже предвижу как облегчится чтение говнокода с неймспейсами...

-~{}~ 27.10.08 16:24:

В общем это тот случай, когда гора родила мышь.
 

AmdY

Пью пиво
Команда форума
вариант с сиськами мне понравился, код сразу будет выглядеть повеселее, можно друзьям непрограммерам показывать с гордостью.

пускай выбором занимаются разработчики php, им виднее, а я предпочитаю писать уже на готовом и не париться по поводу синтаксиса и имён функций-классов. буду юзать то, что дадут или вовсе не буду, если не понравится.
 

Krishna

Продался Java
http://bugs.php.net/bug.php?id=46403&thanks=4

я нашкодничал)

-~{}~ 27.10.08 17:42:

Меня вот что убивает - проблемы из-за конфликта неоднозначности :: это только вероятность, во многом высосанная из пальца, а вот нечитаемость \ это суровая данность.
 

phprus

Moderator
Команда форума
Krishna
Меня вот что убивает - проблемы из-за конфликта неоднозначности :: это только вероятность, во многом высосанная из пальца, а вот нечитаемость \ это суровая данность.
Полностью поддерживаю.

AmdY
или вовсе не буду, если не понравится.
Это не выход. Пространства имен было нужной вещью, до тех пор пока удобства возникающие от его использования не свели на нет неудобства написания/чтения кода.
 

Krishna

Продался Java
Может быть отправим в указанную рассылку коллективное письмо?
Господа бывалые опенсорсеры - дайте _реальный_ совет, что может предпринять коммьюнити пхпклуба для изменения ситуации )
 

tony2001

TeaM PHPClub
Предварительно подтвердите и распишитесь, что вы прочли и поняли http://wiki.php.net/rfc/backslashnamespaces
Естественно, нет смысла писать жалобу на деревню дедушке, как это очень "умно" сделал Krishna.
Если вас не устраивает решение X - предложите и подробно обоснуйте своё решение (т.е. создайте свой RFC).
 

Krishna

Продался Java
tony2001
Я вот не понял. Не понял нафига функции в namespaces, особенно, если они усложняют трансляцию кода при человеческом синтаксисе.
Выбирая между "::" для неймспейсов и неймспейсами для функций я выбираю "::".
PHP5 это ООП язык или где?
Ведь в данном случае даже речь о проблеме обратной совместимости не идёт!
Один раз уже облажались с выбором :: для статических вызовов, не думая о будущем введении ns. Теперь облажаются с кривым синтаксисом. В пхп хороший синтаксис и удобочитаемый код. Жаль, что ситуация меняется. Это всё конечно не более чем эмоции и мелочи, но из мелочей тоже складывается общее удовольствие от работы с языком :)
Ладно, пора уже вернуться к той самой работе)
 

tony2001

TeaM PHPClub
>PHP5 это ООП язык или где?

Нет, PHP - это не только ООП язык.

>Один раз уже облажались с выбором :: для статических вызовов, не думая о будущем введении ns.

!?! Какой смайлик надо было сюда всунуть?

>В пхп хороший синтаксис и удобочитаемый код. Жаль, что ситуация меняется.

Я еще раз повторяю: PHP - это открытая разработка, любой может принять участие в обсуждении и решении вопросов, предложить свой вариант, если ему не нравится текущий.
Если вы сами выбрали путь бездействия, то потом нет смысла жаловаться и охать.
 

AmdY

Пью пиво
Команда форума
phprus
это дело привычки. для меня главное что namespace есть, хотя я ими пока не собираюсь пользоваться, но при анализе будущей архитектуры в будущем буду иметь сию фичу ввиду. а какой разделитьль мне не важно.
мне не нарвится двойное двоеточие в связи с новыми фичами в статических методах $a::$b::foo(), но мне это фиолетово, я путаться в _своём_ коде по этому поводу не буду. а чем более заковырестее чужой гавнокод, тем мне выгоднее.
 

phprus

Moderator
Команда форума
tony2001
Если вы сами выбрали путь бездействия, то потом нет смысла жаловаться и охать.
Так а какие действия надо было предпринимать, если существующий раньше синтаксис через :: всем нравился?

Кстати я все-же не вижу проблем с возможными коллизиями из-за полного совпадения имен. Можно просто фатал эррор выкидывать. Мне ситуация полного совпадения имени кажется очень маловероятной.
Или я сильно ошибаюсь? Если да, то приведите пожалуйста реальный пример. Мне просто с таким встречаться еще не приходилось (я имею ввиду в языках которые поддерживают namespace, типа С++).
 

Krishna

Продался Java
Так а какие действия надо было предпринимать, если существующий раньше синтаксис через :: всем нравился?
Кстати, да. Узнаём об этом в последний момент, ведь синтаксис :: был уже в официальной документации! И был не один день. И тут за пару недель до релиза нас радуют таким поворотом дел
Глупо думать, что все пользователи PHP должны отслеживать рабочую переписку разработчиков и RFC. Они читают переписку разработчиков рабочих проектов и собственных опенсорсов) Понятно, конечно, что PHP не последний проект, но свет на нём клином не сошёлся.
Мне, например, ещё приходится как-то отслеживать Доктрину, MySQL, FreeBSD, и прочие мелкие)

Так что поза "а где вы были раньше" не очень правильная :)
 

tony2001

TeaM PHPClub
>Так а какие действия надо было предпринимать, если существующий раньше синтаксис через :: всем нравился?

Предварительно подтвердите и распишитесь, что вы прочли и поняли http://wiki.php.net/rfc/backslashnamespaces
>Кстати я все-же не вижу проблем с возможными коллизиями из-за полного
>совпадения имен. Можно просто фатал эррор выкидывать. Мне ситуация полного
>совпадения имени кажется очень маловероятной.

Я еще раз повторяю: мне лично абсолютно всё равно какой разделитель.
Мне доказывать ничего не надо, со мной спорить не надо - это бесполезно, т.к. мне всё равно.
Если вам что-то не нравится и вы думаете, что вы за 5 минут придумали что-то лучшее, чем 50 человек за 5 лет - подпишитесь на лист и выскажите свои идеи в человекопонятном виде.
Только прочтите предыдущие дискуссии и RFC, я могу дать 99.999% гарантию, что всё это уже было до вас.

Пока всё, что я вижу, сводится к "не, а чё не так с ::, я не понял?".
То же самое я могу сказать и про "\".



>И тут за пару недель до релиза нас радуют таким поворотом дел

Давайте, додумайте что-то более пугающее, чего уж останавливаться.
За несколько секунд! наносекунд! до релиза.
Откровенно врать только не надо, никто не планировал релиз через две недели после alpha2.

>Глупо думать, что все пользователи PHP должны отслеживать рабочую переписку разработчиков и RFC.

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

Krishna

Продался Java
Откровенно врать только не надо, никто не планировал релиз через две недели после alpha2.
"Откровенно врать" - если что, на главной до сих пор написано, что релиз ожидается в октябре.
Ну да, релиз план теперь поправили. А в прошлый раз я кажется и там прочитал то же самое.

-~{}~ 28.10.08 12:21:

Кстати, есть преимущества у реализации неймспейсов для функций перед использованием вместо функций с неймспейсами статических методов "псевдо" - классов?

-~{}~ 28.10.08 12:35:

Ага, нашёл объяснение)
Сдаётся, на первое место разработчиками ставится простота реализации, а не юзабилити)
 

phprus

Moderator
Команда форума
tony2001
Если вам что-то не нравится и вы думаете, что вы за 5 минут придумали что-то лучшее, чем 50 человек за 5 лет - подпишитесь на лист и выскажите свои идеи в человекопонятном виде.
Вот только не надо тут опускать умственные способности всех кроме разработчиков PHP. Старый синтаксис устраивал многих, но разработчики почему-то решили что он им не подходит и надо сделать все не как лучше, а как всегда.

Пока всё, что я вижу, сводится к "не, а чё не так с ::, я не понял?".
То же самое я могу сказать и про "\".
Эргономика и Юзабилити знакомые понятия? Они и отвечают на вопрос что не так. Сливается символ "\" с остальным кодом и кроме того такой синтаксис фактически уникальный. Я не могу вспомнить С-подобных языков с пространствами имен, в которых разделителем пространств имен был бы символ "\". А создание новых обозначений вместо существующих общепринятых - это явно ориентация не на конечных пользователей продукта(те не на программистов).

Только прочтите предыдущие дискуссии и RFC, я могу дать 99.999% гарантию, что всё это уже было до вас.
Я в этих RFC так и не нашел внятных объяснений почему не подходит ::. Объяснения про возможные неоднозначности - бред, о тому что достаточно выбрать какое либо поведение и задокументировать его (даже если это будет неопределенное поведение). Аргумент про то, что не надо нажимать shift - вообще ни в какие ворота не лезет. У нас что программисты однорукие и только с одним пальцем на той руке?

Krishna
Кстати, есть преимущества у реализации неймспейсов для функций перед использованием вместо функций с неймспейсами статических методов "псевдо" - классов?
Я вижу только уменьшение времени, которое может потребоваться для заворачивания старого кода в пространства имен.
 
Сверху