Найти тему
1244 подписчика

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


Простой пример. Абстрактные классы и методы. Идея заключается в том, что все классы должны наследовать от класса, в котором нет реального кода. Есть только набор методов с определёнными входными параметрами, но в которых нет кода. Это технологическая идея. А вот как она реализована в конкретном языке ― это совсем другая история. А может быть никак реализована. Но если есть объектно-ориентированный подход и наследование, то спокойно можете пользоваться данной технологией, реализуя её так, как было написано выше.

Ещё один пример. Защита свойств и методов. И здесь тоже самое. Не важно как это реализовано в языке. Вы всегда можете сами реализовать подход, например с помощью определённых суффиксов или префиксов в именах. По имени вы всегда можете определить как защищена данная переменная или метод. В Python private члены класса защищены на уровне интерпретатора, а protected-члены всего лишь декларативно. Проблема то ведь не в том, что интерпретатор или компилятор языка осуществляет защиту. Это же всегда можно отменить или обойти, проблема в соблюдении правил.

И в заключении этого поста хочу вычленить главную мысль. Учиться программировать можно на любом языке. Но в конце обучения вы должны отделиться от языка, понять суть программирования. Если это вам удалось, значит обучение состоялось. Потом вы легко сможете перейти на другой язык программирования. Если же вы остаётесь привязаны к конкретному языку программирования, мыслите этим языком, значит, возможно, вы недоучились. И совет один: писать и писать программы и получать от этого удовольствие. "Удовольствие" ― главная философская идея программирования. ;)

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

Подборку хотел начать с других рассуждений, но тут в одном из комментариев написали замечание и я понял, что встречается непонимание того, в чём разница между технологией программирования и тем, как
1 минута
104 читали