1.2, Аноним (-), 23:45, 03/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
>> Скачок в номере версии не только подчёркивает значительность релиза, но и связывается с переходом к новой нумерации выпусков
А как же позорный отказ от полноценной поддержки юникода, обещанный в шестой версии? Так и будут горе пхписты мучиться с mbstring.
| |
|
|
3.4, Аноним (-), 00:08, 04/12/2015 [^] [^^] [^^^] [ответить]
| +11 +/– |
Ну так в этом и суть. Отсутствие юникода это позор, для нового интерпретатора в 2015 году.
| |
|
4.17, angra (ok), 06:27, 04/12/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
Юникод не отсутствует. Отсутствует его прозрачная поддержка для строк. Ну и я не уверен, что хоть один язык может похвастаться _полной_ поддержкой юникода.
| |
|
5.19, Аноним (-), 08:19, 04/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
> ... Ну и я не уверен, что хоть один язык может похвастаться _полной_ поддержкой юникода.
java?
| |
|
|
7.88, Аноним (-), 18:58, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну так выбор-то небольшой — либо геморрой с составными символами, либо дикий оверхед по памяти для 99.999% строк.
| |
|
|
9.150, AlexAT (ok), 09:40, 10/12/2015 [^] [^^] [^^^] [ответить] | +1 +/– | Ты не понял не x2 для worst case, а x4 для всего А иначе - геморрой с составны... текст свёрнут, показать | |
|
|
|
|
|
6.60, й (?), 14:12, 04/12/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
не, она там ужасная и костыльная. (вспоминая свой питоновый скрипт для перекодировки id3-тэгов и то, какие проблемы вылезали при переписывании его под трёшку)
как надо -- см. тот же go.
| |
|
7.77, myhand (ok), 16:19, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> не, она там ужасная и костыльная.
Что конкретно там "ужасного"?
| |
|
|
|
6.61, й (?), 14:14, 04/12/2015 [^] [^^] [^^^] [ответить]
| –3 +/– |
> D
тоже ололо. там внутри-то юникод, а вот при попытке взаимодействовать с консолью (разными локалями и ос) начинается адский ад на пустом месте. а в go почему-то всё просто работает.
| |
|
|
6.112, Andrey (??), 11:26, 05/12/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ruby - единственно правильное решение. Кодировка строки хранится вместе со строкой (условно говоря, как в XML и т.п.). Если нет - то строка это набор байтов. Про Java и С# могут говорить только те, кто не выходил дальше своей скорлупы (или яслей). Питон - это замечательный пример того, как благие желания ведут в ад. Перл (его отцы-основатели) окончательно свихнулся - смотри ответ Тома Кристиансена на stackoverflow - это "сложно, потому невозможно, точнее можно, но только избранным."
| |
|
7.120, angra (ok), 16:36, 05/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Только авторы perl решают сейчас такие проблемы поддержки юникода, о которых остальные еще даже не задумывались.
| |
7.122, Аноним (-), 20:25, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
А вы у нас по моему из mail.ru если я нечего не путаю,это не оскорбление)))
| |
|
|
|
|
3.102, Vitold S (ok), 02:11, 05/12/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
В чем проблема: хотите отличать обычные строки от Unicode, то определите для себя класс Unicode и держите в нем свои методы по обработке строк. Уже который год устраивают истерику над несуществующей проблемой.
Что до модификатора u"Строка в Unicode", то с одной стороны очень удобно, но опять таки зачем помещать данные внутри исходного кода? Храните во внешних ресурсах и читайте каким-нибудь UnicodeReader, который будет медленным в вашем конкретном одном случае, но не будет аффектать все другие.
Я пока вообще не услышал ваших доводов в пользу строк юникод, только ссылку что стыдно там что-то в 2015 году иметь... Если действительно имеете идею интересную и готовую к реализации подавайте документ к рассмотрению и принятию, а не нойте нам...
| |
|
4.107, 10й Брейтовский переулок (?), 07:59, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>>В чем проблема: хотите отличать обычные строки от Unicode, то определите для себя класс Unicode и держите в нем свои методы
Именно так, PHP это один большой костыль состоящий из кучи разношерстных велосипедов...
| |
|
5.125, Vitold S (ok), 23:45, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>>>В чем проблема: хотите отличать обычные строки от Unicode, то определите для себя класс Unicode и держите в нем свои методы
> Именно так, PHP это один большой костыль состоящий из кучи разношерстных велосипедов...
А в чем велосипед? У Вас какие-то особенные требования к обработке цепочек байт. Ну вот и реализуйте его самостоятельно. Для Вас сделали специальные библиотеки вроде mbstring вполне себе адекватное решение.
Вообще не пойму в чем проблема? Расскажите, что конкретно не устраивает и PHP Team может реализовать поставленную задачу...
Другое дело, что вместо реальной обратной связи Вы сидите на далеком форуме от разработчиков и обижаетесь, что Ваше мнение не предугадали в момент дизайна системы.
| |
|
6.130, Мяут (ok), 14:17, 06/12/2015 [^] [^^] [^^^] [ответить] | +/– | Почему эти библиотеки не предоставляют классы типа Unicode из коробки И нет, би... большой текст свёрнут, показать | |
|
7.131, Alex (??), 14:23, 06/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Почему эти библиотеки не предоставляют классы типа Unicode из коробки? И нет,
И да. Потому что скорее всего массово это никому не нужно... Было бы нужно - давно было бы расширение, реализующее эти классы.
> А вот Расмус говорит дальше, что ему strlen нравиться потому-что по-сишному:
>> Plus, if you are a C dev, much like strlen(), these are simply the names you expect, or at least they are instantly recognizable to you
Выменно. C-подобный синтаксис и есть то, что сделало PHP крайне используемым и популярным.
| |
|
|
|
|
|
2.6, Аноним (-), 00:30, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>> Скачок в номере версии не только подчёркивает значительность релиза, но и связывается с переходом к новой нумерации выпусков
> А как же позорный отказ от полноценной поддержки юникода
А как это можно отразить в номере версии?
| |
|
1.5, _KUL (ok), 00:29, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> порцией новых возможностей и наличием изменений, нарушающих совместимость
Сугубо моё мнение, но это самый сильный аспект, который может заставить выбрать другой язык при планировании разработки нового проекта. Как будто язык молодой и в стадии подготовки стандарта и не серьёзные дяди его пилят, а школьники ...
| |
|
|
3.8, Аноним (-), 00:41, 04/12/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
Да ладно вам! Все нормально уже в Python 3. 2 год выпускаем новые проекты только на нем. 90% библиотек уже нормально работают под Python 3
| |
|
4.50, Аноним (-), 13:26, 04/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Да ладно вам! Все нормально уже в Python 3. 2 год выпускаем
> новые проекты только на нем. 90% библиотек уже нормально работают под
> Python 3
Уже лучше чем было, перелазят потихоньку но слабо. Мне куда больше нравиться какую стратегию приняли в Ruby(хотя и не любитель) сначала вылазят варнинги но код работает, а в следующей версии код перестает работать. Просто и лаконично.
| |
|
5.67, Denis (??), 14:40, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
В Python такая же система принята с 2.(черти какой версии). Тоже сперва варнинг, потом постепенный отказ. При переходе на 3 до сих пор поддерживают две ветки. При этом в 3 не только print поменяли и это стоило сделать давно :) Так что все очень лояльно.
| |
|
|
7.98, . (?), 00:38, 05/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну отлично тогда, хотя с переходом на 3к получилось не айс
Чего не айс дубина? Дали людям без гимора перейти, не торопясь.
А теперь внимание - поставь в уютную __любой__ из современных дистров Линукс. Там 100% будет питон. И в 95% по дефолту он будет _третьей_ версии. А в некоторых ... второго уже не будет! Мол надо - сам ставь из реп :)
Из софта который не портанули остался только fabric ... но это скорее хорошо чем плохо! :)
| |
|
8.117, й (?), 16:19, 05/12/2015 [^] [^^] [^^^] [ответить] | –1 +/– | rhel 7 достаточно современный или ubuntu 14 04 в обоих второй по умолчанию ил... текст свёрнут, показать | |
|
|
|
5.81, myhand (ok), 16:46, 04/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Да ладно вам! Все нормально уже в Python 3. 2 год выпускаем
>> новые проекты только на нем. 90% библиотек уже нормально работают под
>> Python 3
> Уже лучше чем было, перелазят потихоньку но слабо.
Да все уже перешли, выйдите из анабиоза.
> Мне куда больше нравиться
> какую стратегию приняли в Ruby(хотя и не любитель)
Угу. Называется эта стратегия - PEP 5.
| |
|
|
3.18, _KUL (ok), 06:56, 04/12/2015 [^] [^^] [^^^] [ответить]
| +6 +/– |
Сказать им, что они молодцы и заботятся о своём продукте, хоть и о параллельном (т.е. не о старом, а именно о параллельном), аж до 2020 года (не факт, что не продлят) https://hg.python.org/peps/rev/76d43e52d978 , в то время как пхп после генерации нового релиза о старом забывают через 2 года, что крайне не дружелюбно для больших и серьёзных проектов http://php.net/supported-versions.php
Проблема PHP - вышли новые штуки, удалены старые, ТЫ ОБЯЗАН слушаться, выполнять! (вспоминаются двухтысячные, переход с 4 на 5 версию, когда куча CMS посыпались по всему bynthytn-миру всего за один день :) ) И в принципе у тебя нет возможности этому противостоять (не обновляясь, ты лишаешься заплаток в безопасности).
| |
|
4.76, n (??), 15:38, 04/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вы либо не знаете предмета, либо нагло врёте. Питонщикам пришлось продлить поддержку второй ветки, они минимум 2 раза пытались её прекратить. Однако, увы, перенести весь код на 3ю версию было адски тяжело и этим не занимались ни ведущие разработчики проектов, ни разработчики библиотек. Как раз именно потому, что совместимость была порушена резко и весьма сильно.
Изменения в PHP от версии к версии чрезвычайно малы и редко необратимы: года 4 выдаются сообщения о том, что некоторая конструкция/функция будет себя вести по-другому. Надо быть достаточно упёртым, чтоб их не заметить.
| |
|
5.80, myhand (ok), 16:35, 04/12/2015 [^] [^^] [^^^] [ответить] | –1 +/– | Причина простая туча пропиетарного говнокода, который никто не хочет портироват... большой текст свёрнут, показать | |
|
6.82, n (??), 16:48, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Актуальные проекты, в том числе открытые, переносили на Python3 более двух лет, у некоторых это заняло больше пяти лет(!).
Некоторые актуальные проекты на PHP уже протестированы на 7й версии, в том числе разработчиками языка.
> 1 (один) раз в истории языка. PHP это чуть не в минорных релизах творит...
это ложь.
| |
|
7.85, myhand (ok), 17:45, 04/12/2015 [^] [^^] [^^^] [ответить] | –2 +/– | Говнокод есть на любом языке Собственно, это единственная причина подобных тру... большой текст свёрнут, показать | |
|
|
|
10.124, Alex (??), 22:29, 05/12/2015 [^] [^^] [^^^] [ответить] | +1 +/– | Нет, малыш, ты просто не в теме У меня приличная часть старого кода переезжала ... текст свёрнут, показать | |
|
11.126, myhand (ok), 04:17, 06/12/2015 [^] [^^] [^^^] [ответить] | +/– | Ключевая фраза у меня А у меня статистика с хостингов, где клиенты воют, когд... большой текст свёрнут, показать | |
|
12.128, Alex (??), 11:55, 06/12/2015 [^] [^^] [^^^] [ответить] | +1 +/– | Именно Потому что статистика с хостингов показывает только общий уровень квал... текст свёрнут, показать | |
|
|
|
|
|
17.141, myhand (ok), 15:10, 08/12/2015 [^] [^^] [^^^] [ответить] | –1 +/– | Ну тож были не хостинги, мало ли что про них каждая собака в рунете слыхала Хо... большой текст свёрнут, показать | |
|
18.142, AlexAT (ok), 20:49, 08/12/2015 [^] [^^] [^^^] [ответить] | +/– | Ни одного клиента, просящего какой-то совсем специфичный экстеншн, в тикетах не ... большой текст свёрнут, показать | |
|
|
20.151, AlexAT (ok), 09:48, 10/12/2015 [^] [^^] [^^^] [ответить] | +/– | Не угадал Компанейский хостинг в принадлежащим компании ДЦ Этим глючным говном... большой текст свёрнут, показать | |
21.153, myhand (ok), 15:17, 10/12/2015 [^] [^^] [^^^] [ответить] | +/– | Тысячи клиентов - маловато при этом раскладе, однако Тут речь о десятках тыс... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.93, й (?), 22:53, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>> Как раз именно потому, что совместимость была порушена резко и весьма сильно.
> 1 (один) раз в истории языка
ой, не помните вы историю изменений между 2.2 и 2.5, например
| |
|
7.100, . (?), 00:41, 05/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> ой, не помните вы историю изменений между 2.2 и 2.5, например
метаклассы. Это пример резко? Смех в детском садике.
| |
|
8.101, й (?), 01:17, 05/12/2015 [^] [^^] [^^^] [ответить] | +/– | вы тоже не помните переход на 2 5 с 2 2-2 3 был мучительным, очень много софта ... текст свёрнут, показать | |
|
|
|
|
|
3.41, Аноним (-), 12:19, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
С учётом того что нарваться на это практически достаточно сложно, вероятность близка к нулю...
| |
|
2.10, IZh. (?), 01:37, 04/12/2015 [^] [^^] [^^^] [ответить]
| +5 +/– |
Тут одно из двух: или поливаем грязью язык за нелогичность или терпим несовместимые изменения при попытке это исправить. Я за улучшения.
И на мой взгляд, изменения не настолько и ужасные, чтобы нельзя было переделать. Язык стал строже и логичнее.
| |
|
3.25, Аноним (-), 09:57, 04/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Язык стал строже и логичнее.
> оценить какой из них больше другого (0 - равны, 1 - левый больше, -1 - правый больше);
В этом весь PHP.
| |
|
|
5.113, Аноним (-), 12:25, 05/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Впервые увидел такую конструкцию?
Нет, в отличие от вас. Нормальные люди возвращают отрицательное значение, когда левый операнд меньше правого, а не наоборот. Это же математика, знак разности, но пэ-хэ-пэшные гуманитарии не могут в математику…
| |
|
6.114, Аноним (-), 12:26, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Нормальные люди возвращают отрицательное значение, когда левый
> операнд меньше правого
Кто-то запутался? man strcmp().
| |
6.115, Alex (??), 12:36, 05/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> но пэ-хэ-пэшные гуманитарии не могут в математику…
Да нет, это не-пэхэпэшный недогуманитарий не вдолбился в написанное. "Левый меньше правого" = "Правый больше левого". Что, собственно, и написано.
| |
6.133, Йода Мастер (?), 14:21, 07/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> -1 - правый больше
> Нормальные люди возвращают отрицательное значение, когда левый операнд меньше правого
Наркоман?
| |
|
|
4.30, EuPhobos (ok), 10:54, 04/12/2015 [^] [^^] [^^^] [ответить]
| +5 +/– |
> Язык стал строже и логичнее.
explode(опция, обрабатываемая строка)
strstr(обрабатываемая строка, опция)
str_replace(поиск, замена, обрабатываемая строка, опции)
Логичность так и прёт из всех щелей, по вызовам встроенных функций..
| |
|
5.42, ky (?), 12:29, 04/12/2015 [^] [^^] [^^^] [ответить]
| –3 +/– |
Вы путаете логику и унификацию.
explode(опция, обрабатываемая строка) - "разделить по подстроке строку" - логично?
strstr(обрабатываемая строка, опция) - "найти подстроку начиная с" - логично?
str_replace(поиск, замена, обрабатываемая строка, опции) - "найти значение, заменить на значение в строке, вывести в переменную" - логично?
| |
|
6.45, Аноним (-), 12:54, 04/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Только для обладающих памятью канарейки. "Лепим костыль, некогда думать!"
| |
|
7.87, Аноним (-), 18:49, 04/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Только для обладающих памятью канарейки. "Лепим костыль, некогда думать!"
Нет, "Лепим костыль, некогда думать!" — то, чем руководствовались авторы языка, когда писали эти функции.
| |
|
|
7.86, Аноним (-), 18:48, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Угу. Вот только синтаксис АТ и Интел — это два разных синтаксиса, и свою внутреннюю логику каждый из них соблюдает, хоть и игнорирует логику другого. Пых же нарушает свою собственную логику на каждом шагу.
| |
|
|
|
|
|
|
|
2.53, Sw00p aka Jerom (?), 13:30, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>> можно указать $_GET['mykey'] ?? "";
> $_GET['mykey'] ?? null;
а смысл какой ? если всё равно обернётся это всё в условие на проверку )))
| |
|
3.73, Ilya Indigo (ok), 15:14, 04/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
В PHP специально ввели отдельный тип данных null для указания пустых строк, что бы вместо них не писали одинарные кавычки, и тем более двойные.
| |
|
4.78, AlexAT (ok), 16:25, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
null не имеет никакого отношения к пустым строкам. Это отдельный тип, указывающий отсутствие любых данных. Который, к тому же, не виден в isset. Если нужна пустая строка - надо писать именно пустую строку.
| |
|
5.89, Ilya Indigo (ok), 19:14, 04/12/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
> null не имеет никакого отношения к пустым строкам. Это отдельный тип, указывающий
> отсутствие любых данных.
Про это я знаю, но для int или float проще указать 0, для bool логичнее false, и только указатель пустой строки '' выглядит не выразительно.
> Который, к тому же, не виден в isset.
Вот это для меня новость. Весьма странное поведение.
> Если нужна пустая строка - надо писать именно пустую строку.
Мне показалось, что в этом примере как раз не сколько нужна именно пустая строка, сколько указание на отсутствие данных, что бы это не вызывало ошибку уровня notice.
А в каких случаях, по вашему, нужно использовать именно null?
| |
|
6.90, Alex (??), 20:17, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> А в каких случаях, по вашему, нужно использовать именно null?
В качестве возвращаемого значения, если данные, допустим, не обнаружены.
| |
|
7.92, Ilya Indigo (ok), 20:23, 04/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> А в каких случаях, по вашему, нужно использовать именно null?
> В качестве возвращаемого значения, если данные, допустим, не обнаружены.
Согласен. Но в данном примере как раз аналогичный случай.
| |
|
6.96, Led (ok), 00:27, 05/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Про это я знаю, но для int или float проще указать 0,
Точно? а +0 или -0 (для float) "логичнее"?
> для bool логичнее false,
Какая-то "логика" у тебя девчячья:)
| |
|
|
|
|
2.54, Sw00p aka Jerom (?), 13:32, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>> можно указать $_GET['mykey'] ?? "";
> $_GET['mykey'] ?? null;
лучше было бы если можно было бы заранее описывать какие мандатори суперглобалы должны уже существовать до выполнения скрипта, иначе отвергать запрос самим пхп.
| |
|
1.11, Аноним (-), 02:35, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +11 +/– |
Продолжают копировать фичи перла 10летней давности. Глядишь лет через пять догадаются разделить массивы и хэши.
| |
|
2.15, angra (ok), 06:11, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну справедливости ради некоторые из этих фич появились в перле меньше, чем десять лет назад, а некоторые отсутствуют в core до сих пор и есть только в виде модулей.
| |
|
|
2.51, Аноним (-), 13:27, 04/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
> А сколько новых дырок пофиксили? Почему ни слова? Не верю, что 0.
Пофиксили 0, зато много добавили.
| |
|
1.14, Аноним (-), 05:51, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я нуб, так что кидайде камнями сильнее
Возможность явного определения скалярных типов int, float, string и bool для аргументов и значений функций (например, "function foo(int $abc): int").
Я правильно понимаю, что используя эти типы, теперь пхп будет меньше жрать памяти, то есть теперь в памяти булево значение будет занимать не 64(32) бита, а 1 бит?
| |
|
2.16, angra (ok), 06:23, 04/12/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
На уровне процессора невозможно адресовать память по битам. То есть для чтения нужного бита надо извлечь из памяти все слово и произвести операцию тестирования бита. Для записи опять таки понадобится модифицировать все слово. А для поиска расположения бита для конкретной переменной придется хранить дополнительную информацию, которая займет столько же места, что и значение переменной без упаковки. Так что упаковывание нескольких булевых значений в одно слово невыгодно в подавляющем большинстве случаев.
| |
|
3.95, Led (ok), 00:14, 05/12/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
> На уровне процессора невозможно адресовать память по битам. То есть для чтения
> нужного бита надо извлечь из памяти все слово и произвести операцию
> тестирования бита.
Когда проходили x86-инструкцию BT - прогулял урок?
| |
|
4.119, angra (ok), 16:32, 05/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Замечательная иллюстрация моего тезиса:"Изучение ассемблера вовсе необязательно для понимания принципов работы железа и наоборот, изучивший ассемблер может так и не понять особенности работы процессора, памяти, шины итд.".
| |
|
|
2.37, Аноним (-), 11:58, 04/12/2015 [^] [^^] [^^^] [ответить]
| –4 +/– |
Вот в этом весь ПХП. Его пользователи (программистами не позволяет назвать их квалификация) абсолютно не понимают, что пишут, и дальше своего локального апачика и ff не видят. А потом sql-injection на каждом шагу, неподдерживаемый код и браузеры жрут по 500 метров на вкладку.
Извини, ты наверняка отличный парень, ничего лично негативного к тебе не имею, добра тебе. Но имею негатив к отрасли так назваемой web-разработки, фундамент которой был сделан из PHP.
| |
|
3.56, Иван Ер0хин (?), 13:55, 04/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
>и браузеры жрут по 500 метров на вкладку
как это относится к похапе?
вывести ерунду можно и средствами швитого питона и руби.
| |
|
|
1.21, iCat (ok), 09:23, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Лично меня, как нифига не кодера, порадовало вот это:
>Существенное увеличение производительности, благодаря применению новых методов организации работы с памятью и переходу на новые структуры хранения данных. В некоторых тестах PHP 7 до двух раз быстрее PHP 5.6; | |
|
2.22, Аноним (-), 09:35, 04/12/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
Самое главное чтобы проект на 5.6 без проблем взлетел, а то толку от этого ускорения, если ничего не работает. С 5.4 на 5.6, к примеру, сломали обратную совместимость. Надеюсь в этот раз такого не повторится.
| |
|
3.23, Georges (ok), 09:47, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
В этот раз придётся тестировать программу заново у переписывать участки с устаревшим кодом.
| |
3.29, Аноним (-), 10:46, 04/12/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Надеюсь в этот раз такого не повторится
Ну-ну.
> Новая ветка отличающейся <...> и наличием изменений нарушающих совместимость. | |
|
2.147, core (ok), 12:31, 09/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Можете не бояться, индусы + студенты все равно запилят таким образом(читай засрут всю память) что даже в супер простом проекте будет создаваться овер 100500 объектов из плагинов которые они наподключали(чтобы не заморачиваться и уменьшить количество кода).
| |
|
1.28, Аноним (-), 10:35, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Когда у языка ломается обратная совместимость - это становится другой язык. Получается php 5.6 и php 7.0 - разные языки. По логике вещей они должны существовать и развиваться параллельно. Но мы то понимаем что так не будет. Поэтому есть повод задуматься, а нафига переписывать всё на php 7.0, если появится еще один новый язык 7.1, потом 7.2 и т.д.. И каждый раз разработчики разработчики будут признаваться в кривости своих рук и убеждать нас что вот в этот раз точно всё сделано правильно! А поддержка прошлых версий будет сворачиваться.
| |
|
2.33, абвгдейка (ok), 11:45, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
есть две модели развития - с параллельной поддержкой и без. Это вторая. И при чем тут кривость разработчиков или кого либо еще? Тем более, что вас лично никто не "убеждает в том, что сделано правильно". Это сделано иначе, чем вы ожидали, и только :)
| |
|
3.48, Аноним (-), 13:22, 04/12/2015 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Тем более, что вас лично никто не "убеждает в том, что сделано правильно".
Дело же не в этом. Дело в том, что то, что сделано, уже сделано, и миллионы разработчиков используют это таким, какое оно есть.
> есть две модели развития - с параллельной поддержкой и без. Это вторая.
Причем здесь модели разработки? если вам пишут что это два отдельных языка. Говорить о них как о чем то общем - неправильно. Поэтому нет никакого морального права называть PHP 7 именно PHP. Cronos же на назвала Vulkan пятым OpenGL'ом. Однако так было сделано, и теперь язык php 5.6 будет подвергаться гонению и искоренению, вместо развития.
| |
|
4.57, абвгдейка (ok), 14:01, 04/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Дело же не в этом. Дело в том, что то, что сделано, уже сделано, и миллионы разработчиков используют это таким, какое оно есть.
не о чем. Вообще, если уж серьезные терки такие, то форкните и пилите свою ветку. Только вот не надо ныть про то, что кто-то кому-то чего обязан. Были дискуссии и все изменения были выбраны на голосовании. Кстати, я догадываюсь, что из тех, кто пилит что-то на жумла/вордпресс-подобных системах. Если бы вы делали что-то свое, вы бы были только рады :)
>Причем здесь модели разработки?
при том. Почему вы вспомнили про OGL, а про DirectX постеснялись упомянуть. Ну или про Python.
| |
|
5.66, Аноним (-), 14:39, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Только вот не надо ныть про то, что кто-то кому-то чего обязан
Богатое у вас воображение
| |
|
4.70, Аноним (-), 14:48, 04/12/2015 [^] [^^] [^^^] [ответить]
| +6 +/– |
да ты упоролся. Сравни например perl5 с perl6 - вот там действительно "поменяли всё". А тут - тянет на обычный минорный релиз.
| |
4.148, core (ok), 12:52, 09/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>> Тем более, что вас лично никто не "убеждает в том, что сделано правильно".
> Дело же не в этом. Дело в том, что то, что сделано,
> уже сделано, и миллионы разработчиков используют это таким, какое оно есть.
>> есть две модели развития - с параллельной поддержкой и без. Это вторая.
> Причем здесь модели разработки? если вам пишут что это два отдельных языка.
> Говорить о них как о чем то общем - неправильно. Поэтому
> нет никакого морального права называть PHP 7 именно PHP. Cronos же
> на назвала Vulkan пятым OpenGL'ом. Однако так было сделано, и теперь
> язык php 5.6 будет подвергаться гонению и искоренению, вместо развития.
Точно так же как в свое время ПХП4 подвергся после появления ПХП 5, тогда тоже кричали что вы сделали с конструкторами? Клонированием? Что за странные private public protected? И это при том что тогда изменений было реально много и фундаментальных. А вот если в пхп 7 кодить в стиле пхп5.2 до сих пор возможно, то вам скорее всего даже ничего не прийдется переписывать, посыпятся депрекейты - отключите, если уж совсем лень.
| |
|
|
2.132, Sumanai (?), 01:53, 07/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
А ты то пробовал? Там этих изменений с гулькин нос. Отвалился только модификатор е в регулярках, который сыпал варнингами начиная с 5.5, да пару извращённых конструкций, которые вообще стыдно показывать другим.
Я, исправив пару строк, запустил такой большой проект, как phpBBex, на 7 версии.
| |
|
3.136, AlexAT (ok), 21:28, 07/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Ну для честности добавим, что между 5.2 или 5.3 или 5.3 или 5.4, не помню, перестал работать принудительный pass by reference, не описанный явно в аргументах, и принудительный return by reference. Тогда говнокода много поотваливалось.
А так - да, исправлять много даже в этом говнокоде обычно не приходилось.
| |
|
|
1.34, вымя (?), 11:47, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
$foo->$bar['baz'] теперь интерпретируется как ($foo->$bar)['baz'], а не $foo->{$bar['baz']} - гореть им в аду за это
| |
|
2.43, Аноним (-), 12:43, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> $foo->$bar['baz'] теперь интерпретируется как ($foo->$bar)['baz'], а не $foo->{$bar['baz']}
> - гореть им в аду за это
Всплывает аналогия с sql и дефолтным приведением типов, может просто в следующий раз скобки сразу ставить?
| |
2.46, Аноним (-), 13:01, 04/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Выдавшему такое - следует отрубать руки по самую задницу вне зависимости от языка. Превентивно и для экономии нервов окружающих.
| |
2.47, тоже Аноним (ok), 13:05, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
В РНР использовать сколько-нибудь нетривиальные конструкции без скобок обычно отучает первый же вложенный тернарный оператор.
| |
|
3.79, AlexAT (ok), 16:30, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> В РНР использовать сколько-нибудь нетривиальные конструкции без скобок обычно отучает
> первый же вложенный тернарный оператор.
В любом языке использовать нетривиальные конструкции без скобок - зло. За исключением случая, когда твой код, кроме тебя, никто читать не будет.
| |
|
|
3.63, PavelR (??), 14:27, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>Новый оператор "??",
Мне вот интересно, почему они его как "||" не сделали?
| |
|
4.71, Аноним (-), 14:50, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Правильный аналог - //, но до него разрабы дорастут только лет через 10.
| |
|
5.74, тоже Аноним (ok), 15:31, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вообще, отсутствие переменной логично было бы доверить разруливать оператору 0_0
| |
|
4.75, Ilya Indigo (ok), 15:35, 04/12/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>Новый оператор "??",
> Мне вот интересно, почему они его как "||" не сделали?
Потому что это оператор выполняет операцию "логическое или".
| |
|
5.105, Аноним (-), 05:56, 05/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Перлу это не мешает, например. || -- "или", // -- "если левый операнд не определён". Операторы похожи, и выполняют примерно ту же функцию. Более того, там есть ещё "and" и "or", которые как раз и юзаются повсеместно в выражениях.
Похапе: || + ??. "И хочется и колется", называется. ?? - воспринимается скорее как некая модификация тернарного оператора.
| |
|
6.110, Alex (??), 11:07, 05/12/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Похапе: || + ??. "И хочется и колется", называется. ?? - воспринимается
> скорее как некая модификация тернарного оператора.
$x ?? $default и есть модификация тернарного оператора: isset($x) ? $x : $default;
| |
|
|
|
|
|
1.55, Аноним (-), 13:50, 04/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
"И ничего нет плохого!
Язык с ограниченными возможностями, бывает.
Не считать же теперь за недочеловеков тех, кто пишет на нём?"
| |
|
2.59, абвгдейка (ok), 14:04, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> "И ничего нет плохого!
> Язык с ограниченными возможностями, бывает.
> Не считать же теперь за недочеловеков тех, кто пишет на нём?"
судить о людях по языкам программирования может только тот, кто завис в развитии на уровне ниже амёб :)
| |
|
3.69, Аноним (-), 14:47, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> судить о людях по языкам программирования может только тот, кто завис в развитии на уровне ниже амёб :)
Это амёбы не могут судить. Уровень вхождения в языки очень варьируется. Не каждому дано освоить тот же с++, а вот на php пишут школьники. Язык с динамической типизацией и завалом говоманов в инете. Не надо знать что и как внутри устроено, уровень абстракции максимален, скопипастил и сиди, радуйся, страничка открывается.
| |
|
4.127, angra (ok), 08:46, 06/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ох уж эти снобы. Когда perl был основным языком в веб на нем писали говнокод все подряд и не имели никаких проблем с "освоением". Точно также до появления жабы и шарпа все подряд строчили говнокод на плюсах или паскале. Так что "освоить" плюсы может столько же народу, сколько "освоить" пых. А знания внутреннего устройства может не быть и у тех, кто уверен в том, что он освоил язык-не-для-всех, выше есть замечательная иллюстрация на примере ассемблера.
Ну и мне приходилось видеть PHP код написанный хорошим плюсовиком - это было ужасно и тормозило дико. Ну не посчитал человек нужным вникать в пых и шпарил как на плюсах.
| |
|
5.145, core (ok), 11:51, 09/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
А знания внутреннего устройства может не быть и у тех, кто уверен в том, что он освоил язык-не-для-всех - как правило так и происходит(усердие поборовшее собственную ограниченность породило еще большую ограниченность, с целью больше так адово не усердствовать - инстинкт самосохранения). Те же сиплюсы по моему во всех вузах преподаются уже лет с десять(имею ввиду на соответствующих факультетах). А высокоуровневые языки на то и высокоуровневые, вот знаю я что в пыхе сессии хранятся на жестком диске а массивы в виде хеш таблиц, и что мне это дает? Аж ничего, нет смысла об этом заморачиваться, гораздо полезней подтянуть ООП синтаксис(благо тут есть что учить до конца дней), ПХП сам разберется какие свойства класса ему дублировать а какие нет. Программер должен заниматься программированием, а не быть разнорабочим, запиливая финты под определенную платформу.
| |
|
|
|
2.72, Аноним (-), 14:55, 04/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Адекватный человек с похапе быстро сбегает на что-то вменяемое. Умный видит это болото с бешеной конкуренцией со стороны студентов и индусов и заказчикам им под стать: "а вот здесь предлагают дешевле на 2 рубля" и вечно полыхающими сроками.
| |
|
3.91, Иван Ер0хин (?), 20:20, 04/12/2015 [^] [^^] [^^^] [ответить]
| –3 +/– |
адекватный посмотрит на количество вакансий у похапе программистов и тип заданий на апворке.
но можно конечно продолжать мечтать.
| |
|
4.106, Аноним (-), 06:05, 05/12/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
...и если чуть-чуть подумает - всё поймёт про уровень местной текучки персонала, взаимозаменяемость пыхокодеров, и их общий уровень, раз такая текучка возможна. И даже если пойдёт на одну из них - ему придётся поддерживать и расширять зоопарк кода, написанный пятью+ разными людьми до него. Оно ему надо?
А ещё он может заметить однотипность заданий типа "прикрутить галерею к 100500му магазину на жумле", стабильно низкий требуемый уровень квалификации, требуемых для их выполнения и засилие "молодых, динамично развивающихся компаний" в заказчиках, которые существуют по полгода и которые могут тупо кинуть с оплатой.
| |
|
3.144, george (??), 11:07, 09/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Уж пятый год ищу куда сбежать, попутно выучил джаву и сиплюсы(благо они мало отличаются от пхп, по сравнению с тем же джаваскриптом, про ерланг вообще молчу), а вакансии все не появляются. Может посоветуете?
| |
|
|
|
2.109, Аноним (-), 10:40, 05/12/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
"Внезапность и безысходность - две основные парадигмы кода на пхп".
| |
|
1.140, george (??), 11:54, 08/12/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Мне лично очень понравился чисто еврейский оператор <=>, буду его теперь везде использовать))) Лулзов ради.
| |
|
2.149, AlexAT (ok), 20:12, 09/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Мне лично очень понравился чисто еврейский оператор <=>, буду его теперь везде
> использовать))) Лулзов ради.
На самом деле офигенный оператор. Превратит множество кастомных sort-функций в однострочники.
| |
|
3.152, core (ok), 11:47, 10/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Пока не актуально, когда будет поддержка сабжа со стороны хостингов тогда - будем посмотреть.
| |
|
4.154, Sumanai (?), 15:28, 10/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Пока не актуально, когда будет поддержка сабжа со стороны хостингов тогда -
> будем посмотреть.
В чём проблема взять тот хостинг, который поддерживает?
| |
|
5.156, core (ok), 00:08, 11/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
>> Пока не актуально, когда будет поддержка сабжа со стороны хостингов тогда -
>> будем посмотреть.
> В чём проблема взять тот хостинг, который поддерживает?
В том что почти все проекты уже запилены, и лежат на каких то хостингах(хотя это даже не проблема это просто факт) на некоторых из них еще и 5.6 нет. Хотя пощупать уже интересно, в домашних условиях обязательно скоро займусь этим сразу же как пхп7 включат в репозиторий Федоры(ну или хотябы в rpmfusion)
| |
|
6.157, Sumanai (?), 01:43, 11/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
> (хотя это даже не проблема это просто факт)
Именно. Есть хостинги с PHP 7.0, ничто, абсолютно ничто не мешает их использовать.
> на некоторых из них ещё и 5.6 нет
На некоторых и 5.5 нет, и 4.4 можно найти, это же не повод на них равняться))
| |
|
7.158, george (??), 10:40, 11/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Понятно что нет смысла равняться, но программированием для себя я не занимаюсь(а если и занимаюсь то только после того как 7ку включат в в мой десктопный дистриб), а те проекты в которых учавствую пока до 7ки не доросли, вот и говорю - прийдет время посмотрим(исключительно субъективное мнение).
| |
7.159, george (??), 14:30, 11/12/2015 [^] [^^] [^^^] [ответить]
| +/– |
Кое что все же мешает, например в том случае если это не платный хостинг а корпоративный и расположен у какого то клиента.
| |
|
|
|
|
|
|
|