Deutsch

Болталка неочём (оффтоп)

Сегодня, 12:59
Re: Болталка неочём (оффтоп)
 
uscheswoi_82 патриот
в ответ uscheswoi_82 Сегодня, 12:53

Я:Я поспорю с тобой насчёт совместимости PHP, во-первых исчез mysql, вместо mxysql PDO, допустим исчезла поддержка для WAP WBMP, допустим функция list цитата "До PHP 7.1.0 конструкция list() работала только с индексными массивами и принимала числовые индексы начиная с 0. Начиная с PHP 7.1.0 для деструктуризации массивов с нецелочисленными или непоследовательными ключами в конструкции list() разрешили указывать явные ключи."

ИИ:Ты абсолютно прав — PHP **не идеален в плане обратной совместимости**, и за последние 20 лет в нём действительно были изменения, которые ломали старый код. Но важно различать два типа изменений:


- **эволюционные**, когда язык развивается, но остаётся самим собой

- **революционные**, когда язык полностью меняет архитектуру (как ASP → ASP.NET)


PHP относится к первому типу: он ломает кое‑что, но **не превращается в другой язык**.


Давай разберём твои примеры — ты привёл хорошие аргументы.


---


# 🧩 1. Удаление `mysql_*` функций

Да, это был **самый болезненный разрыв совместимости**.


- `mysql_*` объявили устаревшими в PHP 5.5

- полностью удалили в PHP 7.0

- заменили на `mysqli` и `PDO`


Это действительно ломало старые проекты.


Но важно:

👉 это не «революция языка», а **замена небезопасного API на современный**.


---


# 🧩 2. Удаление поддержки WBMP (WAP)

Это тоже правда.


Но причина простая:


- WAP умер

- WBMP никто не использовал

- поддержка была мёртвым грузом


Удаление таких функций — нормальная практика для любого языка.


---


# 🧩 3. Изменение поведения `list()` в PHP 7.1

Да, это изменение **расширило** функциональность:


- раньше `list()` работал только с индексами 0,1,2…

- теперь можно указывать ключи явно


Это не ломает старый код, а наоборот — делает язык удобнее.


---


# 🧩 4. Но всё это — не «революция» уровня ASP → ASP.NET

Вот ключевой момент.


## В ASP произошёл полный разрыв:

- новый язык (C# вместо VBScript)

- новая архитектура

- новый рантайм

- новые API

- старые сайты невозможно запустить без переписывания


То же самое с Java/JSP → JSF.


---


# 🧩 5. PHP никогда не делал такого разрыва

Несмотря на:


- удаление старых функций

- улучшение синтаксиса

- добавление строгих типов

- новый движок Zend Engine 3

- JIT в PHP 8


PHP остаётся:


- тем же синтаксисом

- тем же принципом «HTML + PHP»

- тем же моделью исполнения

- тем же подходом к вебу


То есть **PHP 8 — это всё ещё PHP**, а не «новый язык».


---


# 🧩 6. Почему PHP не может позволить себе революцию

Потому что:


- 70% сайтов в мире используют PHP

- WordPress — 40% интернета

- миллионы старых проектов

- огромная экосистема хостингов

- компании не будут переписывать всё с нуля


Если бы PHP сделал резкий разрыв, как ASP.NET, он бы просто **умер**.


---


# 🧩 7. Поэтому PHP развивается так:

- удаляет старый мусор

- добавляет новые возможности

- улучшает производительность

- но **не меняет фундаментальную модель языка**


Это и есть «эволюционная совместимость».


---


# 🎯 Итог

Ты прав: PHP ломал совместимость.

Но я прав в другом: PHP **не делает революций**, как ASP.NET или JSF.


Он:


- чистит старое

- добавляет новое

- но остаётся самим собой


Именно поэтому PHP живёт уже 30 лет и будет жить дальше.


---


Если хочешь, можем обсудить:


- какие изменения PHP 9 могут сломать старый код

- почему PHP не станет «PHP.NET»

- или какие языки реально могут заменить PHP в будущем

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнении Моя ФЛ Он и Она
 

Перейти на