
Evgeniy
13.06.2017
11:10:46
я говорю о времмена второго спринга

Sergey
13.06.2017
11:10:54
ну ты вспомнил
уже вот 5й спринг выйдет летом

Evgeniy
13.06.2017
11:11:03

Google

Mykola
13.06.2017
11:11:04

Evgeniy
13.06.2017
11:11:11
тот же doctrine -> hibernate
symfony попытка сделать ынтерпрайз на пыхе в стиле spring

Mykola
13.06.2017
11:11:43
симфони с жава-бинов)

Evgeniy
13.06.2017
11:11:54
?

Mykola
13.06.2017
11:12:03
сдирали бы со спринга - было бы красивее

Evgeniy
13.06.2017
11:12:12
так пхп же
phpunit это junit :D

Кирилл
13.06.2017
11:12:45
По мне ды симфони и драли со спринга. Просто в пыхе нет нативных аннотаций

Mykola
13.06.2017
11:12:52
зато первый симфони с рельсов сдирали, в свое время был хороший фреймворк, потом испортился)
да была где-то даже статья, что симфони с жавабинов сдирали
а не со спринга, как многим бы хотелось)

Evgeniy
13.06.2017
11:13:54
не знаю с чего драли

Google

Evgeniy
13.06.2017
11:13:57
охотно поверю)
надо спрашивать у авторов откуда они копипастили)

Sergey
13.06.2017
11:16:47

Evgeniy
13.06.2017
11:17:30
секьюрити это да)

Sergey
13.06.2017
11:17:46
валидация еще

Кирилл
13.06.2017
11:20:23
А так допилят PhpVM, аннотации и проект по созданию динамически типизированной скриптовой джавы можно считать завершенным.

Sergey
13.06.2017
11:22:33
че за phpvm?

Кирилл
13.06.2017
11:23:26
Ну типа виртуальная машина у пыха будет
А там байткод
Все дела.

Евгений
13.06.2017
11:23:31

Sergey
13.06.2017
11:28:45
zend engine это и есть виртуальная машина
пхп собирается в опкоды для нее
опкоды кеширует opcache, что делает пхп почти компилируемым
и сейчас ведутся работы над JIT, чтобы vm была более умной
https://www.slideshare.net/nikita_ppv/static-optimization-of-php-bytecode-phpsc-2017 вот можно посмотреть слайдики о оптимизациях

Roman ?
13.06.2017
11:33:28
на примере hhvm - от jit и проблем не мало
возможно, конечно, они там по какому то другому пути пойдут

Sergey
13.06.2017
11:34:09
проблемы будут не наши, а разрабов платформы

Google

Roman ?
13.06.2017
11:34:27
у badoo есть на хабре заметка, как переходили на php7 и почему не стали переходить раньше на hhvm

Sergey
13.06.2017
11:34:48
ну и JIT там не будет уровня как в браузере например, первое время по крайней мере

Pavel
13.06.2017
11:35:55
https://externals.io/thread/620#email-13709
Видно вот один из шагов на пути к jit. По идее у нас после этого могут появится и typed property, callable prototypes и генерики

Sergey
13.06.2017
11:37:29
все может быть

Sergey
13.06.2017
11:50:25
идея в том что они хотят из опкодов генерить машинный код
в рантайме
это типа и есть JIT. Сейчас машинный код получается при компиляции этого самого zend engine и просто нужные куски выбираются по опкодам
это налагает ограничение о том что эти куски машинного кода должны быть универсальными и хэндлить все. Что не очень выгоно. Они вроде как в 7.2 хотели сделать так что бы была возможность более специализированные куски подсовывать

Кирилл
13.06.2017
11:53:39
Убедили, значит я jit подразумевал, просто статью про 7 php на хабре читал

Oleg
13.06.2017
14:48:39
Парни привет есть 100 условий шагов которые должны проверяться и выполняться по порядку каким паттерном такое проверять
Т.е. выполнил 9й шаг но хотя бы один из 8 предыдущих не выполнил 9 не щасчитывается а засчитывается последний выполненый попорядку

F01134H
13.06.2017
14:53:19
эээ

da horsie
13.06.2017
14:54:45
Какое это имеет отношение к ооп?

Mykola
13.06.2017
15:01:32
можно в монаду завернуть)

Oleg
13.06.2017
15:52:15

Mykola
13.06.2017
15:55:48
эм... ну идея как у монады Try, только классы могут быть названы DoNext и DropNext
ну и flatMap чтоб результат последнего запоминал, если он нужен
но лучше просто цыклом зафигачить)

Евгений
13.06.2017
15:59:43

Google

Mykola
13.06.2017
16:02:50
ну там же надо обрубить остальные
не совсем ясна задача
может и ифом)

Евгений
13.06.2017
16:04:01
if( isFirst() && isSecond() && ... && is100th() )
- как-то так )

Admin
ERROR: S client not available

Евгений
13.06.2017
16:04:30
потом на govnocode.ru отправить )

Sergey
13.06.2017
19:32:02

Sergei
13.06.2017
19:37:37

Сергей
14.06.2017
07:36:40
всем снова привет)

Евгений
14.06.2017
07:40:16
чот наплыв )

Сергей
14.06.2017
07:40:35
ссылка в чате @react_js проскользнула

Котяй Негодяй
14.06.2017
07:40:36
Хабраэффект.

Aleh
14.06.2017
08:17:24

Сергей
14.06.2017
08:18:57
был)))

Aleh
14.06.2017
08:19:16
О.о

F01134H
14.06.2017
08:21:30
magic


Aleh
14.06.2017
08:54:22
Если бы я делал язык программирования с нуля, каким бы он был? Пофантазирую вслух.
1. Его компилятор (транслятор/интерпретатор) был бы очень рано забутстраплен с его же стандартной библиотеки. Пользу eating your own dog's food невозможно переоценить.
2. Я бы исключил из него математику (всю). Даже a = a+1 нельзя было бы написать. Вообще её наличие в языке уходит корнями в Fortran и другие мастодонты, а у нас немного другие нужды. Есть итераторы, есть ranges, хотите математики - велкам в библиотеки, не устраивайте мне тут mathcad. Заодно и массивы выкинул бы.
3. Уровни доступа переоценены. Достаточно было бы всего 2 -- public и package-protected (доступен только в этом пакете). Сделать public поля нельзя.
4. Пакеты. Само собой. Вложенные пакеты запретить. Вложенные классы - в пакет, в класс, в метод - разрешить.
5. Сделать метод или класс закрытым от наследования нельзя
6. Никаких setter-ов и getter-ов - только функции/методы. Ссылки на объекты и другие сущности должны быть first-class citizens, а не стыдливо вести себя как бесплотные указатели, унаследованые из си.
7. Модули - как класс, но существует в едином экземпляре, как пакет.
8. Типобезопасные макросы в языке иметь хорошо и правильно, но не на уровне syntax tree, а выше. Хотя можно не прятать это в компилятор, а выпустить macros sdk
9. JIT и эффективный GC переоценнены, а вот repl и хороший анализ ошибок - их, наоборот, не хватает
10. Все доступные инструменты сборки чудовищно гибкие. Модель требует переосмысления, и начинать его надо со сбора требований, при этом важно избежать ловушки, когда нам кажется, что требования и так выявлены (что там непонятного, это же очевидный сборщик).
Мне кажется, уже на этом можно не одну голову сломать, но труд этот будет вознагражден.
Это получилась бы better java?


Евгений
14.06.2017
08:58:56
2. а как в библиотеке тогда реализовать эту математику?

Roman ?
14.06.2017
08:59:26
внешний модуль на чем то другом

Google

Roman ?
14.06.2017
08:59:29
вероятно

Aleh
14.06.2017
09:00:03
Ну да, сишка там, как например библиотеки для работы с большими числами

Andrey
14.06.2017
09:00:07
Списки?
То, что не нужны private методы тоже не понятно.

Aleh
14.06.2017
09:00:51
Наследование хочет оставить, еретик!

Andrey
14.06.2017
09:01:19
И самое главное. Как он считать количество элементов в своём "массиве" будет без математики?

Aleh
14.06.2017
09:01:48
Нет массивов - нет проблем

Roman ?
14.06.2017
09:02:11
ЯП без математики - зачем?

Aleh
14.06.2017
09:02:28
А зачем вам математика в очередном вротпрессе?

Andrey
14.06.2017
09:02:38

Aleh
14.06.2017
09:02:55

f4rt~
14.06.2017
09:03:39

Roman ?
14.06.2017
09:03:54

f4rt~
14.06.2017
09:04:01
Там много иронии но суть почти та же что и выше