что это такое простыми словами и как используется
Программный код — это текст, написанный на языке программирования. Обычно его пишут программисты, и этот процесс называется «кодинг». С помощью кода создают программы: отдают компьютеру команды, которые он выполняет.
Когда человек пишет код, про него говорят, что он кодит. Чаще всего этот термин применяют по отношению к программистам, которых еще называют кодерами.
Код программы изначально воспринимается компьютером как простой текст. Чтобы он заработал, нужно передать его специальному инструменту — компилятору или интерпретатору нужного языка. Тот преобразует код в вид, понятный машине. После этого его можно будет запустить.
Для чего нужен программный код
Компьютер не понимает человеческие языки. Но и программный код на современных языках программирования ему непонятен: его нужно компилировать или интерпретировать, чтобы он заработал. Возникает вопрос: почему тогда не писать программы на человеческом языке. Но так не получится — код все-таки нужен. Попробуем объяснить простыми словами, почему.
Человеческие языки сложные. Практически невозможно создать компилятор, который переводил бы человеческие естественные языки в понятный компьютеру вид. В программировании есть область их распознавания, которая называется NLP, но она очень сложная и не способна распознать все. Поэтому человеческий язык в качестве языка программирования просто не подойдет.
Код помогает быстрее и лаконичнее отдавать команды. Представьте, что вам нужно отсортировать большое количество данных. Описать задачу обычным текстом будет сложнее, чем написать одну или две строчки кода.
Код понятен и структурирован. Современные языки программирования — высокоуровневые. Это значит, что их уровень абстракции выше, ближе к человеческому пониманию, чем к машинному. Поэтому код на них нужно компилировать или интерпретировать. Исходный «язык машины» — длинные машинные коды из нулей и единиц, и писать на них программы человеку практически невозможно. Будет совершенно непонятно. А по программному коду видно, что он делает — его синтаксис приближен к человеческому пониманию.
Языки программирования служат своеобразным компромиссом между сложными для человека машинными кодами и непонятным для компьютера человеческим языком.
Как выглядит программный код
Это набор строчек на языке программирования. Языки обычно приближены к английскому: слова из него заимствуются для обозначения команд. По структуре код состоит из команд, связей между ними, различных операторов и знаков препинания, а также переменных и значений. Большие группы команд, которые выполняют конкретное действие, собираются в блоки — функции.
В конце каждой строчки в большинстве языков ставится точка с запятой. Она помогает компилятору или интерпретатору понять, что команда закончилась. Но это не всегда так: например, в Python вместо точки с запятой используется перенос строки.
На картинках с кодом, которые вы наверняка видели в сети, он разноцветный. Это происходит, потому что специальные средства для программирования подсвечивают разные элементы его синтаксиса для наглядности.
Разбираемся с терминами: каким бывает код
Это не классификация — просто список терминов, которые часто можно услышать в контексте написания кода. Они могут быть похожи, но означают разное.
Исходный код, или сурс, source code — текст программы, который написал разработчик. Может быть открытым или закрытым. Открытый исходный код может просмотреть кто угодно. Закрытый или спрятан от пользователей, или вообще отсутствует в готовом программном продукте — вместо него используются исполняемые коды.
Исполняемый код — код, который может исполнить программа. Иногда противопоставляется исходному. Чаще всего так называют код, который получился в результате компиляции. Компилятор переводит исходный код в машинный, который сможет исполнить операционная система, — на выходе получается исполняемый код.
Чистый код — это понятие другого порядка, которое, скорее, относится к правилам хорошего тона для разработчиков. Чистым называют код, который хорошо написан, не слишком многословен, понятен и лаконичен. Такой код легко прочитать другим разработчикам, а не только автору.
В чем пишут код
Языки программирования устроены так, что код можно написать в любом редакторе, даже в «Блокноте». Компьютер в таком случае воспримет его как текст, а для запуска нужно выполнить дополнительные действия: сохранить файл в нужном формате, отправить его компилятору или интерпретатору. Если это код на JavaScript, проще всего запустить его в браузере. А если код на внутренних языках операционной системы — в консоли.
Чаще всего программисты пишут код в специальных программах: средах разработки, они же IDE, и редакторах кода. Среда — более мощный инструмент со множеством дополнительных функций. Код можно запустить прямо из нее одной кнопкой. Редактор проще, в нем легче разобраться, и он менее ресурсоемкий.
Специальные средства для написания кода умеют больше, чем текстовые редакторы. Они подсвечивают синтаксис и делают код разноцветным, чтобы разработчику было понятнее. Они помогают находить неудачные места, отлаживать программы, выводить данные и делать много других вещей. Это удобные и наглядные инструменты.
Новичкам мы рекомендуем начать с редакторов кода или IDE. Так удобнее писать и сложнее запутаться.
Из чего состоит код
Набор правил, по которым пишется код, называется синтаксисом. Синтаксис поясняет, какие команды можно использовать, какой должна быть структура кода, как правильно расставлять связи, передавать аргументы и использовать разные операторы. Его можно сравнить с правилами русского языка.
Синтаксис языка программирования ничего не говорит о смысле программы. Он отвечает только за правильность написания.
Код состоит из команд, связей между ними и других элементов синтаксиса. Вот какими они бывают.
Сначала договоримся об общих понятиях.
- Командами мы будем называть непосредственные указания для компьютера, что сделать. Например, напечатать слово: print(“слово”).
- Связями будем называть разные элементы, связывающие команды друг с другом. Чаще всего это знаки пунктуации и различные операторы.
А теперь рассмотрим компоненты более подробно.
Переменные. Когда пользователь оперирует какими-то значениями по нескольку раз, ему бывает нужно куда-то их записать. Для этого в языках программирования существуют переменные. У переменной есть имя, тип и значение.
- Имя показывает, как обращаться к переменной. Например, если мы объявили a = 5, то переменная называется a.
- Значение – это данные, которые лежат в переменной. Для названной выше переменной a это число 5.
- Тип данных показывает, какой вид информации находится в переменной: число, буква, строка или что-то более сложное. Есть простые и составные типы данных. В первых хранятся примитивные значения вроде чисел и строк, во вторых – сложные конструкции из нескольких примитивов или даже функций.
Работа с типами данных в разных языках программирования – тема для отдельной статьи. Они могут сильно различаться: где-то тип надо указывать явно, где-то нет. В некоторых языках можно сравнивать или складывать данные разных типов, в других нельзя. Вариаций много, поэтому стоит сразу смотреть, как устроены типы в выбранном вами языке.
Константы. Так называют переменные, значение которых нельзя изменить. Оно задается раз и навсегда. В некоторых языках программирования, например в функциональных, все переменные по сути являются константами.
Ключевые слова. Ключевые слова — это особые зарезервированные слова, которые используются для технических целей. Например, значения True и False, «истинно» или «ложно». Зачастую эти слова — не команды: они рассказывают компьютеру о каком-то значении или формате. Зарезервированными словами нельзя что-то назвать. Например, в программе не может быть переменной, имя которой True.
Идентификаторы. Так в информатике называются имена, которые программисты дают сущностям в коде. Например, имя переменной — это ее идентификатор. А если пользователь захочет создать какую-то функцию, то он даст ей имя. Оно тоже будет идентификатором.
Значения и литералы. Литералы еще называют безымянными константами. Это значения какого-то типа, которые используются в коде, но не привязаны к переменной. Они не меняются, ведь их никуда не записывают — это не переменные. Изменить литерал можно только одним способом: переписать исходный код.
Например, когда мы пишем print(“слово”), строка «слово» — это литерал. Нам не нужно записывать ее в переменную, но и обойтись без нее не получится. Она остается в коде как безымянная константа.
Знаки пунктуации и символы. Символы чаще всего бывают связями. Иногда — операторами. , вопросительный знак, вертикальная или косая черта, процент и многое другое.
Операции, операторы и операнды. Не пугайтесь. Операции — это определенные действия с данными: сложение, вычитание, сравнение и так далее. Причем речь не всегда идет о действиях в математическом смысле — это просто хороший наглядный пример.
Операции состоят из операндов и операторов.
- Операнд – это переменная или литерал, что-то, с чем мы будем работать.
- Оператор – это символ или слово для обозначения действия.
Например, в операции a + 2 переменная a и литерал 2 будут операндами, а знак + оператором.
Функции. Иногда набор команд бывает нужно объединить в один блок, чтобы потом вызывать его как одну большую команду. Это возможно. Такие блоки в программировании называются функциями.
У функции чаще всего есть имя (исключения встречаются, но редко) и список аргументов — данных, которые передаются ей при вызове. Когда программист вызывает функцию, она выполняет заложенные в ней действия.
Встроенные команды языков программирования — обычно тоже функции. Просто они изначально заложены в язык. Но программист может написать и свои. Более того: разбивать код по функциям — хорошая практика, потому что это улучшает читаемость и гибкость программы.
Дополнительные наборы функций для каких-то задач называются библиотеками. Они тоже бывают встроенными, уже существующими в языке, и пользовательскими. Чтобы использовать функции из библиотеки, ее нужно подключить к программе, а если библиотеки нет на компьютере, сначала скачать.
Комментарии. В большинстве языков есть возможность писать комментарии — текстовые блоки, которые ничего не делают и нужны для удобства разработчика. Они выделяются специальными символами. Компилятор или интерпретатор игнорирует комментарии и ничего с ними не делает.
Основных назначений у комментариев два:
- документировать и объяснять. Например, разработчик может оставить комментарий около сложной функции и пояснить в нем, что она делает;
- временно скрывать участки кода. К примеру, человек превращает какую-то строку кода в комментарий, чтобы временно исключить ее из выполнения программы.
Если вы хотите профессионально заниматься программированием, записывайтесь на наши курсы. Мы будем рады помочь вам получить новую профессию.
Телефонные коды городов Грузии, сотовые компании и экстренные службы
- Главная
- Грузия
- Коды
Международный код Грузии — 995 | ||||
Телефоны экстренных служб: | Коды сотовых компаний Грузии: | |||
Пожарная служба | 111 | Beeline | 568, 571, 574, 579, 592, 597 | |
Полиция | 122 | Geocell | 514, 555, 557, 558, 577, 593 | |
Скорая помощь | 113 | Magti | 550, 551, 591, 595, 596, 598, 599, 790 | |
Silknet | 578, 770 |
Телефонные коды городов Грузии: | ||||
Тбилиси | 32 | Мцхета | 373 | |
Абаша | 312 | Озургети | 396 | |
Адигени | 366 | Поти | 393 | |
Амбролаури | 339 | Рустави | 34 | |
Ахалцихе | 365 | Самтредиа | 311 | |
Ахалгори | 342 | Сенаки | 313 | |
Ахалкалаки | 362 | Сагареджо | 351 | |
Ахмета | 349 | Сигнаги | 355 | |
Боржоми | 367 | Телави | 350 | |
Болниси | 358 | Тетри-цкаро | 359 | |
Вани | 332 | Тиалети | 348 | |
Гори | 370 | Ткибули | 397 | |
Гурджаани | 353 | Терджола | 391 | |
Дедоплис цхаро | 356 | Карагаули | 333 | |
Дманиси | 360 | Хашури | 368 | |
Душети | 346 | Хони | 395 | |
Зестафони | 392 | Цалка | 363 | |
Зугдиди | 315 | Цаленджиха | 316 | |
Кутаиси | 331 | Цхинвали | 344 | |
Карели | 369 | Цхалтуба | 340 | |
Казбеги | 345 | Чиатура | 379 | |
Каспи | 371 | Чхороцху | 317 | |
Кварели | 352 | Сухуми (Абхазия) | 122 | |
Пагодехи | 354 | Батуми (Аджария) | 222 | |
Марнеули | 357 | Кобулети (Аджария) | 236 | |
Мартвили | 318 |
код для чего?
29,95 долларов США
Твердая обложкаэлектронная книга
320 стр. , 5 x 8 дюймов, 31 ч/б иллюстр.
- Твердый переплет
- 9780262047456
- Опубликовано: 10 января 2023 г.
- Издатель: The MIT Press
$29,95
- Электронная книга
- 9780262371834
- Опубликовано: 10 января 2023 г.
- Издатель: The MIT Press
$29,99
- Книжный магазин MIT Press
- Случайный дом пингвинов
- Амазонка
- Барнс и Ноубл
- Книжный магазин.org
- Индивидуальный
- Индиго
- Книг на миллион
Другие розничные продавцы:
- Книжный магазин MIT Press
- Случайный дом пингвинов
- Амазонка
- Барнс и Ноубл
- Книжный магазин. org
- Индивидуальный
- Индиго
- Книг на миллион
- Amazon.co.uk
- Блэкуэллс
- Книжный магазин.org
- Фойлз
- Улей
- Водные камни
Почему так чертовски сложно научиться программировать
Куинси Ларсон был просто «парнем в костюме в офисе» и решил, что хочет научиться программировать. Поэтому он поспрашивал вокруг. Он начал с изучения Ruby, а затем пробежался по другим языкам, таким как Scala, Clojure и Go. Он изучил Emacs, затем Vim и даже раскладку клавиатуры Дворжака. Он изучил Linux, баловался Lisp и программировал на Python, живя в командной строке более полугода.
Подобно листу в торнадо, советы, полученные Куинси, дернули его сначала в одну сторону, потом в другую, а затем в другую, пока он, наконец, не прошел «все мыслимые программы онлайн-курсов». К концу всего этого, несмотря на то, что в конечном итоге он получил работу по разработке программного обеспечения, Куинси:
… был убежден, что, казалось бы, нормальные программисты, с которыми я столкнулся, на самом деле были социопатами, которые испытали, а затем подавляли травму обучения программированию.
Ой. Это звучит знакомо?
Научитесь программировать с Thinkful
Выберите проверенный путь к высокооплачиваемой карьере с профессиональным наставничеством и поддержкой, гибкими способами оплаты и реальным проектным обучением.
Этап I: Медовый месяц за руки
Трудно винить кого-либо за то, что он пришел в индустрию программирования с возмутительными ожиданиями.
С одной стороны, вы слышали слухи о том, как сложно программировать, с тех пор, как вы были молоды, как сказки старых жен, предназначенные для того, чтобы вместо этого запугать детей и заставить их изучать социальные науки.
С другой стороны, движение «Изучай код» проделало фантастическую работу по разрушению барьеров и демонстрации людям того, что код на самом деле совершенно безвреден. Такие инструменты, как Codecademy и Treehouse, самым нежным образом убеждают вас в том, что вы тоже (нет, любой!) сможете не только научиться программировать, но и стать полноценным разработчиком.
Внезапно проблема не в страхе, а в переизбытке надежд и завышенных ожиданий.
И, по большей части, эти вводные инструменты отлично справляются с задачей, проводя вас, как ребенка на пешеходном переходе, мимо больших страшных переменных и условных операторов и через ранние этапы синтаксиса программирования. По мере того, как вы преодолеваете одно за другим их игровые испытания, ваша уверенность растет. Может быть, вы можете сделать это в конце концов! Как трудно это может быть? По сути, ты уже разработчик!
Медовый месяц за руки
Проблема в том, что вы находитесь в том, что я называю фазой «медового месяца за руки». Хотя вам может казаться, что конец уже не за горами, вы всего лишь часть пути к нему. Это только начало…
Наметить путь вперед
Прежде чем мы погрузимся в Фазу II, давайте взглянем на картину в целом.
В этом посте я проведу вас через четыре этапа типичного пути к программированию и расскажу, что вам нужно сделать, чтобы пережить каждый из них. Вы также увидите, как два ключевых фактора — плотность ресурсов и объем необходимых знаний — определяют этот путь.
Путь к готовности к работе можно описать с точки зрения того, как меняется уровень уверенности в себе по мере роста ваших способностей: ваше счастье, и потому что точка, в которой ваша уверенность и способности совпадают, является лучшим прокси, который у меня есть для точки наилучшего восприятия, когда вы официально «готовы к работе».
Чуть позже мы рассмотрим уникальные задачи оставшихся 3 фаз, но по сути каждая из них включает следующее:
- «Медовый месяц за руку» — это веселая прогулка по отточенным ресурсам, обучающая вас вещам, которые кажутся сложными, но с их интенсивной поддержкой вполне выполнимы. В первую очередь вы изучите базовый синтаксис, но будете довольны своими достижениями.
- Утёс Замешательства — это болезненное осознание того, что становится намного тяжелее, когда хватание за руку заканчивается, и кажется, что ты ещё ничего не можешь сделать самостоятельно. Ваши основные проблемы — это постоянная отладка и незнание того, как задавать правильные вопросы, когда вы пробиваетесь к любому импульсу.
- Пустыня Отчаяния — это долгое и одинокое путешествие по бездорожью, где каждое новое направление кажется правильным, но вы часто ходите по кругу и вам не хватает ресурсов, чтобы пройти через это. Остерегайтесь «миражей мании», подобных сиренам пустыни, которые сбивают вас с пути.
- Взлет Awesome — это когда вы, наконец, нашли путь через пустыню и поняли, как создавать приложения. Но ваш код по-прежнему разрознен и хрупок, как карточный домик. Вы обретаете уверенность, потому что кажется, что ваши сайты работают, вы освоили несколько полезных паттернов, а ваши друзья считают ваши интерфейсы крутыми, но вы боитесь заглянуть под капот и в конечном счете не знаете, как перейти к «рабочей среде». Готовый» код. Как преодолеть разрыв с реальной работой?
За последние несколько лет я брал интервью у сотен начинающих разработчиков и снова и снова слышал отголоски одной и той же истории. Моя цель в этом посте состоит в том, чтобы вы подошли к путешествию ученика с открытыми глазами и достаточным планом, чтобы вы могли избежать распространенных ловушек тех, кто был до вас.
Вернемся к Фазе II…
Фаза II: Утёс Путаницы
Итак, вы находитесь в Фазе I — «Медовый месяц за руки» — проверяете значки и выполняете задачи по программированию, пока вы растет уверенность и возможности. Это не так уж и плохо… о чем весь этот шум? Вы достигли «Пика Иррационального Изобилия»…
Будьте осторожны! Вы вот-вот перешагнете пропасть, которая разбила многих сильных честолюбивых учеников и отправила их в лагерь «программирование — это слишком сложно». Точный момент, когда происходит этот скачок, — это когда вы впервые садитесь за клавиатуру, открываете текстовый редактор и пытаетесь создать проект с нуля без каких-либо причудливых редакторов в браузере, шаблонного кода или полезных советов.
Дерьмо.
Вы можете немного растянуть это, следуя инструкциям, но еще никто не достигал неба, не отрываясь от земли, и в какой-то момент вам придется создавать магию из пустого текстового файла. Вы только что вступили во вторую фазу обучения, когда уверенность рушится на землю — «Скалу замешательства»:
Утес Замешательства
Итак, вы строите. Вы боретесь и царапаете свой путь к едва функционирующему решению, но чего-то не хватает. Вы ведете войну с жуками, из-за которых Starship Troopers выглядят безобидными. Такое ощущение, что каждая победа была достигнута только благодаря удачному гуглению, и ваша уверенность в том, что вы когда-нибудь разберетесь в этом, резко падает.
Бууууууууууууууууууууууу!!!
Это особенно разочаровывающий этап для педагога и всех участников нашей отрасли. Программирование может быть не идеальным для всех, но мы хочет, чтобы вы добились прогресса, потому что иногда самые невероятные истории становятся величайшими успехами.
Когда рукопожатия заканчиваются и студентов сталкивают со скалы и просят лететь, слишком много потенциально удивительных людей падают по спирали на скалы разочарования, так и не научившись махать крыльями.
Страшно то, что вы еще даже не добрались до мяса. Эта вторая фаза, Утёс Замешательства, ещё очень ранняя. После того, как вы, наконец, устранили достаточно ошибок, чтобы положить конец восьмой чуме в Египте, и фактически завершили пару проектов — тем самым отметив конец Фазы II — вы все еще только начинаете.
Для тех, кто действительно готов сделать на этом карьеру, выживание на Утёсе Замешательства часто является моментом, когда вы решаете пойти ва-банк в своей новой жизни. Но слишком многие остались позади. И, к сожалению, вы вот-вот войдете в «Пустыню отчаяния».
Два ключевых фактора в игре
Так что же на самом деле отличает одну фазу от другой? Почему Фаза II (Утёс Замешательства) была такой ужасной по сравнению с Фазой I (Медовый месяц, держась за руки)? Понимание этого поможет вам осознать, что это вовсе не ваша вина, если ваше путешествие выглядит так, как мы только что описали.
По сути, на каждой фазе действуют две ключевые силы — Плотность ресурсов и Объем знаний . Давайте посмотрим, что это такое, прежде чем исследовать, как они определяют Фазу III.
Фактор 1: Плотность ресурсов
Как я уже говорил выше, когда вы только начинаете, кажется, что есть миллион ресурсов, пытающихся держать вас за руку и вовлечь вас в программирование. Это потому что есть!
Введите слово «Learn to Code», и вы увидите целую стену полезных и полезных инструментов, текстов, видео и руководств. И, честно говоря, они великолепны! Никогда прежде не было так много способов начать обучение программированию.
К сожалению, на более поздних этапах плотность ресурсов быстро падает. Любой, кто перешел от начального к среднему уровню, может подтвердить, что существует БОЛЬШАЯ разница между количеством ресурсов, доступных при первом запуске, и тем, когда вы впервые ищете помощь в создании чего-то самостоятельно, не слишком долго держась за руки.
Эта проблема усугубляется по мере того, как количество знаний быстро увеличивается, вступая в фазу III, и это одна из причин, по которой мы называем эту фазу «Пустыней отчаяния». Как только вы преодолеете это и начнете привыкать к тому, что именно вам нужно искать, ресурсы вернутся, и вы сможете работать с более техническими инструментами, такими как отраслевые блоги и скринкасты. Частью этого является просто понимание того, какие вопросы задавать.
Вот как выглядит плотность ресурсов на каждой фазе (большая плотность линий указывает на большее количество ресурсов):
Плотность ресурсов на каждой фазе — щелкните, чтобы увеличить
Фактор 2: объем знаний
Теперь давайте поговорим о связанной проблеме — — объем знаний. Это представляет собой общую широту новых тем, которые вам необходимо изучить на каждом этапе. Вот как это выглядит:
Объем знаний, необходимых на каждом этапе — щелкните, чтобы увеличить
Когда вы только начинаете учиться, набор вещей, которые вам нужно понять, невелик. Каждый, независимо от целей, языка или происхождения, должен понять, что такое для цикла
, как построить условную логику и другие основные структуры синтаксиса программирования. В конечном счете, этих фундаментальных понятий не так много, поэтому объем знаний на этом этапе очень узок.
Как только вы уходите от основ, вы видите быстрое расширение объема знаний, поскольку вам нужно начать разбираться в более сложных вещах, таких как понимание ошибок и когда использовать код, который вы знаете, знаете как использовать. Это другое, потому что нет «правильного» ответа на четкий вопрос… все становится нечетким.
Когда вы переходите к третьему этапу, объем знаний расширяется. Теперь вам нужно понять, какие инструменты использовать, какие языки изучать, лежащие в основе CS, как писать модульный код, объектно-ориентированный, хороший стиль и как обращаться за помощью (и это лишь некоторые из них). Каждое посещение Google или Hacker News заводит вас в очередную кроличью нору и заваливает новыми вещами, о которых вы не знаете, но чувствуете, что должны.
Вы не знаете, чего вы не знаете.
Только когда вы, наконец, нашли хоть какую-то опору и покинули пустыню, возможности снова начинают сужаться. К этому моменту вы нашли выбранную технологию и ее место в экосистеме. Вы, наконец, (в значительной степени) знаете то, чего не знаете, и можете проложить путь через это. Вы будете продолжать уделять больше внимания по мере продвижения вперед и в начале своей карьеры.
Фаза III: Пустыня Отчаяния
Понимая эти факторы, вы можете увидеть, что Утёс Замешательства на самом деле является просто поворотным пунктом. Боль, вызванная токсичной комбинацией быстро растущего объема знаний и падающей плотности ресурсов, приводит к тому, что я называю «пустыней отчаяния».
По сути, это пустыня, где вы знаете, что есть конец где-то , но вы не знаете, как туда добраться:
Пустыня Отчаяния
Пустыня длинная и полна опасностей. По пути вы обнаружите, что вас тянет к «Миражам мании» — десяткам заманчивых ресурсов, которые, кажется, содержат решения, которые вы ищете, но которые снова оставят вас в месте, где одинокий песок простирается до каждого. линия горизонта.
Может быть, вы запишитесь на пару курсов MOOC от Coursera, Udacity или edX. Или вы найдете учебник, который претендует на то, чтобы пройти весь путь. Вы думали, что усвоили уроки медового месяца, держащего за руку, что простых ответов не бывает, но искушение искать спасения слишком велико, и вы поддаетесь обещанию, что этот приведет вас к финишу там, где другие не смогли.
Вы не сможете выучить этот материал за неделю, месяц или один курс в колледже, кто бы что ни говорил, так что перестаньте поддаваться на это!
Нам предстоит узнать НАМНОГО больше, чем вы, возможно, ожидали. Даже если вы можете запустить некоторые приложения, трудно не чувствовать себя потерянным в большей схеме становления настоящим профессионалом. Трудно измерить ваш прогресс. Откуда вы знаете, что вам нужно выучить, и изучаете ли вы вообще нужные вещи?
Даже если вы указываете правильное направление, трудно измерить ваш прогресс. Вы можете чувствовать себя полностью потерянным до того момента, когда вы, наконец, сможете построить что-то, что выглядит и действует так, как вы ожидали. Но при достаточной настойчивости и хорошем компасе вы, в конце концов, запустите свои первые несколько «настоящих» проектов и поймете, что, наконец, начинаете получать .
Конечно, до сих пор было трудно, но, может быть, эти веб-разработки не так уж и плохи… Все идет впереди, Милхаус!
Фаза IV: Взлет крутизны
Вы преодолели пустыню, и ваша уверенность растет. Ваш Google-фу превосходен, и вы, наконец, можете понять эти подробные сообщения в отраслевых блогах и скринкасты. Возможно, вы глубоко изучили определенный язык или структуру и уверены, что сможете создать и запустить работающее приложение.
Это «Потрясающий подъем»:
Потрясающий подъем
Внешне все может казаться хорошим, но в глубине души вы знаете, что еще не достигли этого.
Вы можете заставить это приложение работать, но что происходит внутри? Ваш код состоит из клейкой ленты и веревки, и, что хуже всего, вы даже не знаете, какие части ужасны, а какие на самом деле просто хороши. Вашим периодическим вспышкам гениальности противостоят нубские ошибки и, что еще хуже, закрадывающееся подозрение, что вы до сих пор ни черта не понимаете, что делаете.
Это биполярная фаза. Вы чувствуете, что половина вас — пуленепробиваемый разработчик, а другая половина — тонкая оболочка эффективности, прикрывающая новичка с дикими глазами, который слишком глубоко увяз. Чем дальше вы продвигаетесь, тем больше нарастает грызущее чувство неуверенности в том, что кто-то собирается «выставить» вас мошенником.
Вы чувствуете, что уже должны быть разработчиком, но расстояние между кодом, который вы пишете, и «профессиональной» рабочей средой не может быть больше…
Однако, в конце концов, вы это сделаете. Слишком большой импульс, чтобы этого не делать! Пустыня Отчаяния осталась позади, а Утёс Смятения остался в далеком воспоминании. Вы, наконец, действительно , на подъеме. Вы учитесь быстрее и эффективнее, чем когда-либо прежде, и, в конце концов, вы усвоите достаточно передового опыта, чтобы ваши знания о швейцарском сыре объединились в набор навыков производственного уровня.
Взлет Крутости всегда занимает больше времени, чем вы ожидаете, и кажется бесконечным, потому что вы так близко … но вы доберетесь до цели. Если вы достаточно настойчивы в правильном направлении (наверняка это тема будущего поста), вы убедите кого-нибудь заплатить вам за то, чтобы вы продолжали учиться. Работа твоя.
Как все это выглядит
Итак, теперь вы увидели путь вперед и причины, по которым он может быть трудным. Когда вы объединяете все четыре фазы, которые мы только что рассмотрели, с факторами, которые их определяют, это выглядит примерно так:0009
Одно дело знать путь, а другое — идти по нему. Давайте начнем с правильной ноги.
Как пройти через это живым
Путешествие кажется напряженным, и, честно говоря, часто так оно и есть. Важно, чтобы вы понимали, на что идете, особенно если вы делаете это в одиночку. Но это не обязательно. Есть способы решить большинство этих проблем. Научиться программировать редко бывает так просто, как это изображают люди, но также редко это бывает так сложно, как кажется в глубине вашего отчаяния.
В этом разделе я познакомлю вас с ключевыми тактиками, которые вы можете использовать, чтобы держать себя в правильном направлении.
Ваше продвижение по этапам — Нажмите, чтобы увеличить
I: Выживание в медовом месяце, держась за руки
Множество доступных ресурсов в медовом месяце, держащем за руку, делает его очень увлекательным. Они проделывают большую работу, облегчая вам логическое мышление, которое вам нужно развивать на следующих этапах. Это прекрасное время, чтобы начать учиться программировать, поэтому постарайтесь получить от этого удовольствие и помните об этих двух советах:
- Начните с различных ресурсов , чтобы узнать, как лучше учиться и какие проекты вам наиболее интересны. Может быть, это быстрые задачи Академии Хана, упражнения в браузере Codecademy или индивидуальный опыт наставничества Thinkful. Будьте непредвзяты в начале и игнорируйте все, что вы должны узнать… на этом этапе весь код одинаков.
- Затем выберите один ресурс и придерживайтесь его, как только вы найдете то, что вам подходит. Проработайте до конца вводный курс, который должен дать вам все базовые знания, необходимые для написания базовых сценариев и приложений. Тогда будьте готовы начать строить самостоятельно.
II: Surviving the Cliff of Confusion
Почти каждому предстоит пройти через Cliff of Confusion, потому что единственный способ стать разработчиком — это развиваться. Вы можете притворяться, что строите, подписавшись на учебные пособия (или учебные пособия, которые маскируются под «полные» курсы), но вы просто откладываете неизбежное. Учебные пособия — хороший способ перейти от более сложных вводных предложений, но в какой-то момент вам нужно будет отучить себя от пустышки и столкнуться с реальным миром.
Три совета для самостоятельного перехода к строительству:
- Работайте с кем-то еще , даже с новичком. Вы будете удивлены, насколько проще отладить невозможную ошибку, если у вас две пары глаз.
- Прочтите чужой код , чтобы освоиться с хорошими шаблонами. Попытайтесь понять, почему автор сделал то, что сделал. Вы бы не пытались стать писателем, не читая книг, не так ли? Мы сосредоточимся на этом в следующем посте, а пока не спускайте глаз с любых небольших проблем или проектов, для которых другие люди написали решения.
- Начните с малого и постоянно развивайтесь . Вы должны иметь в виду интересные крупные проекты на будущее, но вам нужно научиться удобно отлаживать и искать ресурсы с небольшими проблемами. Там действительно ничто не заменит опыт.
Как только вы освоитесь с отладкой, вашей самой большой проблемой станет пожарный шланг необходимых знаний и полная потеря того, как научиться всему этому… Пустыня Отчаяния. В этом случае вам действительно нужен сильный путь вперед. Миражи мании представляют собой все интересные побочные пути, кроличьи норы и схемы быстрого получения навыков, которые в конечном итоге тратят ваше время.
Если вы сможете определить путь и придерживаться его, вы в конечном итоге перейдете к следующему этапу вместо того, чтобы тратить месяцы или годы на погоню за миражами по зыбучим пескам этой пустыни.
Подъем крутости — один из самых сложных переходов. Вы можете разрабатывать приложения но вы действительно хотите стать веб-разработчиком . Чтобы пройти этот этап и приступить к работе, вам нужно сделать три вещи:
0137 получить отзыв . Учащиеся, которые обучались полностью самостоятельно, могут быть продуктивными, но редко имеют разборчивый, модульный и удобный для сопровождения код, который делает их привлекательными в профессиональной среде. Вам нужно работать с другими людьми, которые будут подвергать сомнению ваши предположения, задавать пронзительные дополнительные вопросы и заставлять вас устранять утечки в вашем ведре знаний.
Все это может показаться ошеломляющим, но я обещаю, что многие другие выстояли и выжили в этом путешествии до вас. Поняв предстоящий путь, вы уже находитесь в хорошем состоянии, чтобы взяться за него с целенаправленным планом и доступом к нужной помощи.
Очевидно, что в этом конкретном посте нет места, чтобы углубиться в каждую фазу пути так глубоко, как нам хотелось бы, или дать подробные практические советы, которых вы заслуживаете. Тем не менее, это путешествие, с которым мы хорошо знакомы и которым мы очень увлечены, поэтому мы хотим помочь всем, чем можем.
Наша программа инженерного погружения специально разработана для того, чтобы объединить весь этот процесс, но, если вы заинтересованы в том, чтобы следовать за ней самостоятельно, мы подробно рассмотрим ее публично и подробно в будущих сообщениях в блоге.
Leave a Reply