Первые трудности

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Читать в полной версии →

Итак, прошло еще две недели погружения в информацию. И она сваливается на голову просто снежной лавиной. Но обо всем по порядку.

  1. За прошедшие две недели были пройдены еще ознакомительные курсы по Racket и Python на CodeBasic. В принципе, задания однотипные, потому прошла их достаточно быстро, больше для ознакомления с синтаксисом. Racket нужен был для курса по СИКП, а Python захотелось самой посмотреть, поскольку еще до попадания на Hexlet наткнулась на отличные лекции от преподавателя МФТИ Тимофея Хирьянова "Алгоритмы на Python3", и соответственно захотелось разобраться досконально в коде, который он приводит в лекциях. На мой взляд, эти лекции лучшие из всех лекций по алгоритмам, которые я смогла нагуглить, мне кажется, особенно для новичков будет полезно, так как рассказывает он очень наглядно и доходчиво.

  2. По алгоритмам дочитала "Грокаем алгоритмы" (опять же начала читать еще до попадания на Hexlet). Книга просто шедевральная, очень доступная для понимания. Полгода назад пыталась прочитать "Алгоритмы. Справочник" Хайнемана, и так и не смогла дочитать. После "Грокаем алгоритмы" открыла ее опять, просмотрела, и поняла, почему она могла "не зайти" тогда - скорее всего, оказалось слишком много математики в начале. Теперь вот планирую снова начать ее читать.

  3. Сначала уже было обрадовалась, что с английским у меня все не так уж плохо, поскольку решила сделать себе "челендж" - прочитать "Грокаем алгоритмы" на английском. И я его прошла, причем достаточно легко, только в одном месте пришлось залезть в русскую версию, потому как не смогла один алгоритм сходу понять. Но "крылышки обломались", когда я попыталась тот же "челендж" себе устроить по SICP. Однако то ли язык другой у автора, то ли из-за того, что тема не настолько знакомая для меня, но я "сломалась" и перешла на русскую версию. Дошла до первых упражнений, теперь надо их прорешать. Установила DrRacket, буду решать задачки из книги. Еще начала смотреть курсы по математике от Khan Academy, и смотреть на английском тоже оказалось проблематично, хоть и начала чуть ли не с азов, но поскольку терминология незнакомая, времени больше уходит на понимание того, что надо сделать, чем на обдумывание самого решения. Поэтому пока переключилась на курсы по математике от Stepik. Пока пробую курс по подготовке в ЕГЭ, чтобы вспомнить хотя бы школьную программу (школу-то я закончила 30 лет назад!!). Дальше буду смотреть, что надо подтянуть.

  4. Lisp мне просто свернул мозги. Сначала эта куча скобочек (как Рахим их так технично на ходу подсчитывает, сколько надо закрыть??!). Плюс мозги пока не могут переключиться на этот язык, все равно решение задания по курсу изначально представляла как бы в обычных языках (С, JS), а потом уже как бы "переводила" логику решения на Lisp. И дело больше не в синтаксисе, а в том, что мозгу нужно "перестроиться" для того, чтобы думать и описывать алгоритмы сразу на этом языке. Надеюсь на то, что после выполнения упражнений из книги произойдет этот волшебный "скачок", и тогда "переключатель" в голове заработает. В курсе по СИКП застряла на последнем, 4-м упражнении. И хотя задачку в double решила (правда, только после просмотра предпоследнего урока курса), но вот задача repeat мне пока не поддается. Хотя и пыталась ее решить по аналогии с double, но интерпретатор ругается, и не могу понять на что, гугление ошибки пока не помогло. Возможно, это от того, что решение по double тоже неправильное, поэтому и repeat не проходит, но смотреть решение учителя пока не хочу. Отложила эту задачу до того момента, как прочту две главы книги по СИКП, может, тогда в голове проясниться что-то.

  5. Также пришлось повозиться с Линуксом. Сначала не хотела ставить его себе на рабочий ноут, решила поставить на старенький (почти 10 лет ему), который сейчас у родителей, и к нему я доступ имею всего 3-4 дня в неделю. Там стоит Windows 10, но 32-разрядная версия, поэтому приложение из MSStore отпало. Поставила виртуальную машину, под нее с третьей попытки удалось поставить Ubuntu 16.04 (предыдущие две пыталась поставить 15-ю версию, но она категорически не захотела ставиться). Ubuntu ставилась больше 3-х часов, и вроде все работает, но ооооочень медленно. То есть терминал-то еще как-то работает, но вот если в убунту пытаюсь хоть еще какую-то прогу из входящих в установочный пакет запустить - все начинает очень сильно тормозить. Предполагаю, что это из-за малой оперативки, всего 2 гига, при этом только при загрузке чистой Windows (там под ней ничего не установлено, только MS Office), уже "съедается" больше гига. Возможно, поможет установка Убунту второй системой, рядом с Windows, но пока еще надо освоиться собственно в самой линукс-подобной системе. В общем, после почти дня мучений, все же рискнула и поставила на рабочий ноут Ubuntu из MS Store. Вроде бы терминал работает, только вот графической оболочки естественно нет. Пока только не очень понятно, как всем этим пользоваться. Надо садиться и повторно курс по командной строке пройти и закончить курс по настройке окружения. Кстати, может кто-то все-то скажет, хватит ли такой минимальной установки, или же ставить все-таки виртуальную машину? Я понимаю, что лучший вариант ставить Линукс второй операционкой, но на своем рабочем ноуте такими экспериментами заниматься не хочется.

Итого за три недели: 1) Пройдено 8 базовых курсов Hexlet + просмотрела курс по операционкам из "песочницы", три курса из Code Basics (JS, Rachet, Python). В курсе по СИКП осталась нерешенная одна задачка (repeat), буду ее смотреть после прочтения книги. РНР пока не трогала, как-то пока на него нет ни сил, ни времени, ни желания. 2) Начала повторять курс школьной математики на Stepik (возможно, кто-то еще что-то посоветует дельное?). Пока не могу понять, с какого момента у меня начинаются "пробелы". 3) Прохожу курс по JS на freecodecamp, пока еще только в самом начале, и пока еще все достаточно просто. Жду, когда начнется что-нибудь "позаковырестей". 4) Дочитала книгу "Грокаем алгоритмы". Начала читать "Код" Петцольда, но в связи с прохождением курса по СИКП переключилась на книгу по СИКП. Кроме того, начала слушать подкасты Рахима, что-то, конечно, не очень понятно, но какие-то вещи были даже некоторым открытием.

Планы на ближайшее время: 1) Повторить курс по командной строке и попрактиковаться на уже установленной Ubuntu, разобраться с Github. Закончить курс "JS: Настройка окружения". 2) Повторение курса школьной математики. 3) Чтение книги по СИКП и решение задач из нее. 4) Курс по JS на freecodecamp.