LINUX.ORG.RU

За что не любят PHP? Аргументы

 ,


2

3

У многих какие-то детские аргументы: переменные начинаются с $ - это убожество, язык умирает, лучше учи python(django). много говносайтов, низкий порог вхождения

А кто - нибудь может конкретней аргументировать? Также интересно насчет Python, за что его так любят(интересует только сфера веба)? Что можете сказать по поводу: php умирает?


Ответ на: комментарий от buratino

а если нет интерпретатора, если приложение уже скомпилировано :)

CPython является интерпретатором, а прочими реализациями пускай пользуются всякие буратины

даааа? и через какой интерфейс с веб-сервером у тебя всё это великолепие происходит?

джанго у нас такая универсальная, что у меня от выбора прям глаза разбегаются

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

CPython является интерпретатором, а прочими реализациями пускай пользуются всякие буратины

Нет никакой принципиальной разницей, чем оно запускается. Утверждение было, что *висят интерпретаторы*. С таким же успехом можно было сказать, что *висит linux* или *висит электричество*.

От того, что ты запустил несколько экземпляров приложения, не изменилось фактически ничего.

джанго у нас такая универсальная, что у меня от выбора прям глаза разбегаются

причём здесь django? ладно, проехали, не буду тебя мучить вопросами по тому, о чём ты сам узнал только пять минут назад :)

buratino ★★★★★
()
Ответ на: комментарий от buratino

Нет никакой принципиальной разницей, чем оно запускается

маняврирование

о чём ты сам узнал только пять минут назад :)

и фантазии

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

Нет никакой принципиальной разницей, чем оно запускается

маняврирование

ну так расскажи о разнице одного процесса или нескольких воркеров gunicorn, кроме отсутствия глобалов

раз ты её видишь

можно так вообще любое порождение треда объявить *висением нескольких интерпретаторов, которые запускают файлЫ*. ведь понятно, о чём шла речь, и никакие файлы в том смысле, как там было указано, и как сравнивалось с php, они не запускают, модель абсолютно другая.

buratino ★★★★★
()
Ответ на: комментарий от Ford_Focus

и всё что можно сделать на питоне, можно сделать и на go.

На ассемблере тоже можно, я гарантирую это.

peregrine ★★★★★
()
Ответ на: комментарий от Ford_Focus

то что, в php выглядит как f4(f3(f2(f1($a)))), в ruby (а иногда и в python) выглядит как a.f1.f2.f3.f4

Вот только это легко решается, если запилить compose, и получится

compose( [f1, f2, f3, f4], $a )

что гораздо удобнее руби-сахарка.

no-such-file ★★★★★
()
Ответ на: комментарий от devl547

не всего лишь на то что питон подавал заявки на язык математиков

Silerus ★★★★
()

А чё, язык как язык. Конечно, многословен (правда, не настолько, как Паскаль, но Питон - короче), по чувству эстетики бьёт разными схемами именования встроенных функции. А так, хорош. Особенно объектная модель нравится, продуманные тёплые ламповые функции, аккуратные обновления, куча хороших библиотек и расширении на любой слушай, мега крутые хашы/массивы и даже всегда байтовые строки. В общем, мне для работы - самое то, хотя не только на нём программирую.

anonymous
()

PHP - совсем неплохая штука, если речь идёт о его изначальной сфере применения - написать несколько веб-страничек и внутрь ненавязчиво вставить кусочки кода. Изначальная расшифровка - Personal Home Page.

Но про эту расшифровку как-то все забыли, и теперь на нём делают мегафреймворки для мегавеба. А вот для этого уже хотелось бы более надёжные языки. В частности, то, что переменные можно не объявлять и не заботиться о типах, для Personal Home Page было, скорее, достоинством. Для языка, на котором делаются большие проекты - это недостаток. Ибо легко сделать ошибку, которая обнаружится не сразу, и особенно противно, если обнаружится она не у разработчика, а... ну вы поняли.

Да, грамотно организованное тестирование эту проблему в какой-то мере решает, но это уже затыкание дыр.

Так что я думаю, ненавидят не сам язык, а скорее, то, что в отрасли его слишком часто используют не по назначению.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

За что не любят или чем PHP плох? А то это сильно разные вещи...

Suntechnic ★★★★★
()

нет статической типизации

сайты на php требуют файловый режим апачи, как пример недавно стянутый файл с паролями fsf

php - прибит гвоздями к апачи и mod_php

да пишите на php - какие проблемы?

anonymous
()
Ответ на: комментарий от anonymous

За питоном, например, стоит Гвидо

ДА НЕУЖЕЛИ?! Вот это да! Классно же! А кто это такой вообще?

WereFox ★☆
()

Все, кто не любил пхп, уже сторчались по помойкам, как рубисты, или находятся где-то между нодой и дурдомом. А пхп сегодня - это матерый язык, классика вебдева для суровых бородатых пацанов, почти что жаба.

thesis ★★★★★
()
Ответ на: комментарий от WereFox

Это ничего не меняет. Всё равно он должен умирать после запросов.

pawnhearts ★★★★★
()
Ответ на: комментарий от WereFox

Лол. То-то у нас все внутренние проекты на Nginx+PHP-FPM крутятся.

просто люди все еще остались в середине 2000

kiotoze ★★★★
()
Ответ на: комментарий от Ford_Focus

Какой же ты тупой. Но это даже хорошо, отличная иллюстрация того, к чему может привести использование PHP.

RedJohn
()
Ответ на: комментарий от anonymous

нет статической типизации

есть http://php.net/manual/en/functions.arguments.php#functions.arguments.type-dec...
но RFC допилили не полностью https://wiki.php.net/rfc/scalar_type_hints

сайты на php требуют файловый режим апачи, как пример недавно стянутый файл с паролями fsf

апач не нужен, есть другие способы запуска

php - прибит гвоздями к апачи и mod_php

WAT?

да пишите на php - какие проблемы?

и на php тоже пишем, никаких проблем

kiotoze ★★★★
()

php умирает?

А как иначе? Сразу после выполнения. На хабре были отличные статьи, почему php - УГ. Аргументы, с примерами говнокода.

Уже скучно поносить php в 2017 году. Ты опоздал с тредом на несколько лет.

th3m3 ★★★★★
()
Ответ на: комментарий от anonymous

Стати́ческая типиза́ция — приём, широко используемый в языках программирования, при котором переменная, параметр подпрограммы, возвращаемое значение функции связывается с типом в момент объявления и тип не может быть изменён позже (переменная или параметр будут принимать, а функция — возвращать значения только этого типа).

функция приняла int, вернула тоже int
также я указал, что реализовали пока не полностью

укажи пример что именно ты имеешь виду

kiotoze ★★★★
()
Ответ на: комментарий от buratino

ну так расскажи о разнице одного или нескольких

в начальной школе расскажут

я хз каким надо быть неучем, чтобы не понимать зачем предварительно создаётся пул процессов и чем этот пул занимается

Ford_Focus ★★★★★
()
Ответ на: комментарий от kiotoze

Я имею в ввиду что в пыхе есть только type hinting, что не есть статическая типизация.
И мне в пыхе больше бесит не динамическая типизация, а то что она не «строгая».

anonymous
()
Ответ на: комментарий от anonymous

И мне в пыхе больше бесит не динамическая типизация, а то что она не «строгая».

есть такой недостаток

kiotoze ★★★★
()
Ответ на: комментарий от pawnhearts

А указать что в нем должно лежать нельзя?

насколько мне известно нет
https://wiki.php.net/rfc/arrayof
http://grokbase.com/t/php/php-internals/141f1kzdm8/introducing-array-of-rfc
хотя сама задумка была хорошей, а пока приходится через phpdoc указывать что именно приходит, чтобы автодополнение правильно работало

kiotoze ★★★★
()
Последнее исправление: kiotoze (всего исправлений: 1)
Ответ на: комментарий от kiotoze

В питоне можно как-то так делать:

from typing import Dict, Tuple, List

ConnectionOptions = Dict[str, str]
Address = Tuple[str, int]
Server = Tuple[Address, ConnectionOptions]

def broadcast_message(message: str, servers: List[Server]) -> None:
    ...

# The static type checker will treat the previous type signature as
# being exactly equivalent to this one.
def broadcast_message(
        message: str,
        servers: List[Tuple[Tuple[str, int], Dict[str, str]]]) -> None:
    ...

pawnhearts ★★★★★
()
Ответ на: комментарий от pawnhearts

да, но насколько я понял только в 3.5
все равно не прощу им дроп бек компабилити с второй версией

kiotoze ★★★★
()

PHP был недоязыком очень долго. Потом они взяли серьёзный курс на превращение в нормальный язык (выкинули magic_quotes_gpc, добавили анонимные функции и ещё много чего) — может, уже и превратился даже (я, честно говоря, давно не имел с ним дела). Просто коллективное бессознательное, как всегда, запаздывает (когда PHP действительно был недоязыком, отдельные гласы разума, вещающие о том, что такое PHP, никто не слушал — а когда PHP уже практически выкарабкался из этой ямы, то до большинства начало доходить и называть PHP говном стало хайпово).

Из минусов «классического» PHP — массивы. Точнее «массивы» — которые на самом деле и не массивы/списки, и не множества, и не словари, а, вообще, непонятно что. В PHP 7, вроде бы, появились нормальные структуры данных.

sasha1024
()
Последнее исправление: sasha1024 (всего исправлений: 1)
Ответ на: комментарий от thesis

Надеюсь, ты толсто троллишь, иначе твой диагноз плачевен и неизлечим.

anonymous
()
Ответ на: комментарий от Ford_Focus

я хз каким надо быть неучем, чтобы не понимать зачем предварительно создаётся пул процессов и чем этот пул занимается

ну, в отличие от тебя, я пользовался воркерами gunicorn :)

да-да, чувачок, воркеры гуникорн и php-fpm это похожие вещи, go компилировать не надо, а байты перемещаются на розовых единорогах. спи... ты вчера настолько опозорился своими знаниями о python, что уж лучше тебе вообще про эту тему тактично забыть - люди же ржут :)

buratino ★★★★★
()
Ответ на: комментарий от buratino

ну, в отличие от тебя, я пользовался воркерами gunicorn :)

пользовался или нет - доподлинно неизвестно, но ума тебе это точно не добавило

а уж как ты поразил свои знаниями о php...

но еще больше поразил необыкновенным умением шланговать и фантазировать, давно таких персонажей не видел :)

Ford_Focus ★★★★★
()
Ответ на: комментарий от buratino

это не я лоханулся, это до тебя довеяло палённым, и ты решил внезапно (и довольно коряво) сменить тему :) попутно нафатазировав некую «модель php»

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

а уж как ты выглядишь смешно с отрицанием *модели php* (особенно, учитывая то, что никто не говорит, что это плохо, а ты себе вбил в голову, что это плохо, и начал со слюнями и истерикой это отрицать) - это вообще не передать... в твоей реальности не совпадает ВООБЩЕ НИЧЕГО. модели php не существует, демоны в python не перезапускаются, воркеры держат пул интерпретаторов, исполняющих файлЫ... не удивлюсь, если завтра в толксах появится тема о том, что земля треугольная, коею ты опять со слюнями будешь отстаивать :)

buratino ★★★★★
()
Ответ на: комментарий от buratino

тебе уже многократно сказали, что твоя *модель php* - твоя собственная фантазия.

и если тебе от этого действительно смешно, то наверное стоит посетить специализированное учреждение, специализирующееся на психических расстройствах.

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

тебе уже многократно сказали, что твоя *модель php* - твоя собственная фантазия.

есть вещи, которые понимают все, абсолютно все, кроме тебя. потому что твоя тупость безгранична.

но я попробую объяснить для полного идитота, на пальцах, вдруг и в этой тупой башке шевельнётся хоть что-нибудь, похожее на разум.

в php исполняются файлы. ф.а.й.л.ы. хоть в апаче, хоть в php -S, хоть где ещё. пусть хоть php-fpm будет запущен, без разницы, оно всё сидит и ждёт, когда ему на вход подадут php-файлы, которое оно будет читать, а после этого процесс будет умирать. да, существует phpdaemon, но это ни на что не влияет. сервер, будь там хоть тыща регайтов, в любом случае обращается к файлам, которые лежат в конкретной директории. и после исполнения процесс умирает. хоп, и нету его. умер процесс. умер, понимаешь?

это - модель php. и если взять всё php приложения из debian, то они ВСЕ работают так. если одно-два приложения в мире работают через phpdaemon, это не означает, что у php другая модель, ибо все остальные будут писать именно под эту

во всём остальном оно работает совершенно иначе. сервер общается с УЖЕ ЗАПУЩЕННЫМИ ПРОЦЕССАМИ. и если ты запускаешь gunicorn с пятью воркерами, то у тебя запускается пять процессов твоего приложения (частности опустим, всё равно ты ничего не поймёшь). с ПРОЦЕССАМИ. они, будучи запущены, сидят в памяти и не умирают после исполнения. в php у тебя хоть php-fpm, хоть php -S, хоть apache, делают одно и то же - ждут запросов, по этому запросу читают php-файлы и выдают результат. в том же python или go или ruby или чём угодно - приложение запущено, и через специальный интерфейс сервер общается с этим приложением

надеюсь, с 28-го раза хотя бы до самых тупых дойдёт. если и сейчас не дойдёт, если и сейчас будут визги *ну и что, что 99% приложений на php это использует и все разработчики ориентируются на эту модель, но ведь можно же и иначе! ну и что, что так никто не делает, и что в php пишут по модели php! ведь можно! можно! можно!*, то тут уже ничего не поможет

buratino ★★★★★
()
Ответ на: комментарий от buratino

сервер, будь там хоть тыща регайтов, в любом случае обращается к файлам, которые лежат в конкретной директории

ты не буратина, ты деревянный необучаемый шланг

пока

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

сервер, будь там хоть тыща регайтов, в любом случае обращается к файлам, которые лежат в конкретной директории

ты не буратина, ты деревянный необучаемый шланг

да, я вкурсе, что ты не понимаешь, как работает сервер, ты уже 50 раз это доказал только в этой теме. я, кстати, в своё время полностью писал реализацию веб-сервера, с нуля.

собственно, это главный аргумент, за что не любят php - это клинически не способные к обучению некомпетентные дауны, которые ничего не знают, ничего не понимают, но мнение имеют. с такими защитниками php ни один вменяемый человек и близко к нему не подойдёт

и именно это создаёт дурную славу языку - язык намного лучше, чем по нему производят впечатление тупые необучаемые дауны

пока

как говорит молодёжь, *слив засчитан*. полностью, окончательно, по всем фронтам. я даже не знаю, как можно было опозориться сильнее, чем ты в этой теме. даже по самым простым вопросам, который вроде бы должен знать каждый - тотальное незнание. на любой факт - МОМЕНТАЛЬНЫЙ съезд и перекрикивание. просто эталонный образец дауна.

особенно мне понравилась последняя процитированная фраза из треда. это - просто готовый диагноз. ну почему пыхозащитники - НАСТОЛЬКО тупые? почему такому неплохому для своей ниши языку - такое несчастье?

buratino ★★★★★
()
Ответ на: комментарий от Ford_Focus

кстати, вопрос на два балла:

почему рерайты на стороне сервера нужны только для php с его моделью php, а ни для одного другого языка не нужны?

... хотя зачем я задаю вопросы стене

buratino ★★★★★
()
Ответ на: комментарий от pawnhearts

ты действительно хочешь сказать, что если я поправлю контроллер и/или модель, мне придётся перезапускать апач/passenger/gunicorn? ересь же

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

ты действительно хочешь сказать, что если я поправлю контроллер и/или модель, мне придётся перезапускать апач/passenger/gunicorn?

ИЩЩО! ИЩЩО! ЖЖИ ИЩЩО!

мда, давно такого долбодятла к нам на лор не привозили

buratino ★★★★★
()
Ответ на: комментарий от buratino

я еще раз говорю, что ты не знаешь ни php, ни другие языки. я и так потратил на тебя слишком много времени, твои вопросы мне более не интересны.

Ford_Focus ★★★★★
()
Ответ на: комментарий от Ford_Focus

я еще раз говорю, что ты не знаешь ни php, ни другие языки

да, детка, да, не знаю! только пожалуйста, спроси ещё раз что-нибудь типа:

ты действительно хочешь сказать, что если я поправлю контроллер и/или модель, мне придётся перезапускать апач/passenger/gunicorn?

готов даже немного заплатить за вопросы этому кренделю, на который он будет в таком духе отвечать. потом издам книгу лучших цитат, будет бестселлером среди компетентных товарищей

buratino ★★★★★
()
Ответ на: комментарий от Ford_Focus

Ты запустил демон и он обслуживает запросы. В цикле. Висит в памяти. Там может ещё и хранится какое-то состояние, или соединения вебсокетов https://github.com/tornadoweb/tornado/blob/master/demos/websocket/chatdemo.py соединения с бд, mq и т.п. Открытые файлы логов. Если сервер асинхронный, то соединений с клиентами в одном процессе/потоке может быть много.

pawnhearts ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.