0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Такое заявление вас может сильно удивить, но не спешите закрывать вкладку со статьей: это рекомендация от практикующего senior-разработчика PHP.</p>
1
<p>Такое заявление вас может сильно удивить, но не спешите закрывать вкладку со статьей: это рекомендация от практикующего senior-разработчика PHP.</p>
2
<p>Если мы говорим именно об обучении программированию с самых основ, то начинать нужно на Pascal или Delphi.</p>
2
<p>Если мы говорим именно об обучении программированию с самых основ, то начинать нужно на Pascal или Delphi.</p>
3
<p>Дело в том, что Pascal - это очень структурированный и упорядоченный язык. Он учит правильному программированию. В нем есть отдельная секция для описания переменных. В целом синтаксис языка строгий: например, программист не сможет поставить запятую после последнего элемента массива.</p>
3
<p>Дело в том, что Pascal - это очень структурированный и упорядоченный язык. Он учит правильному программированию. В нем есть отдельная секция для описания переменных. В целом синтаксис языка строгий: например, программист не сможет поставить запятую после последнего элемента массива.</p>
4
Пример программы на Pascal. Изображение: Wikimedia Commons <p>Такие языки, как<a>PHP</a>и Node.js, позволяют разработчику очень много вольностей в процессе написания кода. В результате без необходимых знаний о том, как правильно программировать, вы с большой вероятностью получите "грязный" код со множеством ошибок.</p>
4
Пример программы на Pascal. Изображение: Wikimedia Commons <p>Такие языки, как<a>PHP</a>и Node.js, позволяют разработчику очень много вольностей в процессе написания кода. В результате без необходимых знаний о том, как правильно программировать, вы с большой вероятностью получите "грязный" код со множеством ошибок.</p>
5
<p>Пример ужасного PHP-кода при условии, что в свойстве<em>active</em>передаются строки<em>'true'</em>и <em>'false'</em>:</p>
5
<p>Пример ужасного PHP-кода при условии, что в свойстве<em>active</em>передаются строки<em>'true'</em>и <em>'false'</em>:</p>
6
$len = strlen($r->active);if ($len == 4) {$a = true;} else {$a = false;}if ($a){//do something}<p>А так выглядит корректный код:</p>
6
$len = strlen($r->active);if ($len == 4) {$a = true;} else {$a = false;}if ($a){//do something}<p>А так выглядит корректный код:</p>
7
if ($r->active == 'true'){//do something}<p>Другой показательный пример, когда метод класса может принимать в качестве единственного параметра объект, массив, число или строку. Новички делают проверку метода на тип параметра и ошибаются. Для нее нужно использовать либо четыре разных метода, либо четыре класса и применить паттерн Strategy.</p>
7
if ($r->active == 'true'){//do something}<p>Другой показательный пример, когда метод класса может принимать в качестве единственного параметра объект, массив, число или строку. Новички делают проверку метода на тип параметра и ошибаются. Для нее нужно использовать либо четыре разных метода, либо четыре класса и применить паттерн Strategy.</p>
8
<p>Pascal учит хорошему тону в разработке. Например тому, что нужно всегда объявлять переменные и правильно их называть. Многие программисты на том же PHP часто грешат тем, что забывают об этом. В итоге значение переменной не присвоено, и без него она используется во всем скрипте - неудивительно, что программа не работает так, как нужно.</p>
8
<p>Pascal учит хорошему тону в разработке. Например тому, что нужно всегда объявлять переменные и правильно их называть. Многие программисты на том же PHP часто грешат тем, что забывают об этом. В итоге значение переменной не присвоено, и без него она используется во всем скрипте - неудивительно, что программа не работает так, как нужно.</p>
9
<p>Альтернативный вариант строгого учителя программированию - язык Delphi. По эффективности и результату это тот же Pascal, только для ООП: с ним вы поймете SOLID-принципы. Вы не сделаете того, что можете реализовать средствами С или PHP, - но для человека с нулевыми знаниями и отсутствием опыта это преимущество, а не недостаток.</p>
9
<p>Альтернативный вариант строгого учителя программированию - язык Delphi. По эффективности и результату это тот же Pascal, только для ООП: с ним вы поймете SOLID-принципы. Вы не сделаете того, что можете реализовать средствами С или PHP, - но для человека с нулевыми знаниями и отсутствием опыта это преимущество, а не недостаток.</p>
10
<p>Если новичок решает, с какого языка программирования начать, и выбирает PHP и ему подобные, то его код будет очень "грязным", неаккуратным и трудно читаемым - потому что синтаксис позволяет так писать. И здесь ответственность за чистоту кода ложится на плечи самого разработчика. Поэтому мы и советуем начинать с технологий, которые вы назовете "древними", и будете правы.</p>
10
<p>Если новичок решает, с какого языка программирования начать, и выбирает PHP и ему подобные, то его код будет очень "грязным", неаккуратным и трудно читаемым - потому что синтаксис позволяет так писать. И здесь ответственность за чистоту кода ложится на плечи самого разработчика. Поэтому мы и советуем начинать с технологий, которые вы назовете "древними", и будете правы.</p>
11
<p>Учебные лабораторные работы на Pascal и Delphi создают несколько рафинированное представление о коде и программировании - то есть оторванное от реальности. Ведь вы не занимаетесь техническими задачами в настоящем, работающем проекте. Они не дадут системного подхода и полной картины программирования.</p>
11
<p>Учебные лабораторные работы на Pascal и Delphi создают несколько рафинированное представление о коде и программировании - то есть оторванное от реальности. Ведь вы не занимаетесь техническими задачами в настоящем, работающем проекте. Они не дадут системного подхода и полной картины программирования.</p>
12
Пример тренировочных заданий по Delphi. Скриншот: Skillbox Media<p>Вместо решения лабораторных без практического применения попробуйте написать простую программу для работы с клиентами: не сайт, а, например, десктопное приложение для учета. Еще варианты: графический или текстовый редактор, браузер, антивирус или любая программа под свои нужды. Это будет хорошей практикой для новичка, желающего самостоятельно обучиться программированию с нуля.</p>
12
Пример тренировочных заданий по Delphi. Скриншот: Skillbox Media<p>Вместо решения лабораторных без практического применения попробуйте написать простую программу для работы с клиентами: не сайт, а, например, десктопное приложение для учета. Еще варианты: графический или текстовый редактор, браузер, антивирус или любая программа под свои нужды. Это будет хорошей практикой для новичка, желающего самостоятельно обучиться программированию с нуля.</p>
13
<p>Мы предлагаем и другой путь, возможно, более понятный и приемлемый для вас, - обучение Java, C# или C++. Они тоже достаточно строги к новичкам. Это языки со статической типизацией, которые требуют понимания принципов объектно-ориентированного программирования и содержат множество нюансов, связанных с приведением типов.</p>
13
<p>Мы предлагаем и другой путь, возможно, более понятный и приемлемый для вас, - обучение Java, C# или C++. Они тоже достаточно строги к новичкам. Это языки со статической типизацией, которые требуют понимания принципов объектно-ориентированного программирования и содержат множество нюансов, связанных с приведением типов.</p>
14
<p>А если язык понравится в ходе освоения, вы продолжите писать на нем же. Найти работу программиста на Java и C# вполне реально, в отличие от тех же Pascal и Delphi, которые можно рассматривать только в качестве "тренировочного полигона" для начинающих.</p>
14
<p>А если язык понравится в ходе освоения, вы продолжите писать на нем же. Найти работу программиста на Java и C# вполне реально, в отличие от тех же Pascal и Delphi, которые можно рассматривать только в качестве "тренировочного полигона" для начинающих.</p>
15
<p>Разумеется, мы не заставляем вас целый год учить "никому не нужные" Pascal и Delphi: достаточно просто потренироваться в них какое-то время, чтобы усвоить правила хорошего тона. Наша задача - только дать совет, с какого языка лучше начать изучение программирования. С самообразованием будьте аккуратны: можно испортить себя как разработчика, едва начав карьеру.</p>
15
<p>Разумеется, мы не заставляем вас целый год учить "никому не нужные" Pascal и Delphi: достаточно просто потренироваться в них какое-то время, чтобы усвоить правила хорошего тона. Наша задача - только дать совет, с какого языка лучше начать изучение программирования. С самообразованием будьте аккуратны: можно испортить себя как разработчика, едва начав карьеру.</p>
16
<p>Не исключено, что наши рекомендации покажутся вам старомодными, и вы захотите броситься на амбразуры кодинга как можно скорее с динамическими языками современного веба: PHP, Python и другими. Тогда начинайте изучение программирования с поиска ментора и прохождения онлайн-курсов. Здесь вас научат писать код по правилам те, кто уже давно умеет это и прошли боевую школу со многими другими языками и технологиями. Присутствие наставника - это очень важный фактор при изучении программирования на первых порах.</p>
16
<p>Не исключено, что наши рекомендации покажутся вам старомодными, и вы захотите броситься на амбразуры кодинга как можно скорее с динамическими языками современного веба: PHP, Python и другими. Тогда начинайте изучение программирования с поиска ментора и прохождения онлайн-курсов. Здесь вас научат писать код по правилам те, кто уже давно умеет это и прошли боевую школу со многими другими языками и технологиями. Присутствие наставника - это очень важный фактор при изучении программирования на первых порах.</p>