All streams
Search
Write a publication
Pull to refresh
35
0

User

Send message
Мы, в яве, это пережили, несколько лет назад. На людей любящих xml, в котором раньше любой чих любили описывать и которого иногда было больше нежели самого кода, теперь смотрят косо.
Вот не прошло и десяти лет, как они это поняли. Слишком медленно до них доходит, что клевые фишки облечающие написание кода надо обязательно тащить из других языков и делать не менее круто.
что бы в место него писать возвращаемый тип, или ничего, как в любом нормальном языке. Смешно в 2012-м году такие вещи в коментариях писать
20 параметров для функции — это слишком много. Что она должна делать то при этом? А так, люди давно эту проблему решили, в корне, например в том же ObjectiveC. В любом языке должна быть такая вещь:
foo.do(bar: "this is the bar", really: true);

Все, читаемо, понятно, удобно, быстро, красиво.
А когда эти свойства разнесены по нескольким разным файлам у вас дискомфорта видимо нет?
Я думаю за меня уже все решили: openjdk.java.net/projects/lambda/ ;)

Да и если что, Scala есть.
Приведите пример мешающих читать код аннотаций.
Свойства это дальнейшее развитие __get/__set которым уже много-много лет. А «аннотации» появились недавно — по сути команда доктрины второй их перетащила в язык
То есть, вместо того, что бы написать над классом, что у поля name должна быть минимальная и максимальная длинна, оно не может быть null, лучше создать еще один файл с описанием классов, полей и какие методы валидации использовать.

yaml хорош, но аннотации — это нечто другое. Это мегаудобная метаинформация которую я могу получить в райнайме у объекта без лишних проблем.
Произойти должно не это. Авторы должны посмотреть как используют их язык и сделать все возможное что бы облегчить его использование. А сейчас в тренде у нас, например, аннотации, ради которых приходится парсить комментарии. Но конечно же, зачем думать как сделать нормальным данный механизм, сообщество еще пять лет будет одним глазом в доку смотреть, другим в код — это же так удобно. Они лучше пропуск параметров запилят
Просто очень разговнокодить, достаточно сделать из вызова одного метода некий билдер.
Thumbnail.from(source)
.crop(100, 100) 
.quality(3)
.forceRegenerate(true)
.blabla(somearg)
.create(destination);


MBP 15" Hi-res и рядом ACD 27". Открыты часто одновременно и Idea / Xсode.

Так вот — вполне устраивает, даже более чем. Часто даже пододвигаю ноут к себе и отрываю ide в нем в фуллскрине.
Минус SPL в том, что его видимо писали те же люди, что и саму корку PHP, из того, что навсегда запомнил при работе с ним — не доверяй документации, я очень злился когда узнал что RecursiveDirectoryIterator так и не умеет обходить директории рекурсивно.
На данный момент весь почти весь ентерпрайз — ява и веб. Сейчас уже мало кто пишет громозские монолитные приложения, куда ни глянь — несколько вебсервисов свзяанных друг с другом. Глянье хотя бы на Spring и посмотрите чем в будующем станет symfony.
Если я могу написать что-то вроде:
/**
 * @FomValdatorAnnotation(valid=true)
 */
publuc function onSumbitForm(MyForm $form) {
    return "ololo, this is valid form";
}

/**
 * @FomValdatorAnnotation(valid=false)
 */
publuc function onSumbitInvalidForm(MyForm $form) {
    return "ololo, this is shit form";
}


То да, стало лучше. Если нет — увы.

И да, DI должен работать так:
SomeController extends Controller {
    
    /**
     * @Autowired(SomeService)
     * @var SomeService 
     */
    private $someService;

    public function doSomeShitWithSomeService()
    {
        $someService->doSomeShit();
    }
}


И либо зеркальцем, либо через get\set методы запиливать зависимость.
Вот сейчас на гитхабе зашел в первый попавшийся модуль, и увидел это: github.com/zendframework/zf2/blob/master/library/Zend/Authentication/Adapter/Exception/ExceptionInterface.php и это github.com/zendframework/zf2/blob/master/library/Zend/Authentication/Adapter/Http.php

Если первое это что-то очень фееричное, выходящее за рамки чего-либо разумного (как и вся работа с исключениями в этом фреймворке), то во втором случае что поменялось то? В любом нормальном языке такой адаптер будет именоваться — HttpAdapter, а не Http в пакете adapter. Потому что название http навевает тоску. И при этом, святой ты код, этот Http (который видимо нормальными людьмю будет юзатся вместе c use Http as HttpAdapter) имплементит AdapterInterface. Супер система наименования.
Я думаю, что если бы вы, даже раньше чем 2 года назад выбрали любой другой мейнстрим язык… то были бы еще сильнее как специалист.

Пишите, что уж там, хуже не будет.

PHP сообщество и так много лет топталось на одном месте, извергая отрыжки в виде новых супер-модных фреймворков написаных на коленке, мотивация к появлению которых была одна — «Пфф, бред какой использовать xxx, понаписали непойми чего, монструозного. Я сейчас быстренько сам напишу».

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

Ну не верю я в то, что в 2012-м году работать с формами нужно именно так, как и написано в их мануале ( symfony.com/doc/current/book/forms.html ). А работа с формами это наверное половина из всего того когда что пишут разработчики на PHP.

С кого брать пример? JavaScript. Всего лишь за несколько лет язык вырос из «да что вы бредите в js классов нет, только функции», одним словом — второго языка для веб-разработчика, в мощнейший язык на котором можно без особых усилий, приятно и красиво писать высоконагруженые игровые приложения как на фроненде, так и на бэкенде. А с чего там начиналось все? Ах да:
<a href="javascript:onclick()">кликли меня</a>


Поэтому даже не думайте — пишите. И еще лет через пять, когда все языки уйдут далеко вперед, кто-то из комманды разрабочкиков php в компании zend подумает, что в следующей версии неплохо было бы сделать jit-компилятор и добавить аннотации (а не перепиливать комментарии), в zf откажуются от (уже ставшей, после появления неймспейсов) идиотской системы именования классов, а в симфонии все таки сделают нормальную обработку пользовательских форм.
Ох, думаю не в ближайшее время. Все таки играть в дороге или перед сном немного надоело, поэтому вчера вечером отложил несколько книг как худождественных, так и не совсем для чтения. А сегодня, спонтанно, вместо диаблы (за которой собирался поехать) купил клубную карту одного из ближайших фитнес клубов (у них клевые скидки!).

В конце прошлой неделе, наконец-то запилил космонавта и больше не притрагиваюсь. Жена говорит, что лучше бы в диаблу третью так играл.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity