Помню там же где "учил" ЯП "лого" встретился с определением, что существуют "формальные исполнители" и "неформальные". Плоттер это формальный исполнитель, а собака - неформальный. Может послушаться, а может и нет. А аналоговый и цифровой - не так отличаются.
Правой кнопкой по переменной или названию класса, "перейти к определению" и все дела. Пхп дает некоторую излишнюю гибкость и наследование старых паттернов. Здесь к примеру явно должно было бы быть что-то вроде \Spl\FixedArray и только так. В языке полно функций с различным форматом написания. Префикс группы функций может быть как впереди так и сзади, неоднородный порядок параметров и все такое. Это несколько напрягает, но с другой стороны это следствие того, что язык втягивал в себя все возможные библиотеки очень быстро. Наращивание функционала ценой единообразия дало ему быстрый рост. В свою очередь этот рост дает ему инфраструктурные преимущества. Да и недостатки тоже)
Атеизм.
Гуглить. Как гуглить библиотеки для решения разных задач. Согласен что неоднородность именования системных функций и классов доставшаяся от детства пхп это недостаток. Но в целом - дело привычки. Я ведь тоже его не помнил, и гуглил.
Пхп в большинстве кейсов вставит ассемблер на раз-два три. Или вы пайтон универсальным обозвали?)))
И я не знаю. И не буду делать. В детстве делал что-то подобное с библиотекой Машкова только на турбо Бейсике. Заняло пару дней. Вернее не так. Первая версия по прикидкам должна была работать около года. Я потратил два дня на переписывание кода, и оно вышло в неделю работы. Код был далек от оптимального, но смысла в оптимизации я не видел. Упиралось всё кстати не в память (которой было всего 32мб) или проц (который был 233 цирикс), а в скорость диска.
Еще раз повторюсь - не хочу участвовать в этом писькомерстве. Даже если без синтетики. Задача "напишите мне сложный код без четкого ТЗ и мы сравним кто быстрее - вы или библиотека которую за меня написали" - это не тест на реальном кейсе.
Равно как и сравнение обработки гигабайтных массивов не есть тестирование производительности. Даже ваш тест без SPL показал, что эффективность пхп примерно на уровне. +- 100% ничего не значат в реальных условиях. Не гоняет никто такие массивы и т.п. Кеширование и прочие подходы приведут к тому что все равно и тот и тот упрутся в скорость базы да кривизну архитектуры.---------- Добавлено 08.10.2016 в 22:16 ----------
Ну вам же сказали - пхп5, что не понятно то?))
Sly32, всё смешалось - люди, кони. Вы смешиваете язык, фреймворк и кривизну рук разработчиков. Я понимаю вас по поводу последнего. Но не сочувствую, у вас хоть вордпресс, а у меня опенКарт). Но не стоит смешивать теплое с мягким. Да, говнокода в пхп больше, но и просто кода в нем больше.
Не то чтобы хочу записаться в ваше писькомерство, но чисто чтобы подчеркнуть синтетичность вашего теста предложу к примеру такой вариант:
<?php
$maxIndex = 50000000;
$a = new SplFixedArray($maxIndex);
for($i=0; $i < $maxIndex; $i++) {
$a[$i] = $i;
}
?>
И да, синтетика такая синтетика. Дайте реальный кейс и мы увидем другие более эффективные схемы. Ну или скорее увидем что писькомерство лишь писькомерство.---------- Добавлено 08.10.2016 в 20:33 ----------
Сравнение вордпресса и джанго в сравнении скорости языков это да, бомба.
При всей глупости данного писькомерства в принципе - слив засчитан.
Битва синтетиков объявляется открытой?
Побежал за попкорном.---------- Добавлено 08.10.2016 в 19:37 ----------danforth, за статейку кстати спасибо. Только начал читать, вроде не совсем то что надо, но хоть ключевых слов наберу нужных). Стоит проблема с верстальщиками - интуитивно я вижу говнокод, но вербально сформулировать требования ЗАРАНЕЕ не могу. Надо как-то формализовать для себя, ибо работа с верстальщиками важная часть разработки.
Уникальному дизайну бутстрап не мешает. Он хорошо подиилтвается через лесс и тп, при этом никто не мешает дополнять своим цсс.
При этом есть куча читов чтобы придать уникальности готовому шаблону - поменять картинки, переставить блоки, бутсвотч.
Уникальность кода верстки это глупость.
Главное в бутстапе это экономия на тестировании. Буквально на паре устройств открыть, или даже в браузере софтовым инструментом адаптивность посмотрел, и уверен что особо ничего не поедет.
Из минусов меня пока только пузомерка гугла по скорости раздражает. Блокирующий ЦСС бутстрапа (а еще хуже бутсвотча), да с cdn - сильно портят показатели. PageSpeed 99 недостижим).
Усложняет. Юзераген должен понимать этот тег, что верно не для всех роботов.
Выплывают ситуации когда от него хочется избавится, или для части страницы использовать другой, а нет, поздно. Он уже объявлен, и второго не будет.
Это могло быть актуально для старого кода, когда страницы были статические или с всякими древними SSI, существовали многоуровневые структуры на фреймах и все такое. Там оно может быть и актуально было. Сейчас это костыль осложняющий жизнь. В узком контексте всё ок, но кто-то другой пришел, и вынужден разбираться с последствиями этого тега...
Вот, самый минимальный кейс из всех возможных)
Лично у меня когда встретился с этим вышло только одно решение - перематывать js. Может еще как можно решить проблему, но я не стал искать варианты. Судя по стековерфлоу без жс всё равно не обойтись.
Всегда есть такие детали которые даже с практикой не выяснить никогда) Только переустановкой головного мозга. Иначе откуда бы брались такие вещи как VQMOD?
И ведь дело то совсем-совсем не в языке... Представляет что они будут творить в других языках?
Ну да ладно, черт с ними с мозгами.
Можно много лет писать на языке, и не знать многих нюансов.
Я на пхп пишу лет 9-10. Всего в программировании 25.
И только в этом году узнал что оказывается в пхп из __toString нельзя бросать исключения.
Мелочь, а поломала мне уже написанную систему работы шаблонов.
И это не так как я лоханулся с скролирующим курсором в PDO, там не совсем понятно но написано что оно не работает в мускуле, и эмуляция тоже не работает. Это вещь которая более-менее на виду, из основных конструкций языка.
Или нет, вот еще проще.
Буквально на этой неделе столкнулся с тегом <base.
Как оказалось большинство моих знакомых так же как и я - читали о нем, и благополучно забывали.
Из пяти человек так никто и не мог сказать почему <a href="#more" ведет не на якорь, а на главную страницу. А уж с хтмл то все работают плотно.
К чему я? К тому что все нюансы знать невозможно в принципе. Но можно дойти до некоторого базового уровня. Например чтобы уверенно править чужой код, или дописывать модули по образу, или там переписать библиотеку с чужого языка на тот который тебе "родной". И на это времени нужно немного. И что более мерзко - многие на этом уровне и застревают, но с каждым днем становятся в собственных глазах всё круче, и потом появляются монстры типа опенкарта...
А вас не смущает что это уже несколько раз обсудили?)
Помимо яндекса существуют и другие поисковики.
Гугл считает не так как яндекс.
Правда у того же гугла есть утверждение:
Так что в теории можно не заморачиваться и делать под яндекс, а гугл потерпит (как в свое время с тегом <noindex>).