Здравствуйте!
Вчера у нас была рубрика "Полезная ссылка", уже целый 5-й выпуск =), в ней я давал ссылку на ресурс с крутыми учебниками по программированию, а сегодня мы поговорим с вами об основах языка Python, об их необходимости.
Зачем основы языка, когда есть фреймворки?
Во время моей работы в одной школе по программированию(никаких названий, за рекламу мне никто не платил), люди, которые мне звонили часто спрашивали: "А зачем мне вообще тратить деньги на курсы по изучению языка N, если есть фреймворк и с ним можно всё делать и без знания языка, за тебя уже всё написано?"
Дело в том, что фреймворки вам будут полезны до тех пор, пока вы не столкнётесь с первой же проблемой, которую с помощью одного фреймворка решить будет нельзя и на этом фреймворки перестанут быть вашими помощниками, а превратятся в ваших врагов.
Что я имею в виду? Приведу пример, который случился со мной совсем недавно, при выполнении тестового задания. Я допустил большую ошибку — и слишком доверился возможностям фреймворка. Я два дня потратил на решение проблемы, которая заняла у меня в итоге 3 минуты. Потому что я, во-первых, хотел сделать всё ресурсами фреймворка, а, во-вторых, забыл об одном из главных принципов Python — Simple is better than complex(Просто лучше, чем сложно). Когда кому-то объясняешь этот принцип, всё очень легко и просто, но сам им пользоваться просто забываешь.
Сидел я сидел, думал-думал, а потом в голове "зажглась лампочка" и я подумал: да не буду я использовать в этом случае инструмент фреймворка, воспользуюсь обычным списком и вуаля, всё решилось за 2-3 минуты.
Это было хорошим уроком для меня и в следующий раз я не буду полностью полагаться на возможности фреймворка. Не знай я основ языка, я бы так и не выполнил тестовое задание, и, возможно, был бы плохого мнения об этом фреймворке. Но всё обошлось.
Когда я читал Лутца(а это была, к сожалению, моя первая книга по программированию), я всё время думал: "да как мне всё это может понадобиться в реальной разработке, все эти ужасные множества, словари(ух, как я их не любил), никчемные списки", я по незнанию не мог прикрутить все эти теоретические рассуждения Лутца к реальной жизни. Однако же, когда я начал делать свой первый проект на Flask, как же мне всё это пригодилось, правда Лутца в итоге пришлось читать второй раз, и на второй раз он был намного увлекательней.
Отсюда мораль — если вам скучно в данный момент изучать основы языка, знайте, что в будущем их знание сохранит вам десятки и даже сотни часов времени. Это касается не только основ Python, также не стоит пренебрегать и основами HTML&CSS, положившись полностью на Bootstrap, и основами JS, положившись на jQuery.
Представьте, что у вас есть калькулятор, но вы не знаете математику, сильно он вам поможет?
Вот так же и с фреймворками, они вам не помощники, а большие враги, когда языка вы не знаете. Без знания основ языка вы превращаетесь в компьютер, в который вложен очень ограниченный набор функций, и если какая-то задача не входит в набор этих функций, то и решить её вы не сможете.
Я прощаюсь с вами до завтра, если статья была полезной, поставьте, пожалуйста, лайк и не забудьте подписаться на канал, чтобы не пропустить завтрашнюю и последующие статьи.
Приятного вам обучения!
Предыдущая статья. ................................................................... Следующая статья.