Но вот даже в вашем простейшем примере во всю красу предстает один из самых ужасных недостатков ПХП, который меня коробит больше всего, а именно: имя класса SplFixedArray. Если смотреть на код, то сразу возникает вопрос: откуда он взялся, где его искать, что это такое, где и в каком месте искать его определение? А ответ простой - хз. В противоположность пхп, в питоне всегда прямо в файле исходника четко видно что и откуда импортировано.
mendel: Дайте реальный кейс и мы увидем другие более эффективные схемы.
Вы думаете у пхп есть какие то шансы против универсального языка? Ну, давайте сравним скорость обработки дампа википедии алгоритмом LDA (алгоритм тематической классификации) или LHS и сравним скорость. На питоне это будет десяток строк кода (с использованием соответствующего пакета) и несколько часов времени на обработку. На пхп как это реализовать и сколько там всё будет обрабатываться, я не знаю.
Интересно, редирект с урла без хвостового слэша на тот же урл с хвостовым слэшем окажет негативное влияние на поисковики??? А то разные цмс по разному конечный слэш обрабатывают и автоматом перенаправляют, если конечный слэш урла не соответсвует их логике.
Сишные в основном. Питон с Си легко интегрируется. Но часто эти алгоритмы основываются на математической библиотеке numpy, которая конечно хорошо оптимизирована.
mendel: Я начинал с СМ1800, но это было в 9 лет, на бейсике и баловство.
Я начинал с программируемого советского калькулятора, потом перешел на программирование в машинном коде на какой-то советской эвм, а далее да: микроша, БК, синклер самодельный, i286-386, бейсик и т.д.
mendel: Главное при переходе между языками выдерживать перерыв минут 15.
Ну, вы же сами прекрасно понимаете, что изучение нового языка - это вопрос нескольких дней, если имеются базовые знания. И выбор того или иного языка - вопрос задачи и личных предпочтений. Я например, если соседу делаю сайтик, то конечно на каком нибудь известном движке на пхп, где большинство вещей работает из коробки и нет проблем с копеечным хостингом. А для своих проектов использую в основном питон как универсальный язык, чтобы реализовать что-нибудь интересное и не ограничивать себя в будущем.
dma84: С большими массивами на PHP никто не работает, как минимум ограничивают выборку. Всё таки разные назначения у языков, а универсальность - не главное.
Для питона например есть библиотеки, позволяющие в три строчки кода создать самообучающуюся нейронную сеть или реализовать алгоритм кластеризации. Вы представляете, сколько интересных вещей можно реализовать? Данных вокруг нас - куча, надо уметь их обрабатывать, структуировать. И поэтому для меня универсальность - огромное конкурентное преимущество.
---------- Добавлено 06.10.2016 в 14:13 ----------
borisd: Да только фигня всё это.
Я для меня не фигня. Даже чисто психологически. Как вижу код на пхп, так сразу глаза в раскорячку делаются. Почти также как от взгляда на плиточный интерфейс в винде - смотрю на эти пестрые квадраты и ничего не могу разобрать абсолютно, прямо до рвотного рефлекса.
Также если в питоне всё четко разложено по пакетам и модулям и в каждом файле четко видно, откуда та и или иная функция, класс или переменная импортированы, то глядя в пхп-шный файл часто не понятно, где эта функция или переменная определена, откуда взялась. Да, во многом эта неразбериха из-за кривизны рук, но дело в том, что питон просто не даст так сделать.
PG7, Не ломайте себе психику с пхп. С него нельзя начинать ни в коем случае - испортите себе мозг :).
Мой совет: python-django-wagtail. А дальше можете и за пхп взяться, но смысла уже не будет.
---------- Добавлено 06.10.2016 в 12:42 ----------
dma84: Феерично!...
А вы зря так... :) Если например в серьезном проекте придется работать с большими массивами данных, то что будете с пхп делать? Питон в отличие от пхп универсальный язык, там можно например подключить пакет numpy и создавать компактные массивы именно под те данные, которые используются, например если для каждого элемента достаточно одного байта, то именно соответствующий тип данных и можно задействать, а не выделять по 100-200 байтов для хранения каждого однобайтного элемента массива.
Но больше всего в пхп мне не нравятся символы $$$ перед каждой переменной, эти значки сильно раздражают. Разве эти значки могут кому то нравиться???
Andy HaRd, Скажу кратко: всё бесполезно, гугл видит всё - и ссылки сгенеренные джаваскриптом, и перенаправления, и целевые страницы перенаправления. Более того, он в выдаче по странице с ?go=... закеширует целевую страницу целевого сайта.
Вы можете вынести джава-скрипт генерации ссылки в отдельный js-файл и запретить его к индексации, тогда гугл не будет видеть сгенерированные им ссылки (вернее, будет делать вид, что не видит), но в вебмастере начнет сильно ругаться на этот запрещенный к индексации скрипт и предупреждать о возможном понижении позиций из-за этого.
<?php
$maxIndex = 50000000;
$a = new SplFixedArray($maxIndex);
for($i=0; $i < $maxIndex; $i++) {
$a[$i] = $i;
}
?>
Результат этого примера: 2,674g
Но вот даже в вашем простейшем примере во всю красу предстает один из самых ужасных недостатков ПХП, который меня коробит больше всего, а именно: имя класса SplFixedArray. Если смотреть на код, то сразу возникает вопрос: откуда он взялся, где его искать, что это такое, где и в каком месте искать его определение? А ответ простой - хз. В противоположность пхп, в питоне всегда прямо в файле исходника четко видно что и откуда импортировано.
Дайте реальный кейс и мы увидем другие более эффективные схемы.
Вы думаете у пхп есть какие то шансы против универсального языка? Ну, давайте сравним скорость обработки дампа википедии алгоритмом LDA (алгоритм тематической классификации) или LHS и сравним скорость. На питоне это будет десяток строк кода (с использованием соответствующего пакета) и несколько часов времени на обработку. На пхп как это реализовать и сколько там всё будет обрабатываться, я не знаю.
Короче, ради интереса провел простейший тест с массивом:
ПХП5:
Питон 2.7 (Вариант 1. Храним элементы как список):
Питон 2.7 (Вариант 2. Храним элементы как словарь, т.е. ассоциативный массив):
------------------------------
Смотрю расход памяти процесса командой top (у меня дебиан стоит) в столбце RES. Для этого бесконечный цикл в конце включил.
Итого:
ПХП: 6,964g
Питон (храним в списке): 1,524g
Питон (храним в словаре): 4,151g
Проведем тест? Как минимум потребление памяти сможем потестить
Валяйте, давайте с массивами что-нибудь замутим. Предлагайте тест.
Интересно, редирект с урла без хвостового слэша на тот же урл с хвостовым слэшем окажет негативное влияние на поисковики??? А то разные цмс по разному конечный слэш обрабатывают и автоматом перенаправляют, если конечный слэш урла не соответсвует их логике.
Но вообще-то и роботс может не помочь
Ага, он вроде сам указывал, что запрета в роботсе не достаточно, надо еще в метатегах запрет ставить.
Когда запускали доменную зону РФ, то организаторы составляли список запрещенных для регистрации слов. Помню, он гулял по интернету.
Приличная НС на нативном пайтоне?
Сишные в основном. Питон с Си легко интегрируется. Но часто эти алгоритмы основываются на математической библиотеке numpy, которая конечно хорошо оптимизирована.
Я начинал с СМ1800, но это было в 9 лет, на бейсике и баловство.
Я начинал с программируемого советского калькулятора, потом перешел на программирование в машинном коде на какой-то советской эвм, а далее да: микроша, БК, синклер самодельный, i286-386, бейсик и т.д.
Главное при переходе между языками выдерживать перерыв минут 15.
Ну, вы же сами прекрасно понимаете, что изучение нового языка - это вопрос нескольких дней, если имеются базовые знания. И выбор того или иного языка - вопрос задачи и личных предпочтений. Я например, если соседу делаю сайтик, то конечно на каком нибудь известном движке на пхп, где большинство вещей работает из коробки и нет проблем с копеечным хостингом. А для своих проектов использую в основном питон как универсальный язык, чтобы реализовать что-нибудь интересное и не ограничивать себя в будущем.
С большими массивами на PHP никто не работает, как минимум ограничивают выборку. Всё таки разные назначения у языков, а универсальность - не главное.
Для питона например есть библиотеки, позволяющие в три строчки кода создать самообучающуюся нейронную сеть или реализовать алгоритм кластеризации. Вы представляете, сколько интересных вещей можно реализовать? Данных вокруг нас - куча, надо уметь их обрабатывать, структуировать. И поэтому для меня универсальность - огромное конкурентное преимущество.
---------- Добавлено 06.10.2016 в 14:13 ----------
Да только фигня всё это.
Я для меня не фигня. Даже чисто психологически. Как вижу код на пхп, так сразу глаза в раскорячку делаются. Почти также как от взгляда на плиточный интерфейс в винде - смотрю на эти пестрые квадраты и ничего не могу разобрать абсолютно, прямо до рвотного рефлекса.
Также если в питоне всё четко разложено по пакетам и модулям и в каждом файле четко видно, откуда та и или иная функция, класс или переменная импортированы, то глядя в пхп-шный файл часто не понятно, где эта функция или переменная определена, откуда взялась. Да, во многом эта неразбериха из-за кривизны рук, но дело в том, что питон просто не даст так сделать.
PG7, Не ломайте себе психику с пхп. С него нельзя начинать ни в коем случае - испортите себе мозг :).
Мой совет: python-django-wagtail. А дальше можете и за пхп взяться, но смысла уже не будет.
---------- Добавлено 06.10.2016 в 12:42 ----------
Феерично!...
А вы зря так... :) Если например в серьезном проекте придется работать с большими массивами данных, то что будете с пхп делать? Питон в отличие от пхп универсальный язык, там можно например подключить пакет numpy и создавать компактные массивы именно под те данные, которые используются, например если для каждого элемента достаточно одного байта, то именно соответствующий тип данных и можно задействать, а не выделять по 100-200 байтов для хранения каждого однобайтного элемента массива.
Но больше всего в пхп мне не нравятся символы $$$ перед каждой переменной, эти значки сильно раздражают. Разве эти значки могут кому то нравиться???
Andy HaRd, Скажу кратко: всё бесполезно, гугл видит всё - и ссылки сгенеренные джаваскриптом, и перенаправления, и целевые страницы перенаправления. Более того, он в выдаче по странице с ?go=... закеширует целевую страницу целевого сайта.
Вы можете вынести джава-скрипт генерации ссылки в отдельный js-файл и запретить его к индексации, тогда гугл не будет видеть сгенерированные им ссылки (вернее, будет делать вид, что не видит), но в вебмастере начнет сильно ругаться на этот запрещенный к индексации скрипт и предупреждать о возможном понижении позиций из-за этого.