Как писать компьютерные программы
сообщество редакторов, исследователей и специалистов
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 12 человек(а).
Количество просмотров этой статьи: 52 777.
По мере того как технология становится все более и более доступной широкой публике, растет и потребность в программистах. Написание компьютерных кодов и программ, оно же кодинг (от английского «сoding») — это навык, который приобретается и совершенствуется на протяжении долгого времени, но даже самый опытный программист когда-то был новичком. Существует большое разнообразие языков программирования, которые великолепно подходят для начинающих программистов, вне зависимости от того, в какой сфере деятельности вы хотите применять ваши навыки (например, JavaScript довольно сложен, так что лучше начать с HTML или CSS). Узнайте, как научиться писать компьютерные программы, прочитав эту статью.
Наш специалист делится своей историей:: «Я пришла к написанию кодов, не зная ничего ни о компьютерном дизайне, ни о программировании. Когда я захотела научиться писать программы, я начала с чтения книг по языку и с использования информации из интернета. Сегодня в мире доступно так много ресурсов, что научиться новым навыкам очень легко!»
Какие знания нужны, чтобы написать первую программу
Основы разработки от 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!’, нужно прописать в редакторе следующие строчки:
После этого сохранить файл в формате HTML и открыть. Он откроется в браузере — если все сделано верно, то появится окно с введенным текстом.
Циклы и массивы
Чтобы не повторять одну и ту же команду несколько десятков или сотен раз, используются циклы. Это конструкции, которые автоматически повторяют определенные наборы команд.
В JavaScript существует три основных вида циклов:
- while — выполняет команды, пока условие их выполнения не станет ложным;
- do-while — команды выполняются хотя бы один раз, даже если условие их выполнения ложно;
- for — начальное выражение выполняется один раз, а условия проверяются перед каждой итерацией цикла.
Массив — это набор ячеек для хранения данных одного типа.
Представьте себе супермаркет, при входе в который нужно сдавать сумки. Одна ячейка в камере хранения является переменной, в которую вы положите значение, равное своей сумке. А вот сама камера хранения — набор ячеек — является массивом. Проверим данный пример с точки зрения определения массива. Действительно, набор ячеек упорядочен (у каждой есть свой номер), и в них мы кладем данные одинакового типа (тип «сумка»).
Цитата из методички курса
Пройдя курс по основам программирования, создав свою первую программу и на практике осознав, насколько вам интересно это направление, можно определяться со специализацией. Разработка приложений для Windows, OS X, разработка мобильных платформ, веб-разработка — каждое из этих направлений требует знания разных языков программирования, о которых подробно рассказывается в одном из последних уроков курса. Таким образом, ваш выбор языка и технологии будет осознанным.
Разработка программ для Windows — по прежнему востребованная классика. Мобильная разработка сейчас на пике популярности, и многие программисты переходят туда, мотивируясь интересными задачами и высокой заработной платой. В любом случае, хорошие программисты нужны во всех направлениях. На сайте Geekbrains можно ознакомиться со средними зарплатами в отрасли и навыками, которые необходимы работодателям.
Это не полный набор информации, которая нужна для создания первой программы, но после прочтения этой статьи ориентироваться в курсе Geekbrains будет гораздо проще.
Источник статьи: http://vc.ru/promo/15227-geekbrains-first-program
kak.manesu.com
Бояться не надо
Как написать программу
Многие не без оснований считают, что для написания хорошего, а главное — нужного программного продукта необходимо лишь великолепное знание языка программирования. Сейчас я попробую разрушить этот миф.
Беру я в руки карандаш…
Да, для начала возьми из подставки/пенала/стола карандаш; лист бумаги тоже не помешает.
Теперь нужно решить, что твоя программа будет собой представлять и какими функциями она должна обладать. На этом этапе главное — предусмотреть как можно больше подводных камней и ошибок, которые могут появиться на твоем пути.
Если ты составляешь список функций, то главное для тебя — не простота реализации или ее возможность, а необходимость и используемость(!) каждой отдельно взятой функции и их совокупностей. Если сомневаешься — оставь, не стирай (вот почему карандаш, а не ручка), лучше на более позднем этапе проектирования отсеять невыполнимое, а с опытом — добавить в последующие версии.
Будет совсем хорошо, если уже сейчас ты нарисуешь эскиз внешнего вида программы. Будь внимателен и осторожен, так как подавляющее большинство пользователей, не искушенных в компьютерных премудростях, могут забраковать твое детище только потому, что главное окно перегружено кнопками, полями, менюшками. Второстепенные команды можно спрятать в меню, оставив на переднем плане несколько самых необходимых кнопок.
…им я линию веду
Карандаш, я думаю, ты еще не убрал в надежде на компьютер? Если нет — готовь новый лист бумаги, иначе — ищи по новой карандаш и опять же бери бумагу.
А вот теперь разберем по косточкам каждую придуманную тобой (или не тобой) фичу. Нет, код на бумаге можно целиком не писать, но изобразить блок-схему — обязательно. По ней сразу будет видно, как работает этот участок кода. Если возникают затруднения, не надо все бросать. Можно:
а) пойти к знакомому за советом;
б) найти ответ в Интернете;
в) обратиться к справке или учебнику.
Каждый из этих вариантов по-своему хорош, но будет лучше, если ты дойдешь до ответа на вопрос сам, даже если потребуется перерыть тонны печатного материала. Если ответ все же не был найден или его реализация — темный лес, оставь проблемный вопрос на потом. Внимание! Ни в коем случае не следует использовать непонятно как работающий алгоритм, потому как найти в нем ошибку практически невозможно.
При начертании структурных схем не следует забывать, что при написании собственно кода, то есть реализации только что нарисованного, может получиться слишком громоздкий монстр, поиск ошибок в котором просто нереален. Чтобы этого избежать, выдели одинаковые участки в отдельные прямоугольники и поименуй их. В коде ты их также реализуешь отдельно в виде процедур или функций.
Когда схема нарисована, отдельные моменты нужно прописать кодом, указав, что это такое.
Кодируем
Теперь переходим к следующему этапу — написанию собственно кода. Реализация программы средствами языка тоже имеет ряд аспектов, мимо которых не следует проходить. Главная ошибка, которую делают начинающие программисты — это неправильное именование функций, переменных, констант. Я тоже этим и от этого страдал, поэтому просто обязан предупредить других. Обычно в самом начале даешь переменным имена из одной буквы: a, b, c, и так далее. Согласитесь, когда переменных набирается много (а это происходит довольно быстро) становится просто нереально вспомнить, что такое «а», а что — «с». Поэтому в первую очередь давайте переменным и константам “говорящие” имена: например Version — содержит версию программы, а Index — хранит в себе какой-то номер.
Обратите внимание, что я написал имена переменных с большой буквы. Это было сделано специально для улучшения читабельности кода. Аналогично следует поступать с функциями и процедурами. А вот здесь краткость совсем ни к чему. Пусть название процедуры будет длинным, зато будет понятно, для чего она. Например, понятно, что функция WSAGetLastError возвращает последнюю ошибку. Следует также каждое слово при слитном написании начинать с заглавной буквы. Сравните с таким вариантом: wsagetlasterror.
Теперь мне следует сделать важное замечание. Все, что было мной изложено в этом разделе, можно безболезненно применять в среде Delphi. Такие языки, как С++, чувствительны к регистру, и если вы поступите так, как я советовал, компилятор выдаст ошибку.
Теперь о менее важном. Всегда делай в коде комментарии. Они помогут тебе вспомнить, что и где ты делал (или помогут понять ход твоих действий другому, если, например, ты работаешь в команде). В комментариях же следует делать для себя пометки типа или другие. Не следует бояться, что от комментариев размер конечного «экзешника» сильно вырастет, потому как многие компиляторы просто удаляют их из текста программы. И еще одно. Как я уже говорил, следует часто встречающиеся участки кода выделить в отдельные функции. От этого выиграют все: уменьшится “вес” программы, облегчится поиск ошибок и отладка. А когда в тексте программы наберется слишком много функций, их можно перенести в отдельную библиотеку (кто не понял — DLL). О преимуществах все уже сказано.
Юзабилити
И еще раз о внешнем виде. Поменьше оригинальничай. Запомни, что в M$ сидят совсем не дураки, как многие считают (каюсь, сам грешен), поэтому не надо на каждом шагу вставлять прозрачные окошки невозможных форм и такие же невозможные кнопки только потому, что ты это умеешь. Дизайн всей Windows тщательно продуман, поэтому не будем изобретать велосипед.
Заключение
Надеюсь, что данным трудом я хоть немного пролил свет на некоторые аспекты написания качественной программы. Хочу сказать, что главное в нашем деле — практика. Можно прочесть тысячи страниц текста, но без применения эти знания будут лежать мертвым грузом. Несколько ссылок: www.delphimaster.ru, www.delphikingdom.ru, www.torry.net (ОГРОМНАЯ база компонентов и модулей для Delphi), www.borland.com (если интересна работа с сетевыми функциями при помощи API).
Буду рад, если люди с кривыми руками смогут их выпрямить, следуя некоторым моим советам. Все они необходимы по-своему, проверено на себе. Удачи!
По материалам сайта Новый Мегабайт
Источник статьи: http://kak.manesu.com/kak-pishutsja-programmy-dlja-kompjutera-video/