Открыть вкладку. Закрыть вкладку. Еще один бесплодный ответ.

Вы повсюду слышите о программировании, но до сих пор не знаете, что это такое и даже не знаете, с чего начать. Уверен, вы подозреваете, что программирование как-то связано с компьютерами, но каким образом?

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

Импульс остановился.

Кодирование может показаться волшебным черным ящиком, управляющим миром, и в некотором смысле это правда. Кодирование — это что-то волшебное. Но его магия может быть изучена и понята кем угодно — и тоже быстро.

Чтобы ответить на вопрос «Что такое программирование?», мы воспользуемся некоторыми полезными метафорами, рисунками и примерами, чтобы помочь вам понять. Как только мы пришли к такому пониманию, мы можем установить связь с тем, для чего используется кодирование, и с существующими типами кодирования.

Наконец, вы уйдете с некоторыми действенными следующими шагами, которые вы можете предпринять. Это захватывающая часть: вы можете выбрать свое собственное приключение.

Ладно, давайте превратим невыполнимую миссию в выполнимую.

Кодирование 101: что такое кодирование и как оно работает?

Пойдем гулять. Не настоящая прогулка, а воображаемая. Вы знаете, что, чтобы идти, мы должны ставить одну ногу перед другой. Это называется шагом. Когда мы повторяем это действие, мы делаем несколько шагов. Пока все хорошо, правда?

Мы ходим, чтобы добраться из одного места в другое. Вы можете пройти от входной двери дома до двери автомобиля. Теперь представьте, что на этой прогулке вы должны спуститься по лестнице, по тротуару, по траве (в те короткие дни) и обойти переднюю часть автомобиля, чтобы добраться до двери со стороны водителя.

В этом вымышленном примере мы только что описали процесс перемещения из одного места в другое с помощью последовательности шагов. В этом суть кодирования.

Кодирование — это описание последовательности шагов или инструкций, сообщающих компьютеру, что делать.

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

Типа мощный не правда ли?

Но с большой силой приходит большая ответственность. Компьютеры невероятно буквальны и неумолимы. Они будут делать именно то, что вы им скажете, даже если вы испортите свои инструкции. Несмотря ни на что, компьютеры немедленно дадут нам обратную связь о том, как мы с ними общаемся.

Ладно, пока кодирование — это список инструкций, которые сообщают компьютеру, что делать. Это круто и все такое, но как сказать компьютеру, что делать?

Для этого мы должны сначала немного узнать о языке компьютеров.

Почему компьютерный код — это язык, который вы не хотите изучать

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

Компьютеры имеют свой собственный язык машинного кода. Чтобы понять их язык, я хочу, чтобы вы подумали о выключателе света. Здесь нет ничего необычного, просто выключатель, который зажигает свет при включении.

Свет может быть выключен или включен. Этот единственный бит информации подобен букве в компьютерном алфавите. Итак, что же представляют собой буквы в компьютерном алфавите? Ну, вы их уже знаете: ноль (0) и единица (1).

Посмотрите на значок кнопки питания на своем компьютере (извините, пользователи мобильных устройств, просто погуглите значок кнопки питания). Вы заметили, что значок представляет собой круг с вертикальной чертой, пересекающей его верхнюю часть? Это комбинация нуля и единицы. В следующий раз, когда вы будете смотреть на плату питания и задаваться вопросом, что включено, а что выключено, помните, что ноль означает выключено, а единица означает включено.

Вернемся к компьютерному языку.

Что такое кодирование в компьютере? (Двоичный)

Компьютер использует эти биты информации для представления своего языка, который называется двоичным. Это удобно, потому что двоичный код буквально означает нечто, состоящее из двух частей.

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

Если мы не говорим на языке компьютеров, то что такое язык кодирования?

Язык завораживает. Он существует для передачи понимания между двумя вещами. Когда два человека говорят на разных языках, им понадобится переводчик, чтобы прийти к общему пониманию.

Черт возьми, даже когда два человека говорят на одном языке, им может понадобиться посредник, чтобы помочь им общаться друг с другом. Это одновременно увлекательно и немного весело.

Как мы достигаем этого общего понимания с помощью компьютера?

Код как переводчик

Поскольку мы не говорим на двоичном языке, нам нужен переводчик, чтобы мы могли передать наши инструкции компьютеру. Кто этот посредник? Введите языки кодирования. Языки кодирования — это смесь немного английского (или вашего собственного языка) с небольшим количеством компьютерной грамматики.

Когда мы общаемся с помощью языка кодирования, то, что мы сообщаем, упаковывается или компилируется в форму, понятную компьютеру. Это, казалось бы, волшебная часть этого процесса. Оно работает.

Код — это форма письма, которую могут изучать, понимать и интерпретировать как компьютеры, так и люди.

Итак, на каких языках может говорить наш переводчик?

Типы языков кодирования (включая самые дружественные)

Быстрый поиск в Google подсказывает мне, что существует от 700 до более 2000 языков кодирования. Теперь, прежде чем вы пойдете и впадете в уныние из-за этих чудовищных чисел, найдите утешение в том, что вам нужно произнести только пару слов.

Пара? Это больше, чем один. Хм!

Да, но вы начнете с одного и расширитесь оттуда. Большинство языков говорят одно и то же по-разному, поэтому речь идет скорее об изучении типов грамматики, чем о изучении новых слов и словарного запаса.

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

HTML — язык гипертекстовой разметки

Слово «язык» даже фигурирует в его названии! К сожалению, HTML рассматривается как просто разметка. Так что же такое разметка? Если вы находитесь на компьютере (извините, пользователи мобильных устройств), вы можете щелкнуть правой кнопкой мыши и выбрать параметр «Просмотреть исходный код страницы». Благодаря этому вы заглянете в HTML.

Если это выглядит немного ошеломляющим, это нормально. Вам не нужно это понимать. Дело в том, что кодировщики использовали так называемые теги, чтобы сообщить вашему браузеру, как организовать страницу.

Тег — это слово или буква, зажатая между стрелками «меньше» и «больше» (‹, ›). Теги похожи на каркас дома.

Однако для украшения дома нам понадобится кое-что еще. Привет КСС!

CSS — каскадные таблицы стилей

Скриншот взят с сайта w3schools.com

CSS — домашний декоратор Интернета. Вместо того, чтобы украшать стены и комнаты, CSS стилизует шрифты, цвета, ссылки, заголовки и многое другое.

Как и HTML, он не классифицируется напрямую как язык, но все же сообщает компьютеру, что делать.

И CSS, и HTML довольно просты в изучении и работают рука об руку друг с другом.

Скриншот взят с сайта w3schools.org

Javascript

Javascript немного похож на добавление домашней автоматизации в ваш дом, например, включение света на закате или включение шланга в 8 утра. Javascript выполняет действия на веб-страницах и отвечает за управление видеоплеерами и анимацией для создания интерактивных дисплеев.

До сих пор все эти языки относились к той части Интернета, «что вы видите», веб-страницам, которые вы используете, когда находитесь на своем компьютере или мобильном устройстве.

Но даже до того, как ваш дом будет построен, ему нужны планы. Эти планы говорят строителям, как построить дом.

Скриншот взят с сайта guides.rubyonrails.org

Так какие же языки формируют эти планы?

Руби и Питон

Если HTML, CSS и Javascript контролируют то, что вы видите, то Ruby и Python контролируют то, чего вы не видите.

Самый простой способ понять это — подумать о данных. Всякий раз, когда вы регистрируетесь на веб-сайте, вы вводите некоторые из своих личных данных. Эти данные нужно где-то хранить, поэтому Ruby и Python помогают перемещать эту информацию в место ее хранения.

Здесь я упрощаю, но Ruby и Python немного похожи на британский английский и американский английский. По сути, они делают одно и то же с небольшими отличиями. Различия между Ruby и Python больше связаны с грамматикой, чем с написанием слов, но вы поняли идею.

Эти языки являются основой веб-приложений. Веб-приложения — это сложные приложения, созданные для определенных целей. Все, что он делает, встроено в базовый код веб-сайта.

Сочетание HTML, CSS, Javascript и Ruby или Python обеспечивает весь контент и функциональные возможности, с которыми вы сталкиваетесь при просмотре веб-страниц.

Эти языки требуют от вас написания текстового кода. Это может быть проблемой для новичков, поскольку компьютеры будут делать только то, что вы им скажете, и они не допустят орфографических или грамматических ошибок. Жестко, но это именно так.

Самый простой способ начать работу — использовать визуальный язык программирования.

Языки визуального программирования (самые дружественные)

Когда я впервые столкнулся с визуальными языками программирования пару лет назад, я был поражен.

Новичкам больше не нужно бороться с грамматикой при обучении программированию. Вы можете просто начать говорить это. Но как это работает?

Языки визуального программирования очень похожи на сборку блоков Lego для создания чего-либо. Каждый блок представляет собой часть кода, связанную с ним. Другими словами, код спрятан внутри блока.

Некоторые языки визуального программирования включают Scratch и Blockly. Это замечательные точки начального уровня, которые сразу же заставят вас творить.

Теперь, когда вы немного знакомы с языками программирования, давайте посмотрим, кто их использует.

Для чего используется кодирование: типы программистов и их суперспособности

Front-end разработчик (HTML, CSS, Javascript)

Front-end разработчики создают ту часть веб-сайта, которую пользователь может видеть и с которой может взаимодействовать. Другими словами, они строители и декораторы дома.

Для этого они используют языки разметки и сценариев.

Скриншот взят с сайта docs.djangoproject.com

Обычно фронтенд-разработчики берут проекты и переводят их в веб-страницы. Они позаботятся о том, чтобы веб-сайт был функциональным и простым в использовании. В обязанности фронтенд-разработчика также входит обеспечение быстрой загрузки страниц. Никто не хочет долго ждать, просто чтобы просмотреть контент.

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

Back-end разработчик (Ruby, Python)

Скриншот взят с сайта docs.swift.org

Архитекторы и планировщики являются бэкенд-разработчиками. Роль бэкэнд-разработчика заключается в создании функционирующих веб-приложений. Например, когда вы покупаете что-то в Интернете, эта транзакция приводит к множеству точек соприкосновения между различными третьими сторонами. Работа бэкенд-разработчика заключается в том, чтобы убедиться, что все коммуникации происходят безопасно и быстро.

Back-end разработчикам требуется хорошее знание структур данных и шаблонов для создания веб-приложений. Они больше озабочены базовой архитектурой приложения, чем тем, как все выглядит визуально.

Вы, вероятно, не начнете свой путь в качестве бэкенд-разработчика, но часто это логичная конечная точка. Вы разовьете понимание и уровень владения большинством типов ролей на своем пути кодирования.

Разработчик мобильных приложений (Swift, Java)

Разработчики мобильных приложений создают нативные приложения для мобильных устройств. Слово «родной» означает использование языка, на котором говорит устройство. Родными языками программирования для устройств iOS являются Swift и Objective-C. Устройства Android, с другой стороны, созданы с использованием Java, которую не следует путать с Javascript.

Всякий раз, когда приложение загружается из магазина устройства, оно, скорее всего, было создано с использованием родного языка устройства.

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

В чем разница между кодированием и программированием?

Вы, наверное, заметили, что я начал с языков программирования и закончил тем, что использовал термин языки программирования в предыдущем разделе. Я сделал это, потому что последний термин является предпочтительным, когда речь идет о языках. Но в чем разница между кодированием и программированием?

Честно говоря, термины взаимозаменяемы. Если бы вы хотели уточнить, вы могли бы утверждать, что кодеры просто создают код, а программисты создают программы или приложения.

Вы можете различить разницу?

Вычислительное мышление

Если вы перейдете на веб-сайт, чтобы пройти бесплатный курс кодирования, вы будете программировать.

Однако если вы используете свои навыки программирования и создаете игру или приложение, значит, вы что-то запрограммировали.

Создатель и потребитель

Вот как я бы различал их, но не тратьте на это слишком много умственных способностей.

Как обучение программированию повлияет на вашу жизнь

Автоматизация

Я не могу говорить за вас, но могу дать вам некоторое представление о том, как обучение программированию повлияло на мою жизнь.

Обучение кодированию дало мне необходимые навыки решения проблем, которые я могу использовать практически в любом контексте. Я могу использовать эти навыки на кухне, в отношениях (вы правильно прочитали) и при изучении нового навыка.

Карьерные перспективы

Кодирование требует, чтобы программисты разбивали большие проблемы на более мелкие фрагменты. Этот процесс называется декомпозицией и является частью вычислительного мышления. Для получения более подробной информации перейдите в эту публикацию.

Когда вы учитесь программировать, вы становитесь участником процесса создания. Вы больше не будете просто потребителем цифровых медиа и технологий. Вы стали частью процесса.

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

Когда вы уменьшаете масштаб, обучение программированию становится скорее способом мышления, чем просто действием. Как только вы проясните свое мышление, вы сможете лучше сформулировать это мышление. Если это станет кристально ясным, вы можете создать инструкции, которым могут следовать другие, и исключить себя из процесса. Это называется автоматизацией.

Автоматизация ваших процессов означает, что вы освободите драгоценное время. Автоматизация выходит за рамки кодирования посредством акта делегирования. Мы можем делегировать работу, которую в противном случае делали бы, другому человеку или компьютеру.

Источник: employment.gov.au

Наконец, если вы продолжите карьеру в области кодирования, вы обнаружите, что это стабильная область, пользующаяся высоким спросом. Если вы продолжите свои усилия по программированию, вы в конечном итоге получите несколько прибыльных ролей. Для некоторых это, возможно, самое важное влияние, но я бы назвал вычислительное мышление более важным.

Какими бы ни были ваши вкусовые предпочтения, программирование окажет положительное влияние на ваше мышление и стабильность. Конечно, рано соревноваться, но так же и с большинством профессий. Настойчивость и решительность помогут вам добиться успеха.

Как лучше всего научиться программировать?

Теперь, когда у вас есть ответ на вопрос, что такое кодирование, пришло время сделать следующий шаг в этой последовательности.

Вы узнали, что программирование — это просто указание компьютеру, что делать, с помощью языка программирования. Теперь пришло время выбрать свое собственное приключение, выбрав язык для начала изучения.

Если вы абсолютный новичок, начните с чего-то вроде Scratch. Перейдите на веб-сайт и следуйте некоторым из их руководств или ознакомьтесь с некоторыми из моих.

Если вы заинтересованы и знаете, какой тип кодирования вам нравится (интерфейсный, серверный, мобильный), выберите язык из этих вариантов. Это сформирует вашу основу, и когда вы решите изучать что-то более формальное, у вас будет импульс. Это чувство «о, я понял!»

Это надежда, удовлетворение, и это вы на пути к тому, чтобы стать кодером. Я имею в виду программиста. В любом случае самое интересное начинается сейчас.

Теперь займитесь кодированием!

Первоначально опубликовано на https://surfingscratcher.com 20 января 2020 г.