Как написать свой код для программы


Загрузить PDF


Загрузить PDF

По мере того как технология становится все более и более доступной широкой публике, растет и потребность в программистах. Написание компьютерных кодов и программ, оно же кодинг (от английского «сoding») — это навык, который приобретается и совершенствуется на протяжении долгого времени, но даже самый опытный программист когда-то был новичком. Существует большое разнообразие языков программирования, которые великолепно подходят для начинающих программистов, вне зависимости от того, в какой сфере деятельности вы хотите применять ваши навыки (например, JavaScript довольно сложен, так что лучше начать с HTML или CSS). Узнайте, как научиться писать компьютерные программы, прочитав эту статью.

  1. Изображение с названием Code Step 1

    1

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

    • Выбирая язык, сконцентрируйтесь на том, в каких целях вы хотите создавать программные коды, и уже потом выбирайте начальный язык. К примеру, если вы хотите заниматься разработкой веб-сайтов, то вам следует начать с изучения HTML5, а затем дополнить его языками CSS, JavaScript и PHP. Если вы хотите создавать компьютерные программы, то начните изучать C++ или любой другой основной язык программирования.
    • Если вы станете профессиональным программистом, то вы можете обнаружить, что никогда не используете язык, который вы изначально выучили, для своей работы. Вместо этого вы будете все время продолжать учить новые языки через документацию и эксперименты.
  2. Изображение с названием Code Step 2

    2

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

    • Вот только несколько популярных сайтов: Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools и многие другие.
    • На wikiHow тоже можно найти разнообразные инструкции для начинающих изучать языки программирования.
    • Вы можете найти обучающие видео практически для любого языка на YouTube.
    • Stack Exchange — это один из самых популярных форумов, на котором профессиональные программисты отвечают на любые вопросы пользователей.

    СОВЕТ СПЕЦИАЛИСТА

    Арчана Рамамурти — технический директор Workday (Северная Америка). Высококлассный специалист по продуктам, поборница безопасности, сторонница большего распространения интеграции на равных для всех условиях в индустрии технологий. Получила степень бакалавра в Университете SRM и магистра в Университете Дьюка. Работает в области продакт-менеджмента более восьми лет.

    Archana Ramamoorthy, MS

    Наш специалист делится своей историей:: «Я пришла к написанию кодов, не зная ничего ни о компьютерном дизайне, ни о программировании. Когда я захотела научиться писать программы, я начала с чтения книг по языку и с использования информации из интернета. Сегодня в мире доступно так много ресурсов, что научиться новым навыкам очень легко!»

  3. Изображение с названием Code Step 3

    3

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

    • К популярным программам относятся Notepad++ (Windows), TextWrangler (OS X) и JEdit (любая система).
  4. Изображение с названием Code Step 4

    4

    Скачайте любые необходимые компиляторы. Некоторые языки программирования требуют компилятор для отображения исходного кода, который вы написали. Компиляторы транслируют исходный код в эквивалентную программу на языке низкого уровня, которая затем обрабатывается компьютером. Многие компиляторы бесплатны и находятся в открытом доступе. Языки, которые требуют использования компиляторов, включают:

    • C;
    • C++;
    • C#;
    • Java;
    • BASIC;
    • Fortran.
  5. Изображение с названием Code Step 5

    5

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

  6. Изображение с названием Code Step 6

    6

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

    • Функцию комментирования можно использовать для того, чтобы быстро убрать часть кода из программы в целях тестирования. Поставьте теги как для комментария в начале и в конце кода, который вы хотите временно исключить из программы, а затем удалите эти теги, чтобы вернуть код.
  7. Изображение с названием Code Step 7

    7

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

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

    Реклама

  1. Изображение с названием Code Step 8

    1

    Запишитесь на курсы. Университеты, колледжи и интернет-программы предлагают программы и курсы, которые не только научат вас программированию, но и помогут вам найти работу. Хотя университетский диплом по специальности программиста не всегда нужен, он может помочь вам найти постоянную работу в качестве программиста.[2]

    • Неоспорима и польза от прямого общения с учителем или специалистом в области программирования, которое не всегда доступно через онлайн-курсы.
    • Обучение на программиста может обойтись вам довольно дорого, поэтому внимательно подумайте, стоит ли оно того. Если вы увлекаетесь написанием компьютерных программ только в качестве хобби, то вам не стоит тратить время и деньги на профессиональные курсы. Если же вы хотите построит карьеру в этой области, то получение профессионального образования может значительно вам в этом помочь (но, опять же, оно необязательно, если у вас есть талант).
  2. Изображение с названием Code Step 9

    2

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

    • Программирование, включающее физические расчеты и моделирование, требует хорошего понимания алгоритмов и моделей.
    • Логика — фундаментальная основа программирования, так что понимание логики и процессов поможет вам решать проблемы при написании кода.
    • Знание высшей математики чаще всего не требуется для программирования, однако его можно использовать для оптимизации и других преимуществ.
  3. Изображение с названием Code Step 10

    3

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

    • Java — один из самых популярных языков, и Java-разработчики всегда очень востребованы. Java используется в самых разных системах и имеет бесчисленное множество вариантов применения. На Java пишут приложения для Android — один из самых быстрорастущих рынков.
    • C++ очень рекомендуется, если вы хотите влиться в ряды разработчиков видеоигр. Если вы научитесь программировать на Unity (широко используемый и дешевый игровой движок) и UDK (код для популярного движка Unreal), это откроет перед вами некоторые двери, однако они не так полезны за пределами игровой индустрии.
    • Если вы хотите создавать приложения для iPhone, Xcode и Objective-C будут вашими первейшими инструментами. Вам понадобится компьютер Mac, посколько компилировать Xcode можно только на Mac.
    • Python — язык для написания серверного кода, один из наиболее легких в изучении. Python используется для таких интернет-сервисов, как Pinterest и Instagram, и он достаточно прост, чтобы изучить основы всего за несколько дней.
  4. Изображение с названием Code Step 11

    4

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

  5. Изображение с названием Code Step 12

    5

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

  6. Изображение с названием Code Step 13

    6

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

  7. Изображение с названием Code Step 14

    7

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

  8. Изображение с названием Code Step 15

    8

    Практикуйтесь, практикуйтесь и практикуйтесь. По некоторым оценкам, нужно заниматься программированием около 15 000 часов, прежде чем вас можно будет считать настооящим мастером.[3]
    Это означает годы постоянной практики. Вы по-настоящему овладеете мастерством программирования, только когда вложите много времени в практическую работу и станете знатоком своего дела..

    • Старайтесь заниматься программированием каждый день, даже в выходные. Программирование в свободное время может способствовать прорывам и возникновению новых идей.

    Реклама

Об этой статье

Эту страницу просматривали 91 019 раз.

Была ли эта статья полезной?

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

Функция main

Пожалуй, самая простая и короткая программа на C++ — это программа, которая ничего не делает. Она выглядит так:

int main() {
    return 0;
}

Здесь определяется функция с именем main, которая не принимает никаких аргументов (внутри круглых скобок ничего нет) и не выполняет никаких содержательных команд. В каждой программе на C++ должна быть ровно одна функция main — с неё начинается выполнение программы.

У функции указан тип возвращаемого значения int (целое число), и она возвращает 0 — в данном случае это сообщение для операционной системы, что программа выполнилась успешно. И наоборот, ненулевой код возврата означает, что при выполнении возникла ошибка (например, программа получила некорректные входные данные).

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

int main() {
}

Hello, world!

Соблюдая традиции, напишем простейшую программу на C++ — она выведет приветствие в консоль:

#include <iostream>

int main() {
    std::cout << "Hello, world!n";
    return 0;
}

Разберём её подробнее.

Директива #include <iostream> подключает стандартный библиотечный заголовочный файл для работы с потоками ввода-вывода (input-output streams). Для печати мы используем поток вывода std::cout, где cout расшифровывается как character output, то есть «символьный вывод».

В теле функции main мы передаём в std::cout строку Hello, world! с завершающим переводом строки n. В зависимости от операционной системы n будет преобразован в один или в два управляющих байта с кодами 0A или 0D 0A соответственно.

Инструкции внутри тела функции завершаются точками с запятой.

Компиляция из командной строки

Вы можете запустить эту программу из какой-нибудь IDE. Мы же покажем, как собрать её в консоли Linux с помощью компилятора clang++.

Пусть файл с программой называется hello.cpp. Запустим компилятор:

$ clang++ hello.cpp -o hello

В результате мы получим исполняемый файл с именем hello, который теперь можно просто запустить. Он напечатает на экране ожидаемую фразу:

$ ./hello
Hello, world!

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

$ clang++ hello.cpp && ./a.out
Hello, world!

С её помощью мы компилируем программу и в случае успеха компиляции сразу же запускаем.

Комментарии

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


int main() {  // однострочный комментарий продолжается до конца строки

/* Пример
   многострочного
   комментария */
}

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

Хорошо: комментировать, что делает библиотека, функция или класс или почему этот код написан именно так.

Плохо: комментировать, что происходит на отдельной строчке. Это признак того, что код можно написать лучше.

Библиотеки и заголовочные файлы

Библиотека — это код, который можно переиспользовать в разных программах. В стандарт языка C++ входит спецификация так называемой стандартной библиотеки, которая поставляется вместе с компилятором. Она содержит различные структуры данных (контейнеры), типовые алгоритмы, средства ввода-вывода и т. д. Конструкции из этой библиотеки предваряются префиксом std::, который обозначает пространство имён.

Чтобы воспользоваться теми или иными библиотечными конструкциями, в начале программы надо подключить нужные заголовочные файлы. Так, в программе, которая печатала Hello, world!, нам уже встречался заголовочный файл iostream и конструкция std::cout из стандартной библиотеки.

Для C++ существует также множество сторонних библиотек. Наиболее известной коллекцией сторонних библиотек для C++ является Boost.

Ошибки компиляции

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

Рассмотрим пример такой программы:

#include <iostream>

int main() {
    cout << "Hello, worldn"

Компилятор может выдать такие сообщения:

$ clang++ hello.cpp
hello.cpp:4:5: error: use of undeclared identifier 'cout'; did you mean 'std::cout'?
    cout << "Hello, world!n"
    ^~~~
    std::cout

hello.cpp:4:30: error: expected ';' after expression
    cout << "Hello, world!n"
                             ^
                             ;

hello.cpp:5:1: error: expected '}'
^
a.cpp:3:12: note: to match this '{'
int main() {
           ^
3 errors generated.

Первая ошибка — вместо std::cout мы написали cout. Вторая ошибка — не поставили точку запятой после "Hello, world!n". Наконец, третья – не закрыли фигурную скобку с телом функции.

Ошибки компиляции (compile errors) следует отличать от возможных ошибок времени выполнения (runtime errors), которые происходят после запуска программы и, как правило, зависят от входных данных, неизвестных во время компиляции.

Отступы и оформление кода

Фрагменты программы на C++ могут быть иерархически вложены друг в друга. На верхнем уровне находятся функции, внутри них написаны их тела, в теле могут быть составные операторы, и так далее.

Среди программистов есть соглашение — писать внутренние блоки кода с отступами вправо: компилятор полностью игнорирует эти отступы, а код читать удобнее. Мы будем использовать отступы в четыре пробела. Также мы будем придерживаться стиля оформления кода, принятого в Яндексе. Имена переменных мы будем писать с маленькой буквы, имена функций и классов — с большой (если речь не идёт о конструкциях стандартной библиотеки, где действуют другие соглашения).

Переменные

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

Type name;

где вместо Type — конкретный тип данных (например, строка или число), а вместо name — имя переменной. Имена переменных должны состоять из латинских букв, цифр и знаков подчёркивания и не должны начинаться с цифры. Также можно в одной строке определить несколько переменных одного типа:

Type name1 = value1, name2 = value2, name3 = value3;

Например:

#include <string>  // библиотека, в которой определён тип std::string

int main() {
    // Определяем переменную value целочисленного типа int
    int value;

    // Определяем переменные name и surname типа std::string (текстовая строка)
    std::string name, surname;
}

В этом примере мы используем встроенный в язык тип int (от слова integer — целое число) и поставляемый со стандартной библиотекой тип std::string. (Можно было бы использовать для строк встроенный тип с массивом символов, но это неудобно.)

Тип переменной должен быть известен компилятору во время компиляции.

От типа зависит:

  • сколько байтов памяти потребуется для хранения данных;
  • как интерпретировать эти байты;
  • какие операции с этой переменной возможны.

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

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

int main() {
    int value;
    value = 42;  // OK
    value = "Hello!";  // ошибка компиляции!
}

Переменные можно сразу проинициализировать значением. В С++ есть много разных способов инициализации. Нам пока будет достаточно способа, который называется copy initialization:

#include <string>

int main() {
    int value = 42;
    std::string title = "Bjarne Stroustrup";
}

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

Потоковый ввод и вывод

Поток — это абстракция для чтения и записи последовательности данных в форматированном виде.

Записывать данные можно на экран консоли, в файл, буфер в памяти или в строку. Считывать их можно с клавиатуры, из файла, из памяти. Причём с каждым таким «устройством» можно связать свой поток.

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

В программе Hello, world! нам уже встречался поток вывода std::cout, по умолчанию связанный с экраном консоли. Познакомимся с потоком ввода std::cin, связанным с клавиатурой. Для его использования нужен тот же заголовочный файл iostream.

Рассмотрим программу, которая спрашивает имя пользователя и печатает персональное приветствие:

#include <iostream>
#include <string>

int main() {
    std::string name;  // объявляем переменную name
    std::cout << "What is your name?n";
    std::cin >> name;  // считываем её значение с клавиатуры
    std::cout << "Hello, " << name << "!n";
}

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

В нашем примере в переменную name считается одно слово, которое будет выведено в ответном сообщении. Пример работы программы:

What is your name?
Alice
Hello, Alice!

Однако если ввести строку из нескольких слов с пробелами, то в name запишется только первое слово:

$ ./a.out
What is your name?
Alice Liddell
Hello, Alice!

Дело в том, что cin читает поток данных до ближайшего пробельного разделителя (пробела, табуляции, перевода строки или просто конца файла). Чтобы считать в строковую переменную всю строчку целиком (не включая завершающий символ перевода строки), нужно использовать функцию std::getline из заголовочного файла string:

#include <iostream>
#include <string>

int main() {
    std::string name;
    std::getline(std::cin, name);
    std::cout << "Hello, " << name << "!n";
}

В этом примере мы печатаем в одном выражении друг за другом несколько строк ("Hello, ", name и "!n"), разделённых угловыми скобками <<. Таким образом, cin и cout позволяют кратко считывать и печатать несколько объектов одной командой.

Например, считывание нескольких чисел целого типа, набранных через пробельные разделители, может выглядеть так:

int main() {
    int a;
    int b;
    int c;
    std::cin >> a >> b >> c;
}

Напечатать их значения можно следующим образом:

std::cout << a << " " << b << " " << c << "n";

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


Download Article


Download Article

As technology becomes more and more accessible, the need for programmers is always increasing. Coding is a skill learned and perfected over time, but everyone has to start somewhere. There are a variety of languages that are perfect for beginners regardless of the field that you’re interested in (ex. JavaScript, etc. JavaScript is quite advanced, so start with HTML or CSS). See Step 1 below to learn how.

  1. Image titled Code Step 1

    1

    Don’t worry too much about what language you pick. Many beginning coders struggle with what language to pick when they first start learning. (Because they don’t know where to start with their first code). The actual language that you start learning on doesn’t make a big difference when it comes to learning about data structures and logic. These are the skills that matter most, and they can be honed with any language.[1]

    • When picking a language, just focus on what kind of development you want to start with and pick an introductory language from there. For example, if you want to learn web development, start with HTML5, supplemented with CSS, JavaScript, and PHP. If you want to want to do desktop applications, start with C++ or another basic programming language.
    • If you make coding a career, you will find that you may never use the language that you first learned to code. Instead, you will be learning languages as you go through documentation and experimentation.
  2. Image titled Code Step 2

    2

    Find free resources online for the language you choose. The internet is a treasure trove of free tutorials, classes, and videos, all tailored towards the language of your choice. You can start getting a basic grasp of just about any introductory language in a day.

    • Popular sites include Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools, Code School and many more.
    • There are a variety of language-specific starter guides available right here on wikiHow.
    • You can find how-to guides for almost any programming scenario on YouTube.
    • Stack Exchange is one of the more popular Q&A sites for any programming questions you may have.

    EXPERT TIP

    Archana Ramamoorthy is the Chief Technology Officer, North America at Workday She is a product ninja, security advocate, and on a quest to enable more inclusion in the tech industry. Archana received her BS from SRM University and MS from Duke University and has been working in product management for over 8 years.

    Archana Ramamoorthy, MS

    Our Expert’s Story: «I came to coding with zero background in either computer design or programming. When I wanted to learn to code, I started by reading Java books and using online information. In today’s world, there are so many resources available, so it’s very easy to learn new skills!»

    Advertisement

  3. Image titled Code Step 3

    3

    Download a good text editor. Many programming languages allow you to use external text editors when you write your code. Find a text editor that will allow you to see indentations and code markup.

    • Popular programs include Notepad++ (Windows), TextWrangler (OS X), JEdit, or Visual Studio Code.
  4. Image titled Code Step 4

    4

    Download any necessary compilers. Some programming languages require a compiler in order to run the code that you create. Compilers translate the code you write into a lower-level language that the machine can process. Many compilers are open-source and free to use. Languages that require compilers include:

    • C
    • C++
    • C#
    • Java
    • BASIC
    • Fortran
  5. Image titled Code Step 5

    5

    Start your first project. Pick a good introductory project that will help you get your feet wet. There are a variety of suggestions and tutorials online, but some places to start are basic websites for HTML, basic database and form functions with PHP, or simple programs with any of the compiler languages.

  6. Image titled Code Step 6

    6

    Comment all of your code. All programming languages have a comment feature that allows you to enter text that is ignored by the compiler. This allows you to add comments to your code. These comments are crucial, both for letting others know how your code works and for reminding yourself what your code does.

    • You can also use the comment function to quickly remove code from your program for testing purposes. Put comment tags around the code you want to exclude and then remove the comment tags to return the code.
  7. Image titled Code Step 7

    7

    Pick apart other programs or web projects. When you’re learning as you go, don’t be ashamed to look things up and see how others have tackled the same tasks. Take time to understand why the code is doing what it does.

    • See this guide for details on how to view the source code of websites.
  8. Advertisement

  1. Image titled Code Step 8

    1

    Take classes. Community colleges, tech schools and online programs offer certifications and classes that will help you get a job as well as teaching you programming. An advanced degree like Computer Science is not always necessary, but could help to get a full time programming job.[2]

    • (A lot can be said for having one-on-one time with a teacher or programming expert, something that isn’t always available with online sources.)
    • Classes can get expensive, so weigh the benefits. If programming is just a hobby, classes may not be worth the time and money. If you want to turn programming into a career, classes can give you a big boost (but again, it’s far from necessary if you have the talent).
  2. Image titled Code Step 9

    2

    Expand your knowledge. Beyond simply learning programming languages, you will benefit a lot from logic and mathematics classes, as these are often required for advanced programming. You don’t necessarily need to learn this at school, but classroom settings can help.

    • Programming involving physics calculations and other simulations requires a strong understanding of algorithms and models.
    • Logic is the fundamental basis of programming, so understanding logic and processes will help you problem-solve when you are coding.
    • Knowing advanced math isn’t required for most programming, but the knowledge can lead to benefits and optimizations.
  3. Image titled Code Step 10

    3

    Learn more languages. Once you’ve got a good grasp on your initial language, you can start to branch out. Find another language that complements the one you know, or pick a language for a specific job that interests you. Complementary languages, such as HTML and CSS, are often the easiest to learn.

    • Java is one of the most popular languages, and there are often lots of opportunities for Java developers. Java can run on a huge variety of systems and has innumerable applications. Java is used for Android applications, one of the fastest growing markets.
    • C++ is highly recommended for developing video games. Learning how to code in Unity (a widely used, low-cost game engine) and UDK (the code for the popular Unreal engine) can help open some doors, though they aren’t as useful outside of the video game industry.
    • If you want to make iPhone apps, Xcode and Objective-C are going to be your primary tools. You’ll also need a Mac, since Xcode can only compile on a Mac.
    • Python is a server scripting language that is one of the easier languages to learn. Python is used for web services such as Pinterest and Instagram, and is simple enough to learn the basics in just a few days.
  4. Image titled Code Step 11

    4

    Be patient. You will often be faced with challenges while programming, especially when it comes to hunting for bugs or implementing a new idea. You’ll have to learn to be satisfied with achieving small results rather than solving a whole puzzle at once. Patience leads to more effective code, which will lead to better-performing programs and happier colleagues.

  5. Image titled Code Step 12

    5

    Learn to work with others. If you have multiple people working on a project, you get multiple viewpoints on how to go about it. Working on teams is virtually unavoidable in the business world, so unless you’re planning to develop everything independently, be prepared to work with others.

  6. Image titled Code Step 13

    6

    Get a job where you can practice your coding skills. Work as a volunteer designing websites or writing desktop applications. A part time job with a small company can lead to opportunities to write code for websites or simple applications.

  7. Image titled Code Step 14

    7

    Connect with other programmers. There are countless communities and gatherings of developers that can help support and inspire you. Look up local programming conventions, participate in a hack-a-thon or game jam (timed events with a common theme), and sign up on some programming forums to start expanding your exposure and network.

  8. Image titled Code Step 15

    8

    Practice, practice, practice. It is estimated that it takes about 15,000 hours before you can be considered an expert in computer programming.[3]
    This is years of applied practice. True mastery of programming will come only after you put the time in to practice and become proficient.

    • Try to spend time programming every day, even when you’re not working. Programming in your free time can lead to breakthroughs and new ideas.
  9. Advertisement

Add New Question

  • Question

    How do I make a website after I learn to code?

    Community Answer

    If you can write HTML, CSS, and Javascript, you can write a coded webpage using a code writer and then you can have your website validated and exported onto the web. There are quite a few websites to do this with online, so look around to find the best choice.

  • Question

    Can I use a moble phone to learn how to creat a code?

    Joshua

    Actually, yes you can. All you will need to make it possible is to have a mobile text editor.

  • Question

    I don’t know a lot about coding, but all of my friends do. I get embarrassed. There are no classes to take in my area, what should I do?

    Community Answer

    If all of your friends know how to code, you should ask them to teach you! There’s nothing to be embarrassed about, they all had to start somewhere too. If you really want to do it on your own, codecademy.com and code.org are pretty good resources for beginners.

See more answers

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Video

References

About This Article

Article SummaryX

To code, start by choosing a programming language that you want to learn, like HTML5 or C++, which are basic languages for beginners. Use free resources online, like video tutorials and blogs. Download a text editor like Notepad++, TextWrangler, or JEdit, and a compiler if necessary. In the text editor, start your first project and use online resources and other websites and apps for inspiration. For more experience, try taking an online class, or learning a different language. For tips on completing your first project, read on!

Did this summary help you?

Thanks to all authors for creating a page that has been read 392,803 times.

Reader Success Stories

  • Ah Zong

    «I am 14 years old. I always wanted to be a programmer. I searched on Google about programming all by myself and…» more

Is this article up to date?


Download Article


Download Article

As technology becomes more and more accessible, the need for programmers is always increasing. Coding is a skill learned and perfected over time, but everyone has to start somewhere. There are a variety of languages that are perfect for beginners regardless of the field that you’re interested in (ex. JavaScript, etc. JavaScript is quite advanced, so start with HTML or CSS). See Step 1 below to learn how.

  1. Image titled Code Step 1

    1

    Don’t worry too much about what language you pick. Many beginning coders struggle with what language to pick when they first start learning. (Because they don’t know where to start with their first code). The actual language that you start learning on doesn’t make a big difference when it comes to learning about data structures and logic. These are the skills that matter most, and they can be honed with any language.[1]

    • When picking a language, just focus on what kind of development you want to start with and pick an introductory language from there. For example, if you want to learn web development, start with HTML5, supplemented with CSS, JavaScript, and PHP. If you want to want to do desktop applications, start with C++ or another basic programming language.
    • If you make coding a career, you will find that you may never use the language that you first learned to code. Instead, you will be learning languages as you go through documentation and experimentation.
  2. Image titled Code Step 2

    2

    Find free resources online for the language you choose. The internet is a treasure trove of free tutorials, classes, and videos, all tailored towards the language of your choice. You can start getting a basic grasp of just about any introductory language in a day.

    • Popular sites include Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools, Code School and many more.
    • There are a variety of language-specific starter guides available right here on wikiHow.
    • You can find how-to guides for almost any programming scenario on YouTube.
    • Stack Exchange is one of the more popular Q&A sites for any programming questions you may have.

    EXPERT TIP

    Archana Ramamoorthy is the Chief Technology Officer, North America at Workday She is a product ninja, security advocate, and on a quest to enable more inclusion in the tech industry. Archana received her BS from SRM University and MS from Duke University and has been working in product management for over 8 years.

    Archana Ramamoorthy, MS

    Our Expert’s Story: «I came to coding with zero background in either computer design or programming. When I wanted to learn to code, I started by reading Java books and using online information. In today’s world, there are so many resources available, so it’s very easy to learn new skills!»

    Advertisement

  3. Image titled Code Step 3

    3

    Download a good text editor. Many programming languages allow you to use external text editors when you write your code. Find a text editor that will allow you to see indentations and code markup.

    • Popular programs include Notepad++ (Windows), TextWrangler (OS X), JEdit, or Visual Studio Code.
  4. Image titled Code Step 4

    4

    Download any necessary compilers. Some programming languages require a compiler in order to run the code that you create. Compilers translate the code you write into a lower-level language that the machine can process. Many compilers are open-source and free to use. Languages that require compilers include:

    • C
    • C++
    • C#
    • Java
    • BASIC
    • Fortran
  5. Image titled Code Step 5

    5

    Start your first project. Pick a good introductory project that will help you get your feet wet. There are a variety of suggestions and tutorials online, but some places to start are basic websites for HTML, basic database and form functions with PHP, or simple programs with any of the compiler languages.

  6. Image titled Code Step 6

    6

    Comment all of your code. All programming languages have a comment feature that allows you to enter text that is ignored by the compiler. This allows you to add comments to your code. These comments are crucial, both for letting others know how your code works and for reminding yourself what your code does.

    • You can also use the comment function to quickly remove code from your program for testing purposes. Put comment tags around the code you want to exclude and then remove the comment tags to return the code.
  7. Image titled Code Step 7

    7

    Pick apart other programs or web projects. When you’re learning as you go, don’t be ashamed to look things up and see how others have tackled the same tasks. Take time to understand why the code is doing what it does.

    • See this guide for details on how to view the source code of websites.
  8. Advertisement

  1. Image titled Code Step 8

    1

    Take classes. Community colleges, tech schools and online programs offer certifications and classes that will help you get a job as well as teaching you programming. An advanced degree like Computer Science is not always necessary, but could help to get a full time programming job.[2]

    • (A lot can be said for having one-on-one time with a teacher or programming expert, something that isn’t always available with online sources.)
    • Classes can get expensive, so weigh the benefits. If programming is just a hobby, classes may not be worth the time and money. If you want to turn programming into a career, classes can give you a big boost (but again, it’s far from necessary if you have the talent).
  2. Image titled Code Step 9

    2

    Expand your knowledge. Beyond simply learning programming languages, you will benefit a lot from logic and mathematics classes, as these are often required for advanced programming. You don’t necessarily need to learn this at school, but classroom settings can help.

    • Programming involving physics calculations and other simulations requires a strong understanding of algorithms and models.
    • Logic is the fundamental basis of programming, so understanding logic and processes will help you problem-solve when you are coding.
    • Knowing advanced math isn’t required for most programming, but the knowledge can lead to benefits and optimizations.
  3. Image titled Code Step 10

    3

    Learn more languages. Once you’ve got a good grasp on your initial language, you can start to branch out. Find another language that complements the one you know, or pick a language for a specific job that interests you. Complementary languages, such as HTML and CSS, are often the easiest to learn.

    • Java is one of the most popular languages, and there are often lots of opportunities for Java developers. Java can run on a huge variety of systems and has innumerable applications. Java is used for Android applications, one of the fastest growing markets.
    • C++ is highly recommended for developing video games. Learning how to code in Unity (a widely used, low-cost game engine) and UDK (the code for the popular Unreal engine) can help open some doors, though they aren’t as useful outside of the video game industry.
    • If you want to make iPhone apps, Xcode and Objective-C are going to be your primary tools. You’ll also need a Mac, since Xcode can only compile on a Mac.
    • Python is a server scripting language that is one of the easier languages to learn. Python is used for web services such as Pinterest and Instagram, and is simple enough to learn the basics in just a few days.
  4. Image titled Code Step 11

    4

    Be patient. You will often be faced with challenges while programming, especially when it comes to hunting for bugs or implementing a new idea. You’ll have to learn to be satisfied with achieving small results rather than solving a whole puzzle at once. Patience leads to more effective code, which will lead to better-performing programs and happier colleagues.

  5. Image titled Code Step 12

    5

    Learn to work with others. If you have multiple people working on a project, you get multiple viewpoints on how to go about it. Working on teams is virtually unavoidable in the business world, so unless you’re planning to develop everything independently, be prepared to work with others.

  6. Image titled Code Step 13

    6

    Get a job where you can practice your coding skills. Work as a volunteer designing websites or writing desktop applications. A part time job with a small company can lead to opportunities to write code for websites or simple applications.

  7. Image titled Code Step 14

    7

    Connect with other programmers. There are countless communities and gatherings of developers that can help support and inspire you. Look up local programming conventions, participate in a hack-a-thon or game jam (timed events with a common theme), and sign up on some programming forums to start expanding your exposure and network.

  8. Image titled Code Step 15

    8

    Practice, practice, practice. It is estimated that it takes about 15,000 hours before you can be considered an expert in computer programming.[3]
    This is years of applied practice. True mastery of programming will come only after you put the time in to practice and become proficient.

    • Try to spend time programming every day, even when you’re not working. Programming in your free time can lead to breakthroughs and new ideas.
  9. Advertisement

Add New Question

  • Question

    How do I make a website after I learn to code?

    Community Answer

    If you can write HTML, CSS, and Javascript, you can write a coded webpage using a code writer and then you can have your website validated and exported onto the web. There are quite a few websites to do this with online, so look around to find the best choice.

  • Question

    Can I use a moble phone to learn how to creat a code?

    Joshua

    Actually, yes you can. All you will need to make it possible is to have a mobile text editor.

  • Question

    I don’t know a lot about coding, but all of my friends do. I get embarrassed. There are no classes to take in my area, what should I do?

    Community Answer

    If all of your friends know how to code, you should ask them to teach you! There’s nothing to be embarrassed about, they all had to start somewhere too. If you really want to do it on your own, codecademy.com and code.org are pretty good resources for beginners.

See more answers

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Video

References

About This Article

Article SummaryX

To code, start by choosing a programming language that you want to learn, like HTML5 or C++, which are basic languages for beginners. Use free resources online, like video tutorials and blogs. Download a text editor like Notepad++, TextWrangler, or JEdit, and a compiler if necessary. In the text editor, start your first project and use online resources and other websites and apps for inspiration. For more experience, try taking an online class, or learning a different language. For tips on completing your first project, read on!

Did this summary help you?

Thanks to all authors for creating a page that has been read 392,803 times.

Reader Success Stories

  • Ah Zong

    «I am 14 years old. I always wanted to be a programmer. I searched on Google about programming all by myself and…» more

Is this article up to date?

5 октября, 2022 12:00 пп
266 views
| Комментариев нет

Development, Java

Java — это всем известный и очень продуманный язык программирования с широким спектром применения: его можно как изучать за школьной партой, так и использовать для запуска масштабных коммерческих приложений. Главное его преимущество – он кросс-платформенный: после создания программы на Java вы можете запускать ее в разных ОС, включая серверы (Linux/Unix), настольные (Windows, macOS, Linux) и мобильные ОС. (Андроид, iOS).

У Java высокая производительность, поскольку он выполняет скомпилированный (то есть машинно-оптимизированный) код. Для разработчиков это значит, что его исходный код нужно скомпилировать, прежде чем запустить. Если вы знакомы с PHP и Python, которые позволяют выполнять исходный код напрямую, то компиляция станет для вас новым шагом в процессе разработки.

В этом уроке мы создадим программу «Hello, World!». С неё традиционно начинается изучение Java. Такая простая программа дает возможность новому программисту почувствовать, что что-то да заработало. Создав «Hello, World», вы начнете изучать базовый синтаксис Java, а также процесс компиляции и выполнения программы. Когда мы закончим, вы сможете писать и запускать базовый код Java.

Требования

Для этого урока нам понадобится:

  • Установленная Java (версия 11 или выше). Для Ubuntu и Debian выполните шаги для Варианта 1 в нашем руководстве Как установить Java. Для других операционных систем, включая Mac и Windows, см. другие решения для установки Java.
  • Компилятор Java Development Kit (JDK). Чтобы скомпилировать исходный код, мы будем использовать компилятор по умолчанию, который называется javac. Вы можете скомпилировать свой исходный код либо на своем локальном компьютере, либо на удаленном сервере в облаке. 
    • (Необязательно) Среда выполнения Java (JRE), которая будет выполнять скомпилированный код. JRE является частью JDK, поэтому устанавливать ее дополнительно не нужно. Но можно установить JRE отдельно. Это полезно, если вы собираетесь запускать свой код на удаленном сервере, где его небезопасно компилировать. Вы можете загрузить и установить JRE через встроенный менеджер пакетов. Для Ubuntu и Debian используйте sudo apt install openjdk-11-jre. Для других дистрибутивов используйте соответствующие менеджеры пакетов, выполните поиск по ключевому слову jre и выберите версию 11 или выше.
  • Терминал для выполнения команд. Java хорошо поддерживается во всех основных ОС, а это значит, что вы можете следовать инструкциям на локальном компьютере и использовать терминал для подключения к удаленному серверу.
  • Текстовый редактор, например nano. Чтобы начать писать код Java, вы можете использовать любой текстовый редактор. Но для эффективного кодирования рассмотрите возможность использования интегрированной среды разработки (IDE), например Eclipse IDE. IDE исправляет ваш синтаксис, автоматически дополняет ваш код и позволяет вам напрямую тестировать код, избавляя от этапа ручной компиляции. Но IDE не всегда интуитивно понятны и могут запутать вас, если вы не пользовались ними раньше. Для первой Java-программы проще использовать привычный вам текстовый редактор.

Написание и выполнение программы «Hello, World!» на Java

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

Для начала создайте новый каталог hello-world, в который вы поместите свой код. Чтобы создать каталог проекта и перейти в него, выполните в терминале следующие команды:

mkdir hello-world
cd hello-world

В nano или в любом другом текстовом редакторе, создайте файл с Hello.java. Для nano используйте следующую команду:

nano Hello.java

Добавьте в файл код:

public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

Эта программа выдаст сообщение Hello, World! в консоли. Имя файла (в данном случае Hello с расширением .java) должно совпадать с именем public class в исходном коде, то есть Hello. Соответствие имени файла и public class в исходном коде является соглашением Java. (Об этом нужно помнить, потому что, если вы найдете какой-то полезный код, вы будете знать, как назвать файл исходного кода Java.)

Сохраните и закройте файл. В nano нажмите CTRL+X для выхода, Y для сохранения, и ENTER, чтобы подтвердить имя и закрыть файл. В терминале запустите javac из каталога, где находится файл Hello.java, чтобы код скомпилировался:

javac Hello.java

Команда javac скомпилирует исходный код Java с учетом имени файла.

Наконец, запустите программу с помощью java следующим образом:

java Hello

Чтобы выполнить скомпилированный код, вы должны запустить java, за которым следует название класса (в нашем примере это Hello). Нельзя использовать расширение файла, такое как .java или .class, при выполнении кода.

Итог будет выглядеть так:

Hello, World!

Ваша программа запущена! Мы создали базовую программу Java, скомпилировали и выполнили ее.

Работа программы «Hello, World!» 

Если вы привыкли писать код на Python или JavaScript, вы даже на примере простой программы увидите, что Java отличается. Любая программа на Java нуждается как минимум в двух вещах:

  • Класс кода.
  • Основной метод внутри класса.

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

В вашей программе это класс Hello:

public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

Первая строка кода обозначает начало класса. Классы всегда начинаются с ключа class, за которым следует их название. В данном случае имя класса — Hello, и оно совпадает с именем файла, расширение которого – .java. Затем в конце фрагмента кода есть открывающая фигурная скобка ({) и закрывающая фигурная скобка (}), внутри которых вы пишете код класса.

У класса есть модификатор доступа (он есть и у методов). В данном случае это public, а значит, наш класс полностью доступен.

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

В дополнение к классу у программы также есть метод main. Main — это начальная точка выполнения для класса, а в нашем руководстве — для всей программы. У него специфический синтаксис: public static void main(String[] args):

public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

public – это модификатор доступа, который указывает, что на вызов метода нет ограничений.

static — это специальное ключевое слово, обозначающее, что метод (как в данном случае) или свойство не требуют явного создания нового объекта, чтобы вы могли его вызвать. Это слово имеет широкое применение; в частности оно может разрешить ситуации типа “курица или яйцо?”, при возникновении которых один из фрагментов кода должен иметь возможность породить первый объект программы, при этом не будучи частью самого объекта. 

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

String[] args — это параметр или ввод для main метода. Строка символов хранит буквенно-цифровую информацию. Квадратные скобки ([]) указывают, что это массив строк, а не одна строка. Имя этого массива — args. В этом случае у main() нет аргументов, но если бы они были, они бы содержались в этом массиве.

Если вы пропустите какой-либо из основных атрибутов метода, например, public, вы можете не получить синтаксическую ошибку, но код не будет работать должным образом.

Чтобы вывести текст на консоль, используете метод System.out.println():

public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}

Метод дает компьютеру команду, и тот выполняет действие. Метод можно узнать по круглым скобкам, в которых он записывается: (). Сам метод называется println() и принимает один аргумент для отображаемого текста. System.out предшествует методу, чтобы указать, что он является частью основных функций Java (System) для вывода (out).

В этом случае мы используем метод из подпакета out, который является частью пакета System. Чтобы лучше понять, как организованы классы в Java, представьте, что иерархия классов подобна иерархии файловой системы – с родительскими папками и соответствующими зависимыми подпапками. В Java эти папки называются пакетами. Связанные классы помещаются в один пакет или подпакет в зависимости от степени детализации иерархии.

Аргументом System.out.println() является строка: «Hellom World!». Мы знаем, что это строка, потому что строки всегда заключаются в двойные кавычки. Для строк Java нельзя использовать одинарные кавычки, в отличии от других языков.

Одной из особенностей синтаксиса Java является то, что он требует ставить точку с запятой в конце каждого оператора, например, для вывода текста: System.out.println(“Hello, world!”);.

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

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

Компиляция и запуск программы «Hello, World!» 

Итак, давайте посмотрим, что происходит, когда вы компилируете и запускаете свою Java-программу. Для компиляции кода мы используем javac из JDK:

javac Hello.java

javac прочитает исходный код, проверит его на наличие синтаксических ошибок, оптимизирует и создаст файл по имени Hello.class. Файлы Java с расширением .class — это машинный код, который JRE может интерпретировать и запускать.

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

ls

Эта команда выводит список файлов в вашем текущем каталоге:

Hello.class  Hello.java

После того, как код скомпилирован, запустите его с помощью исполняемого файла java из JRE:

java Hello

JRE запускает только скомпилированный код и не может выполнять код из стандартного файла. Точно так же, если вы попытаетесь прочитать скомпилированный файл .class с помощью стандартного текстового редактора, вы не сможете это сделать. Однако с помощью таких инструментов, как Java Decompiler, вы можете читать скомпилированные файлы, что может быть полезно при отладке программ, исходного кода которых у вас нет.

С помощью этой команды вы указываете исполняемому файлу JRE java обработать класс с именем Hello, который находится в файле Hello.class.

Когда Hello, World! выводится на консоль, мы можем быть уверены, что:

  • у нас есть рабочая среда Java, в которой можно компилировать и выполнять код.
  • Java успешно нашла код класса Hello и может получить к нему доступ.
  • Поток выполнения начался с метода main(). Там был вызван метод System.out.println() со строковым аргументом Hello, World!.
  • Так как другого кода нет, программа успешно завершит работу.

Вызывая java, вы запускаете тип виртуальной машины Java virtual machine (JVM).

JVM хорошо изолирована и не зависит от внешней среды, библиотек или операционной системы хостинга. JVM ведет себя почти одинаково в разных ОС, что делает Java переносимой, понятной и безопасной. В этом и отличие от других языков, например PHP, где интерпретатор PHP использует множество собственных библиотек ОС.

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

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

Итоги

Поздравляем! Вы написали свою первую программу на Java.

Вы можете продолжить работу с кодом в файле Hello.java самостоятельно: к примеру, вы можете посмотреть, что произойдет, если вы измените текст или удалите точку с запятой и получите сообщение об ошибке. Обязательно компилируйте код (javac Hello.java) каждый раз, когда вы вносите изменения в файл Hello.java.

Tags: Eclipse IDE, IDE, Java, Java JRE, JDK, JRE

Это текст для тех, кто решил написать программу для людей — сервис, приложение или что-то подобное. То есть не просто «Хеллоу ворлд», а что-то полезное, функциональное и потенциально пользующееся спросом. Может быть, вы на этом даже планируете зарабатывать. Вот на что обратить внимание на старте: подводные камни, ошибки и нюансы. 

Нужно ли это писать?

Вот простой способ понять, нужно ли писать эту программу. Задайте себе вопрос: «Делают ли сейчас вручную то, что я хочу зашить в программу?»

В этом вопросе сразу два компонента: 

  1. Люди уже делают то, что будет улучшать ваша программа. То есть существует некоторый спрос на эту работу. 
  2. Люди делают это руками, а значит, они хотели бы это автоматизировать.

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

🤔 Например, вы придумали программу для ведения бюджета: туда нужно вводить данные о ваших покупках по категориям, а она бы складывала траты за месяц. Делают ли это люди? Вроде делают, но до поры. Обычно человек начинает вести бюджет, два месяца что-то пишет, а потом забрасывает, потому что денег от этого больше не становится. А еще есть приложения банков, которые сами считают статистику трат. Маловероятно, что очередной менеджер личного бюджета как-то изменит ситуацию. 

✅ А вот что люди часто делают руками, так это регулярно оплачивают разные счета: за связь, интернет и коммуналку. И многие не любят настраивать автоплатежи, чтобы никто не смог с них списать ничего лишнего. Еще они регулярно подают сведения по коммуналке. И наверняка есть еще какие-то дела, которые они делают раз в месяц, раз в квартал или раз в год. Можно было бы поставить себе напоминание в календарь, но его легко проглядеть и забыть. Вот бы была напоминалка, которая ходит за тобой, пока ты не сделаешь дело — был бы кайф. 

Полезное ядро

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

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

✅ Например, в приложении для напоминаний полезное ядро — само напоминание, которое вываливается в нужный момент. Потом, может быть, нужно дать напоминанию статус «Я это уже сделал в этом месяце» или «Напомни мне через…» и опцию повторного срабатывания через какое-то время. 

🤔 А вот интерфейс установки напоминания и инфраструктура для хранения напоминаний не так важны на первом этапе. 

💡 Часто такое же полезное ядро уже реализовал кто-то другой в виде бесплатной библиотеки. Это большая удача: взяли, изучили, допилили — быстро выпустили свой продукт. 

На каком языке?

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

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

Не подменяйте программирование поиском идеальной технологии. 

Составьте схему или план

Когда у вас появится функциональное ядро, прикиньте на листочке, как будет устроен проект целиком:

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

Задача — собрать в голове всю функциональную картину приложения. Это поможет избежать ситуации, когда половина кода уже написана, но вдруг выясняется, что данные нужно всё время синхронизировать с сервером и придётся переписывать логику.

Как начать писать программу и не пожалеть

Схема работы внутреннего чат-бота редакции на Python. На неё ушло 15 минут, и стало понятно, как именно нужно обрабатывать запросы от пользователей и что делать, если потребуется восстановить данные после сбоя

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

✅ Вместо этого можно использовать метод быстрых версий:

  1. Выбрать самое простое действие, которое можно сделать прямо сейчас. Например, вывести стартовую картинку или отправить на сервер строчку «Привет, это тестовый запрос!». Убедиться, что всё работает.
  2. Выбрать следующее действие, которое добавляем в проект, например отрисовку главной страницы или сохранение JSON-запроса в файл. Написать код и проверить, как всё работает.
  3. Если работает — перейти к следующему действию, если нет — исправить и потом всё равно перейти.

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

Всё, за дело

  1. Убедитесь, что это кому-то нужно (даже если это только вы).
  2. Возьмите тот язык, которым владеете (а не идеальный).
  3. Реализуйте центральный модуль (хотя бы базово).
  4. Нарисуйте схему работы всего остального (не держите в голове).
  5. Прописывайте мелкие действия и тут же тестируйте (а не пишите сразу всю кодовую базу за один раз).

Этого хватит, чтобы собрать личный проект. А там и до совместного недалеко, но совместный — это немного более сложная история. 

Корректор:

Екатерина Череповицына

Вёрстка:

Кирилл Климентьев

Понравилась статья? Поделить с друзьями:
  • Как написать свой кейлоггер на python
  • Как написать свой квест
  • Как написать свой калькулятор на python
  • Как написать свой калькулятор на java
  • Как написать свой итератор python