10 414

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

Основы разработки от 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 будет гораздо проще.

#партнерский #программирование #обучение #программисты #обучение_программированию #Geekbrains

{ "author_name": "Редакция vc.ru", "author_type": "self", "tags": ["\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b","\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","\u043f\u0430\u0440\u0442\u043d\u0435\u0440\u0441\u043a\u0438\u0439","\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435_\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e","\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435","geekbrains","advertising"], "comments": 19, "likes": 19, "favorites": 1, "is_advertisement": true, "subsite_label": "ad", "id": 15227, "is_wide": true }
{ "id": 15227, "author_id": 2, "diff_limit": 1000, "urls": {"diff":"\/comments\/15227\/get","add":"\/comments\/15227\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/15227"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199134 }

19 комментариев 19 комм.

Популярные

По порядку

Написать комментарий...
13

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

Ответить
4

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

Ответить
4

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

Ответить
1

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

Ответить
3

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

Ответить
0

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

Ответить
0

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

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

Ответить
1

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

Ответить
1

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

Ответить
0

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

Ответить
1

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

Ответить
1

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

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

Ответить
0

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

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

Ответить
1

.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

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0
Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Компания отказалась от email
в пользу общения при помощи мемов
Подписаться на push-уведомления