Конкурс инструкций
Промо

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

Основы разработки от Geekbrains

В мае образовательный проект Geekbrains начинает набор на бесплатный курс основ программирования. Ученики познакомятся с терминами и понятиями, основными направлениями программирования и получат инструкции для дальнейшего развития. На vc.ru — материал о том, что нужно, чтобы создать свою первую программу.

Материал подготовлен при поддержке Geekbrains.

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

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

Бесплатный курс Geekbrains «Основы программирования» нужен тем, кто хочет обучиться этой профессии и получить реальный опыт разработки, но не знает, с чего начать. Воспользовавшись материалами курса, мы составили краткий план того, как создать первую программу.

Что такое программа

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

Для тех, кому нужно найти самый дешевый отель, создали программу Booking. Если нужно написать заметку — Evernote, отредактировать фотографию — Photoshop. Для пользователя программа — это продукт, который должен решить его задачу.

Как это выглядит для компьютера

В обработке программы участвуют три компонента компьютера: процессор (ЦПУ), запоминающее устройство (HDD) и оперативная память (ОЗУ). Процессор обрабатывает и исполняет указанные инструкции, жесткий диск их хранит, а оперативная память служит буфером для процессора: отсюда берутся данные и команды, необходимые процессору для выполнения операций.

Простой пример: пользователю нужно открыть калькулятор и произвести математическую операцию. Пока программа еще не открыта, она хранится на жестком диске. Как только пользователь открывает программу, все инструкции и данные попадают в оперативную память. Процессор начинает выполнять операции, которые указывает пользователь. Во время работы все данные хранятся в оперативной памяти. Когда работа прекращается, программа выгружается из оперативной памяти и переходит «в спячку» на жесткий диск.

Постановка задачи

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

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

Что такое алгоритмы

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

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

Языки программирования

В курсе «Основы программирования» от Geekbrains используется язык программирования JavaScript. Во-первых, у него широкая область применения: JavaScript используют в веб-разработке, в разработке офисных и серверных приложений. Во-вторых, он универсален. Для работы с JavaScript не нужно устанавливать среду разработки, то есть систему для написания программного обеспечения — все операции проводятся в браузере.

Начать писать на JavaScript довольно просто. Нужно создать файл с расширением HTML (подойдет любой текстовый редактор, даже «Блокнот») и прописать в нем несколько строчек кода.

На Windows лучше всего использовать программу Notepad++. На OS X ее нет, но есть неплохие аналоги, например Sublime Text или TextMate. Чтобы вывести на экран всем знакомую надпись 'Hello, World!', нужно прописать в редакторе следующие строчки:

< script language="javascript" >

alert ('Hello, World!');

< / script >

После этого сохранить файл в формате HTML и открыть. Он откроется в браузере — если все сделано верно, то появится окно с введенным текстом.

Циклы и массивы

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

В JavaScript существует три основных вида циклов:

  • while — выполняет команды, пока условие их выполнения не станет ложным;
  • do-while — команды выполняются хотя бы один раз, даже если условие их выполнения ложно;
  • for — начальное выражение выполняется один раз, а условия проверяются перед каждой итерацией цикла.

Массив — это набор ячеек для хранения данных одного типа.

Представьте себе супермаркет, при входе в который нужно сдавать сумки. Одна ячейка в камере хранения является переменной, в которую вы положите значение, равное своей сумке. А вот сама камера хранения — набор ячеек — является массивом. Проверим данный пример с точки зрения определения массива. Действительно, набор ячеек упорядочен (у каждой есть свой номер), и в них мы кладем данные одинакового типа (тип «сумка»).

Цитата из методички курса

Пройдя курс по основам программирования, создав свою первую программу и на практике осознав, насколько вам интересно это направление, можно определяться со специализацией. Разработка приложений для Windows, OS X, разработка мобильных платформ, веб-разработка — каждое из этих направлений требует знания разных языков программирования, о которых подробно рассказывается в одном из последних уроков курса. Таким образом, ваш выбор языка и технологии будет осознанным.

Разработка программ для Windows — по прежнему востребованная классика. Мобильная разработка сейчас на пике популярности, и многие программисты переходят туда, мотивируясь интересными задачами и высокой заработной платой. В любом случае, хорошие программисты нужны во всех направлениях. На сайте Geekbrains можно ознакомиться со средними зарплатами в отрасли и навыками, которые необходимы работодателям.

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

Конкурс технических инструкций
0
19 комментариев
Популярные
По порядку
Написать комментарий...
Михаил Свиблов

От гикбрейнс ощущение как от бизнес молодости, почему то. И статья больше подходит для формата Пикабу, чем для цп, имхо.

Ответить
13
Развернуть ветку
Сергей Колодий

Вся правда про курсы рассказана тут - http://ebanoe.it/category/courses . И, кстати, про гикбрейнз там тоже есть.

Ответить
4
Развернуть ветку
Jevgenijs Metelovs

Прошли курс и вдруг как стали программистами :) Создали программу, продали за миллион и теперь курите в сторонке. Почему не кто не пишет про гемор, который постоянно присутствует в этом деле. Или почему не рассказать сколько г*кода нужно написать, для нормальной работы. А курсы да, это важно!

Ответить
4
Развернуть ветку
Сергей Иванов

Что плохого в том, что кто-то пройдёт бесплатный курс по программированию? Даже если человек не станет профессиональным разработчиком, то он хотя бы станет адекватным заказчиком. :)

Ответить
1
Развернуть ветку
Вадим Чиняев

Как раз самые страшные те, кто думают что разбираются - сожрут мозг.

Ответить
3
Развернуть ветку
Василий Петрович

Конечно) как же после этого Заказчика на *бать , объяснив что двухдневная работа стоит как запуск МКС в космос

Ответить
0
Развернуть ветку
Вадим Чиняев

Уважаемый вы когда в кино ходите и берете например вип кресло - это получается наи..ть со стороны кинотеатра или как? Или гипотетически - я засаживаю джуна что-то пилить он это делает за неделю, второй человек за 4 часаили до этого мы сделали модуль за 3 недели но его поставить сейчас - 10мин, сколько это будет стоить? Опять же кто мешает заказчику рассказать, что пока он в онлайне дуб - то не стоит лезть в инет, или стартовать лучше с максимально дешевых решений, набить шишку и приходить к нам - где дорого, но заточено все конкретно под его бизнес-процессы, что если его беспокоит цена за час - то можно и дешевле и результат он тоже может получить (а не парить мозг, про кач-во лучших мегаспецов и топ дизайнероф всия рунета), но только придется в это время заниматься не бизнесом, а поиском и руководством кадров, и ведением проекта, и сожрет это дело намного больше времени. Если мы говорим про обмануть - так вот обмануть это как раз писать https://geekbrains.ru/professions/python_developer что курс за 5 месяцов заменит нормальное айтишное образование и при этом давать еще гарантии

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

Ответить
0
Развернуть ветку
Пётр Лютый

"Войти-в-айти" или "наговнякай на js под бряузер и стань погромистом".

Ответить
1
Развернуть ветку
Алексей Горьков

Учить программированию на нетипизированных языках...

Ответить
1
Развернуть ветку
al

Справедливости ради, все-таки типизированных, но с динамической типизацией.

Ответить
0
Развернуть ветку
Юрий Рыбкин

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

Ответить
1
Развернуть ветку
Сергей Шмаков

Я вот курс по Python для SMM-щиков начал составлять.

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

Ответить
1
Развернуть ветку
Сергей Шмаков
Ответить
0
Развернуть ветку
Алекс Мухарский

#include <iostream>
#include <cstdlib> // для system
using namespace std;

int main()
{
cout << "Hello, world!" << endl;
system("pause");
return 0;
}

Ответить
0
Развернуть ветку
Dmitry Illum

.MODEL SMALL
.DATA
msg DB 'Hello World',13,10,'$'
.CODE
START:
mov ax, @DATA
mov ds, ax
mov ax, 0900h
lea dx, msg
int 21h
mov ax, 4C00h
int 21h
END START

Ответить
1
Развернуть ветку
Max Ozhegov

Пользуясь случаем оффтоп:
Подскажите годные курсы/самоучители по VBA(лучше без уклона в сторону MS Office)

Ответить
0
Развернуть ветку
циркумфлекс циркумфл

Пусть напишут игру на Lua в Löve2D.

Ответить
0
Развернуть ветку
Александр Новиков

На какой возраст ориентирована статья? На дошколят?

Ответить
0
Развернуть ветку
Sakari Sauso
Ответить
0
Развернуть ветку
Читать все 19 комментариев
Как слабоумие и отвага, доширак и донорство крови помогли нам сделать платформу для ИИ-роботов и поднять раунд 50 млн

Tomoru.ru — платформа для создания умных голосовых роботов для бизнеса. Мы начинали как AR/VR-студия, а теперь создаем цифровых помощников для СберМаркета, Skillbox и других клиентов. Бизнес может собрать себе робота сам или заказать готового у сертифицированных партнеров Tomoru.

Как выпустить заменитель соли на Boomstarter.ru и попасть в список Forbes

Сёстры из Астрахани запустили на Boomstarter.ru продажи нового продукта — зеленой соли. После этого их продукцию начали продавать в сетевых магазинах, а само бизнес-начинение журнал Forbes включил в список лучших стартапов.

«Купи сейчас, плати потом»: новая классика или мимолетная мода

Сервис рассрочек рассказывает о новом финтех-тренде.

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

Как я за 4 месяца привлек 379 заявок по 350 рублей на покупку мужских костюмов при среднем чеке 80 000 рублей

Мощные сервисы для быстрого машинного обучения: от GPU SuperCloud до суперкомпьютера

В последние три года мы видим рост спроса на технологии искусственного интеллекта (ИИ) и машинного обучения. Они проникли практически во все сферы нашей жизни, начиная от различных колл-центров и городских систем видеонаблюдения, заканчивая системами медицинского скрининга и диагностики заболеваний. Даже для оплаты проезда в столичной подземке…

Роскомнадзор потребовал от Tor удалить «запрещённую информацию» — в случае отказа сеть заблокируют Статьи редакции

«Запрещённые» данные находятся на странице, где рассказывается о проекте.

Новый дизайн «Секрета фирмы» учтёт пользовательские сценарии потребления и поиска контента

О трендах бизнеса и экономики можно прочесть коротко и ясно в удобных форматах

«Если клиенты видят халяльный логотип, это придаёт им уверенности в продукте»: как устроен исламский банкинг в Индонезии Статьи редакции

Местные финтех-стартапы могут развиваться только после одобрения представителей исламского духовенства. Какие сложности преодолевают предприниматели, чтобы создать приложение по законам шариата, — в пересказе Rest of World.

«Комитет» объявил о планах продать сервис коротких видео Coub Статьи редакции

Компания, владеющая vc.ru, dtf.ru и tjournal.ru, планирует в ближайшее время найти нового владельца для проекта, сообщил на своей странице в Facebook сооснователь «Комитета» Влад Цыплухин.

null