
Fike
02.09.2018
00:26:01

Roman
02.09.2018
00:26:03
И объяви строгую типизацию
не поможет, для PHP 7 array это и []int и map[string][]string и []map[string][]string, ему вообще насрать))
даже стороняя библиотека Ds эту проблему не решает.. там где ожидаешь Vector<int> можешь получить Vector<string>

Al
02.09.2018
00:26:07
а пых это пых. удобная была зрень в свое время для сайто строителей

Fike
02.09.2018
00:26:15

Google

Nariman
02.09.2018
00:26:35

Fike
02.09.2018
00:26:48

Roman
02.09.2018
00:26:55

Fike
02.09.2018
00:27:15
Писал на symfony 4?
Писал. Он сложнее многих фреймворков на порядок и евда ли не единственная дисциплинированная поделка на весь язык.

Al
02.09.2018
00:27:24
https://habr.com/post/318916/

Nariman
02.09.2018
00:27:40

Fike
02.09.2018
00:27:49

Roman
02.09.2018
00:28:01

Fike
02.09.2018
00:28:10
Тем что на всю когорту нашлась одна компания, смогшая в дисциплинированный подход?

Roman
02.09.2018
00:28:26
compile time в PHP?
о чём я собственну и говорю, он не компилится поэтому валится в рантайме из-за того что Хаски передал в функцию которая Макаку ожидает

Fike
02.09.2018
00:28:55
ты говоришь про compile-time в интерпретируемом языке

Google

Nariman
02.09.2018
00:29:12
Declare(string_type=1)

Roman
02.09.2018
00:30:09

Nariman
02.09.2018
00:30:44
Не у видел

Roman
02.09.2018
00:30:45
нет у PHP 7 строгой типизации, её просто нет
есть type hinting и то хреновый потому-что не работает на complex типах

Fike
02.09.2018
00:31:14
Он напрочь поехавший. Никакой устойчивой концепции, невероятные решения, ужимки для усиживания на объектном и фукциональном стульях сразу, даже спецификации языка нету, чтобы альтернативные рантаймы могли существовать
Поэтому говорю - проще перечислить достоинства

Nariman
02.09.2018
00:31:37

Roman
02.09.2018
00:31:46

Fike
02.09.2018
00:32:26
Ну и это единственный язык, который работает на вставках. Т.е. тебе еще заголовок <?php нужно вставлять в каждый файл. Само-то по себе несложно, но более дебильного антипаттерна и не придумать, когда на вход интерпретатора подается текст, только внутри которого - код

Nariman
02.09.2018
00:32:35
Когда на php пишите глаза закрываете что-ли?

Roman
02.09.2018
00:32:49

Fike
02.09.2018
00:33:03

Roman
02.09.2018
00:33:10

Nariman
02.09.2018
00:33:25
Перед каждой переменной доллар
А остальное все отлично
На другое не тянет

Google

Al
02.09.2018
00:34:52

Fike
02.09.2018
00:35:02
http://govnokod.xyz/language/php/ вот тут среди забавных макак нет-нет да и пишут о фундаментальных проблемах этого языка

Roman
02.09.2018
00:36:26
Go это лучшая замена PHP если речь идёт о вебе
прост, быстр, компилится, типизация, умеренная динамика для таких вещей как работа с JSON (например попробуй поработать с JSON в C++, это ад), асинхронность (non-blocking), конкурентность, модульность засчёт пакетов, компиляция в бинарь (облегчённый деплой), тестирование, профилирование, покрытие тестами всё из-коробки
идеальный инструмент для написания API

Nariman
02.09.2018
00:36:50
Go не заменит php
Я на rust могу написать сайт

Fike
02.09.2018
00:37:18
Вы маршаллить-анмаршаллить json в го-то пробовали? И видели как это по-человечески делается в жабе?

Nariman
02.09.2018
00:37:29
Смысл только если он не для этого нужен

Fike
02.09.2018
00:37:34
асинхронность на заре 2020, вот это достижение

Al
02.09.2018
00:37:43
Go это лучшая замена PHP если речь идёт о вебе
прост, быстр, компилится, типизация, умеренная динамика для таких вещей как работа с JSON (например попробуй поработать с JSON в C++, это ад), асинхронность (non-blocking), конкурентность, модульность засчёт пакетов, компиляция в бинарь (облегчённый деплой), тестирование, профилирование, покрытие тестами всё из-коробки
идеальный инструмент для написания API
Да го ниразу для веба не сделан
Но можно и в веб

Roman
02.09.2018
00:38:00
Go не заменит php
никакой язык не заменит ни какой другой. Просто некоторые языки постепенно десятилетиями теряют доли рынка и исчезают, когда девелоперы на них стоят как бугатти вейрон

Al
02.09.2018
00:38:00
Веб можно и на асме при желании

Fike
02.09.2018
00:38:27
ПРОФИЛИРОВАНИЕ, ТЕСТИРОВАНИЕ, ПОКРЫТИЕ ТЕСТАМИ
есть ли такие преимущества в других языках? ???

Roman
02.09.2018
00:38:28
а процесс исчезновения может занимать десятки лет

Nariman
02.09.2018
00:38:55

Fike
02.09.2018
00:39:03
То есть по-товему фреймворк для тестирования должен быть внутри языка?
Что сложного подтянуть его через пакетный менеджер? Ну, не считая того, что в го его тупо нет.

Roman
02.09.2018
00:40:38

Fike
02.09.2018
00:40:56
ну то есть все должны пользоваться одной и той же сраниной

Google

Fike
02.09.2018
00:40:57
хорошо

Roman
02.09.2018
00:41:19

Fike
02.09.2018
00:41:29
жаба с ее спецификациями и взаимозаменяемыми инструментами опять купила тунца
ну в жабе тоже можно сказать, что из коробки есть, AssertionE же есть

Roman
02.09.2018
00:44:19
Что сложного подтянуть его через пакетный менеджер? Ну, не считая того, что в го его тупо нет.
а он там и не нужен, зачем тебе пакетный менеджер когда есть github?
это наоборот гораздо удобнее, я могу импортировать код с закрытого приватного gitlab'а в closed source проекте с таким-же workflow как и с open source зависимостью без всяких лишних npm
если ты про версионирование то уже долгое время имеется dep (https://github.com/golang/dep) который был экспериментов
в Go 1.11 появились модули, теперь версионирование встроено в язык

Ketzal
02.09.2018
00:45:30

Roman
02.09.2018
00:45:30
по желанию можно вообще просто сорсы зависимости скопировать в /vendor и в репозитории хранить, тогда build вообще неубиваемый

Fike
02.09.2018
00:45:32
или что ты можешь тянуть уже скомпиленные зависимости?

Admin
ERROR: S client not available

Fike
02.09.2018
00:45:51
уже даже conan.io запилили, чтобы этого не было, но нет, го возвращает всех к примтивным истокам

Roman
02.09.2018
00:46:16

Fike
02.09.2018
00:46:20
битбакет?

Roman
02.09.2018
00:46:41
битбакет?
с любого гита, будь он публичным или твоим собственным

Fike
02.09.2018
00:46:54
в битбакете у меня меркуриал, ох охушки
почему не раздавать скомпиленные бинарные библиотеки, чтобы у тебя билд собирался быстрее?
почему, ну почему великие инжененры гугла до этого не додумались?

Roman
02.09.2018
00:47:57

Fike
02.09.2018
00:48:20
а так ты в вендор пихаешь не чужие зависимости, которые ты к тому же просматривал

Google

Fike
02.09.2018
00:48:31
особенно с гитхаба
ну совсем не npm, что ты
кардинально иное
В npm кстати ХОТЯ БЫ держат пакеты, а не исходники. А ты тащишь с собой все тесты и все ресурсы для них всегда.

Roman
02.09.2018
00:49:41
в битбакете у меня меркуриал, ох охушки
без понятия кому нужен mercurial, мне нет, поэтому не интересовался поддерживается ли он в Go поумолчанию. Знаю только что для таких экстремальных случаев существует glide packge manager, он точно всё умеет

Fike
02.09.2018
00:49:49
мне нет, значит не нужен
хорошо
Mercurial тоже говно в стандартном питонячьем стиле, но в отличие от гита он умеет хранить изменения файлов, а не их конечные версии. Поэтому с большими кодовыми базами с долгой историей все-таки проще с ним.

Roman
02.09.2018
00:50:59

Fike
02.09.2018
00:51:44
Чем лучше хранить зависимости в репе? Ты один пес скачал что-то, что не проверялось никем. А в npm есть package.lock, и удаленную версию емнип ты не можешь заново залить.

Roman
02.09.2018
00:51:44

Fike
02.09.2018
00:52:11

Roman
02.09.2018
00:52:35

Nariman
02.09.2018
00:52:40

Fike
02.09.2018
00:52:46

Roman
02.09.2018
00:53:09
однако в Go 1.11 модулях версионирование встроили в язык и .lock больше не нужен

Fike
02.09.2018
00:53:13
В том, что мне опять засовывают кое-что в рот и принуждают пользоваться конкретным инструментом, потому что Инженеры Гугла Знают Лучше

Roman
02.09.2018
00:53:20

Fike
02.09.2018
00:53:54

Nariman
02.09.2018
00:54:11

Roman
02.09.2018
00:54:41

Fike
02.09.2018
00:54:52
Самый приятный в общении для меня был шарп. Но у него проблемы как с платформой, так и с портируемостью