Приступая к работе¶
Наше восприятие программирования претерпело множество изменений за годы, прошедшие с момента появления первых ЭВМ, требовавших толстых жгутов соединительных кабелей и множество тумблеров, чтобы передавать простейшие инструкции от человека к машине. Как и в случае со многими аспектами человеческого общества, изменения в области вычислительных технологий предоставили учёным-информатикам огромное количество инструментов и платформ для практики своего ремесла. Прогресс в лице более быстрых процессоров, высокоскоростных сетей и больших объёмов памяти создал спираль сложности, в которой учёные должны свободно ориентироваться. Но на всём этом крутом эволюционном пути некоторое количество базовых принципов остаётся неизменным. Вычислительные науки тесно связаны с использованием вычислителей (компьютеров) для решения задач.
Вы наверняка потратили много времени на изучение основ методики решения задач и, надеюсь, умеете уверенно формулировать вопросы и разрабатывать для них решения. Вы так же хорошо усвоили, что писать компьютерные программы часто совсем не легко. Сложность больших задач и связанная с нею сложность ответов на них имеют тенденцию перекрывать фундаментальные идеи, связанные с собственно процессом решения.
В этой главе мы выделим две важные области, которые будут подробно рассматриваться в дальнейшем тексте. Во-первых, структуру, рамкам которой должны соответствовать теория информатики и изучение алгоритмов и структур данных. В частности, упомянем о причинах, почему эту тему стоит изучать и как её понимание помогает лучше решать возникающие задачи. Во-вторых, мы рассмотрим язык программирования Python. Не смотря на то, что мы не можем предоставить детальные, исчерпывающие ссылки, мы приведём примеры и объяснения основных конструкций и идей, с которыми нам предстоит встретиться в последующих главах.