Мы, в яве, это пережили, несколько лет назад. На людей любящих xml, в котором раньше любой чих любили описывать и которого иногда было больше нежели самого кода, теперь смотрят косо.
Вот не прошло и десяти лет, как они это поняли. Слишком медленно до них доходит, что клевые фишки облечающие написание кода надо обязательно тащить из других языков и делать не менее круто.
20 параметров для функции — это слишком много. Что она должна делать то при этом? А так, люди давно эту проблему решили, в корне, например в том же ObjectiveC. В любом языке должна быть такая вещь:
Свойства это дальнейшее развитие __get/__set которым уже много-много лет. А «аннотации» появились недавно — по сути команда доктрины второй их перетащила в язык
То есть, вместо того, что бы написать над классом, что у поля name должна быть минимальная и максимальная длинна, оно не может быть null, лучше создать еще один файл с описанием классов, полей и какие методы валидации использовать.
yaml хорош, но аннотации — это нечто другое. Это мегаудобная метаинформация которую я могу получить в райнайме у объекта без лишних проблем.
Произойти должно не это. Авторы должны посмотреть как используют их язык и сделать все возможное что бы облегчить его использование. А сейчас в тренде у нас, например, аннотации, ради которых приходится парсить комментарии. Но конечно же, зачем думать как сделать нормальным данный механизм, сообщество еще пять лет будет одним глазом в доку смотреть, другим в код — это же так удобно. Они лучше пропуск параметров запилят
Минус SPL в том, что его видимо писали те же люди, что и саму корку PHP, из того, что навсегда запомнил при работе с ним — не доверяй документации, я очень злился когда узнал что RecursiveDirectoryIterator так и не умеет обходить директории рекурсивно.
На данный момент весь почти весь ентерпрайз — ява и веб. Сейчас уже мало кто пишет громозские монолитные приложения, куда ни глянь — несколько вебсервисов свзяанных друг с другом. Глянье хотя бы на Spring и посмотрите чем в будующем станет symfony.
Если первое это что-то очень фееричное, выходящее за рамки чего-либо разумного (как и вся работа с исключениями в этом фреймворке), то во втором случае что поменялось то? В любом нормальном языке такой адаптер будет именоваться — HttpAdapter, а не Http в пакете adapter. Потому что название http навевает тоску. И при этом, святой ты код, этот Http (который видимо нормальными людьмю будет юзатся вместе c use Http as HttpAdapter) имплементит AdapterInterface. Супер система наименования.
PHP сообщество и так много лет топталось на одном месте, извергая отрыжки в виде новых супер-модных фреймворков написаных на коленке, мотивация к появлению которых была одна — «Пфф, бред какой использовать xxx, понаписали непойми чего, монструозного. Я сейчас быстренько сам напишу».
Я просто не понимаю как можно из года в год, изо дня в день, из проекта в проет решать основополагающие проблемы веб приложений: каким роутинг сделать, как хранить сессию и прочие второстепенные вещи которые должны быть решены раз и навсегда. Да даже вторая симфония, от которой все более-мение нормальные разработчики няшечные слюньки пускают является лишь жалкой копией спринга.
Ну не верю я в то, что в 2012-м году работать с формами нужно именно так, как и написано в их мануале ( symfony.com/doc/current/book/forms.html ). А работа с формами это наверное половина из всего того когда что пишут разработчики на PHP.
С кого брать пример? JavaScript. Всего лишь за несколько лет язык вырос из «да что вы бредите в js классов нет, только функции», одним словом — второго языка для веб-разработчика, в мощнейший язык на котором можно без особых усилий, приятно и красиво писать высоконагруженые игровые приложения как на фроненде, так и на бэкенде. А с чего там начиналось все? Ах да:
<a href="javascript:onclick()">кликли меня</a>
Поэтому даже не думайте — пишите. И еще лет через пять, когда все языки уйдут далеко вперед, кто-то из комманды разрабочкиков php в компании zend подумает, что в следующей версии неплохо было бы сделать jit-компилятор и добавить аннотации (а не перепиливать комментарии), в zf откажуются от (уже ставшей, после появления неймспейсов) идиотской системы именования классов, а в симфонии все таки сделают нормальную обработку пользовательских форм.
Ох, думаю не в ближайшее время. Все таки играть в дороге или перед сном немного надоело, поэтому вчера вечером отложил несколько книг как худождественных, так и не совсем для чтения. А сегодня, спонтанно, вместо диаблы (за которой собирался поехать) купил клубную карту одного из ближайших фитнес клубов (у них клевые скидки!).
Все, читаемо, понятно, удобно, быстро, красиво.
Да и если что, Scala есть.
yaml хорош, но аннотации — это нечто другое. Это мегаудобная метаинформация которую я могу получить в райнайме у объекта без лишних проблем.
Так вот — вполне устраивает, даже более чем. Часто даже пододвигаю ноут к себе и отрываю ide в нем в фуллскрине.
То да, стало лучше. Если нет — увы.
И да, DI должен работать так:
И либо зеркальцем, либо через get\set методы запиливать зависимость.
Если первое это что-то очень фееричное, выходящее за рамки чего-либо разумного (как и вся работа с исключениями в этом фреймворке), то во втором случае что поменялось то? В любом нормальном языке такой адаптер будет именоваться — HttpAdapter, а не Http в пакете adapter. Потому что название http навевает тоску. И при этом, святой ты код, этот Http (который видимо нормальными людьмю будет юзатся вместе c use Http as HttpAdapter) имплементит AdapterInterface. Супер система наименования.
PHP сообщество и так много лет топталось на одном месте, извергая отрыжки в виде новых супер-модных фреймворков написаных на коленке, мотивация к появлению которых была одна — «Пфф, бред какой использовать xxx, понаписали непойми чего, монструозного. Я сейчас быстренько сам напишу».
Я просто не понимаю как можно из года в год, изо дня в день, из проекта в проет решать основополагающие проблемы веб приложений: каким роутинг сделать, как хранить сессию и прочие второстепенные вещи которые должны быть решены раз и навсегда. Да даже вторая симфония, от которой все более-мение нормальные разработчики няшечные слюньки пускают является лишь жалкой копией спринга.
Ну не верю я в то, что в 2012-м году работать с формами нужно именно так, как и написано в их мануале ( symfony.com/doc/current/book/forms.html ). А работа с формами это наверное половина из всего того когда что пишут разработчики на PHP.
С кого брать пример? JavaScript. Всего лишь за несколько лет язык вырос из «да что вы бредите в js классов нет, только функции», одним словом — второго языка для веб-разработчика, в мощнейший язык на котором можно без особых усилий, приятно и красиво писать высоконагруженые игровые приложения как на фроненде, так и на бэкенде. А с чего там начиналось все? Ах да:
Поэтому даже не думайте — пишите. И еще лет через пять, когда все языки уйдут далеко вперед, кто-то из комманды разрабочкиков php в компании zend подумает, что в следующей версии неплохо было бы сделать jit-компилятор и добавить аннотации (а не перепиливать комментарии), в zf откажуются от (уже ставшей, после появления неймспейсов) идиотской системы именования классов, а в симфонии все таки сделают нормальную обработку пользовательских форм.