HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p><strong>В процессе изучения программирование иногда довольно сложно уверенно сказать "Я достаточно разобрался в этом". Ну, а как же все-таки понять, где граница этой достаточности?</strong></p>
1 <p><strong>В процессе изучения программирование иногда довольно сложно уверенно сказать "Я достаточно разобрался в этом". Ну, а как же все-таки понять, где граница этой достаточности?</strong></p>
2 <p>Сразу же возникает вопрос: нужно ли вообще останавливаться в обучении? Конечно же, нет. Я считаю, что нужно постоянно углубляться в целях повышения своей экспертности. Однако темп изучения можно снизить при достижении определенного порога. Например, чтобы переключиться на изучение другой технологии или языка программирования.</p>
2 <p>Сразу же возникает вопрос: нужно ли вообще останавливаться в обучении? Конечно же, нет. Я считаю, что нужно постоянно углубляться в целях повышения своей экспертности. Однако темп изучения можно снизить при достижении определенного порога. Например, чтобы переключиться на изучение другой технологии или языка программирования.</p>
3 <p>Задайте себе вопрос: "Какие недостатки имеет технология X?", - На такой вопрос сможет ответить только человек, который детально разобрался в данном вопросе. Конечно, если он не прочитал где-то об этом. О преимуществах и так можно узнать из официальных сайтов, блогов. А вот о минусах обычно не принято громко говорить. Но они есть в каждом языке программирования.</p>
3 <p>Задайте себе вопрос: "Какие недостатки имеет технология X?", - На такой вопрос сможет ответить только человек, который детально разобрался в данном вопросе. Конечно, если он не прочитал где-то об этом. О преимуществах и так можно узнать из официальных сайтов, блогов. А вот о минусах обычно не принято громко говорить. Но они есть в каждом языке программирования.</p>
4 <blockquote><h3>Также полезно:</h3>
4 <blockquote><h3>Также полезно:</h3>
5 <p><a>Компиляция и интерпретация кода</a>что это такое и в чем разница</p>
5 <p><a>Компиляция и интерпретация кода</a>что это такое и в чем разница</p>
6 </blockquote><p>Для примера возьмем PHP. Привожу некоторые тезисы из статей в интернете на тему "Почему PHP так плох и ужасен".</p>
6 </blockquote><p>Для примера возьмем PHP. Привожу некоторые тезисы из статей в интернете на тему "Почему PHP так плох и ужасен".</p>
7 <ul><li><strong>"Нельзя создать десктопное приложение"</strong>, - PHP не предназначен для этого. Это скриптовый язык для веба.</li>
7 <ul><li><strong>"Нельзя создать десктопное приложение"</strong>, - PHP не предназначен для этого. Это скриптовый язык для веба.</li>
8 <li><strong>"У программ на PHP более низкая защищенность"</strong>, - Спорно. Плохой код можно писать на любом языке.</li>
8 <li><strong>"У программ на PHP более низкая защищенность"</strong>, - Спорно. Плохой код можно писать на любом языке.</li>
9 <li><strong>"Нет статической типизации"</strong>, - Для любителей можно<a>установить declare(strict_types=1)</a>. Также использовать тайп-хинтинг. Я подозреваю? что в PHP намеренно не внедряли типизацию для понижения порога входа.</li>
9 <li><strong>"Нет статической типизации"</strong>, - Для любителей можно<a>установить declare(strict_types=1)</a>. Также использовать тайп-хинтинг. Я подозреваю? что в PHP намеренно не внедряли типизацию для понижения порога входа.</li>
10 <li><strong>"Глобальные переменные в проекте"</strong>, - Просто не пользуйтесь.</li>
10 <li><strong>"Глобальные переменные в проекте"</strong>, - Просто не пользуйтесь.</li>
11 <li><strong>"Требуется apache, nginx, php-fpm"</strong>, - Разве язык программирования должен включать в себя сервер? Например, для запуска Java-приложений требуется JVM, и это нормально.</li>
11 <li><strong>"Требуется apache, nginx, php-fpm"</strong>, - Разве язык программирования должен включать в себя сервер? Например, для запуска Java-приложений требуется JVM, и это нормально.</li>
12 <li><strong>"Нельзя компилировать"</strong>, - В большинстве случаев PHP-программисту не требуется компиляция кода. Для особых случаев есть HHVM.</li>
12 <li><strong>"Нельзя компилировать"</strong>, - В большинстве случаев PHP-программисту не требуется компиляция кода. Для особых случаев есть HHVM.</li>
13 </ul><p>На мой взгляд, авторы этих тезисов не сильно разбираются в PHP. Потому что доводы не состоятельны. А вот теперь держите несколько настоящих недостатков:</p>
13 </ul><p>На мой взгляд, авторы этих тезисов не сильно разбираются в PHP. Потому что доводы не состоятельны. А вот теперь держите несколько настоящих недостатков:</p>
14 <ol><li>В PHP осталось большое наследие в виде неоднозначных имен встроенных функций и порядков аргументов в них. В каких-то названиях есть символы нижнего подчеркивания, в каких-то нет.</li>
14 <ol><li>В PHP осталось большое наследие в виде неоднозначных имен встроенных функций и порядков аргументов в них. В каких-то названиях есть символы нижнего подчеркивания, в каких-то нет.</li>
15 <li>Нет коробочной поддержки юникода. Для работы с юникодом нужно использовать функции с префиксом mb. Не так критично, но сколько новичков наступали на эти грабли?</li>
15 <li>Нет коробочной поддержки юникода. Для работы с юникодом нужно использовать функции с префиксом mb. Не так критично, но сколько новичков наступали на эти грабли?</li>
16 </ol>
16 </ol>