Как начать писать программу и не пожалеть
Это текст для тех, кто решил написать программу для людей — сервис, приложение или что-то подобное. То есть не просто «Хеллоу ворлд», а что-то полезное, функциональное и потенциально пользующееся спросом. Может быть, вы на этом даже планируете зарабатывать. Вот на что обратить внимание на старте: подводные камни, ошибки и нюансы.
Нужно ли это писать?
Вот простой способ понять, нужно ли писать эту программу. Задайте себе вопрос: «Делают ли сейчас вручную то, что я хочу зашить в программу?»
В этом вопросе сразу два компонента:
- Люди уже делают то, что будет улучшать ваша программа. То есть существует некоторый спрос на эту работу.
- Люди делают это руками, а значит, они хотели бы это автоматизировать.
Распространенная ошибка — делать программу для того, что люди сейчас не делают в принципе.
Например, вы придумали программу для ведения бюджета: туда нужно вводить данные о ваших покупках по категориям, а она бы складывала траты за месяц. Делают ли это люди? Вроде делают, но до поры. Обычно человек начинает вести бюджет, два месяца что-то пишет, а потом забрасывает, потому что денег от этого больше не становится. А еще есть приложения банков, которые сами считают статистику трат. Маловероятно, что очередной менеджер личного бюджета как-то изменит ситуацию.
✅ А вот что люди часто делают руками, так это регулярно оплачивают разные счета: за связь, интернет и коммуналку. И многие не любят настраивать автоплатежи, чтобы никто не смог с них списать ничего лишнего. Еще они регулярно подают сведения по коммуналке. И наверняка есть еще какие-то дела, которые они делают раз в месяц, раз в квартал или раз в год. Можно было бы поставить себе напоминание в календарь, но его легко проглядеть и забыть. Вот бы была напоминалка, которая ходит за тобой, пока ты не сделаешь дело, — был бы кайф.
Полезное ядро
Как часто делают: в голове рождается задумка программы, автор садится её писать и начинает буквально с начала — с экрана логина, первого интерфейса, первого экрана, в общем, чего-то первого. Необязательно на этом экране будет происходить основная работа программы. Просто по задумке этот экран должны увидеть первым.
Как лучше: понять, что будет полезным ядром программы, и сначала убедиться, что вы можете его реализовать. Потом завернуть это ядро в модуль или функцию и уже поверх него написать интерфейс, окна, экраны и всё что угодно.
✅ Например, в приложении для напоминаний полезное ядро — само напоминание, которое вываливается в нужный момент. Потом, может быть, нужно дать напоминанию статус «Я это уже сделал в этом месяце» или «Напомни мне через. » и опцию повторного срабатывания через какое-то время.
А вот интерфейс установки напоминания и инфраструктура для хранения напоминаний не так важны на первом этапе.
Часто такое же полезное ядро уже реализовал кто-то другой в виде бесплатной библиотеки. Это большая удача: взяли, изучили, допилили — быстро выпустили свой продукт.
На каком языке?
Есть технологии и языки, которые совсем не подходят для вашей задачи: например, Python совсем не нужен для десктопных приложений. В остальном большинство популярных языков мало-мальски могут всё.
На старте обычно рекомендуют не гоняться за идеальным языком, а, наоборот, взять тот язык, которым вы уже владеете, и попробовать реализовать задумку на нём. И, если это точно не подходит, искать другие технологии.
Не подменяйте программирование поиском идеальной технологии.
Как написать программу на Python
В прошлой статье я рассказал как установить Python и среду разработки PyCharm. В этой статье поговорим о том, как написать программу на Python.
Что для этого нужно?
Для того, чтобы написать программу на любом языке программирования нужно знать, что мы хотим сделать.
Давайте для начала напишем самую простую программу, которая просто выводит сообщение в консоль. По традиции, этим сообщением является «Hello world!».
Функция print
Функция print() выводит сообщение в консоль. В скобках в качестве параметра передается сообщение и/или переменные.
1. Создаем файл с расширением .py
2. Пишем в нем строку
Если мы запустим этот файл двойным нажатием левой кнопкой мыши, то он быстро закроется, и мы не успеем разглядеть наше сообщение.
Для того, чтобы этого не происходило добавим функцию input()
Функция input
Функция input() предназначена для считывания данных с клавиатуры. В скобках передается сообщение, которое будет выведено в консоль.
Добавим в конце нашей программы input(«Нажмите enter для продолжения. «), и тогда наша программа не закроется. Код будет выглядеть так:
print(«Hello World!»)
input(«Нажмите enter для продолжения. «)
Я не буду писать программу, а запущу Python из командной строки, чтобы показать вам, что всё работает.
Заключение
1. Для того, чтобы написать программу на Python, нужно сформулировать, что мы хотим сделать (в нашем примере мы захотели вывести сообщение «hello world» в консоль)
2. Нужно знать синтаксис языка программирования Python (благо, он не такой сложный, в отличии от некоторых других языков программирования)
Чтобы изучать программирование на языке Python было проще, специально для вас я создал ютуб-канал «Русский питонист», на котором уже опубликовал плейлист по основам Python.
Язык программирования C++: разбираемся и пишем простую программу

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

«IT-специалист с нуля» — наш лучший курс для старта в IT
Кто создал C++

Билл Гейтс начал программировать в школьные годы, обучаясь в привилегированной школе. Марк Цукерберг в десять лет получил в подарок компьютер и начал изучать программирование. У автора языка C++ Бьерна Страуструпа старт не был блестящим. Его родители были бедны. Он учился в худшей школе города. Он не знал, в какой области развиваться. Страуструп как-то признался, что попал на курс информатики в университете по ошибке, перепутав его с математикой. Ошибка стала большим везением как для самого Бьерна, так и для множества программистов со всего мира. Нажмите кнопку «Run» — зеленую со стрелочкой слева вверху. В нижней части экрана увидите результат — сообщение «Hello, world!».
Работа с C++ на локальном компьютере
Устанавливаем и проверяем компилятор
Согласно опросу Jetbrains, самый популярный набор компиляторов для разных операционных систем — GCC с компилятором g++ для языка C++. Воспользуемся пакетом средств для разработки MSYS2, который включает GCC. Скачаем и запустим msys2-x86_64-20230718.exe:
Выбираем флажки для меню Пуск, и пакет устанавливается. Когда установка закончится, запустится консоль MSYS2.exe, если такой пункт был выбран. Можно запустить usrt_64.exe из папки указанного при установке каталога. Чтобы установить набор компиляторов GCC, наберем в консоли команду pacman -S mingw-w64-x86_64-gcc. Пакетный менеджер начнет устанавливать пакет компиляторов. Не забудьте ответить Y на запрос:
Желательно сразу установить отладчик. Для этого набираем в консоли MSYS2 команду pacman -S mingw-w64-x86_64-gdb и также отвечаем Y. Теперь в каталоге C:\msys64\ucrt64\bin есть файл компилятора g++.exe. Добавляем путь к нему в Переменные среды. В окне поиска в Windows вводим «изменение переменных среды» .
Изменяем переменную Path: добавляем путь C:\msys64\ucrt64\bin. Теперь мы сможем скомпилировать и запустить программу на C++. Создаем файл hello.cpp с текстом нашей программы из прошлого раздела в любом текстовом редакторе:
#include using namespace std; int main()

Помещаем его в папку C:\HELLO_CPP. Осталось скомпилировать. Открываем командную строку Windows. Для этого можно ввести текст «командная строка» в окне поиска в Windows. Переходим в нужную папку с помощью команды cd C:\HELLO_CPP и запускаем компиляцию g++ hello.cpp -o hello. В первом параметре указан файл с кодом, который надо скомпилировать. У нас получилось готовое приложение, можно его запускать. Набираем hello. Программа работает!
Выбираем среду для разработки на C++

Конечно, набирать весь код в обычном текстовом редакторе и вручную компилировать и запускать неудобно. Потребуется специальное ПО для разработки. Спор между сторонниками редакторов кода и IDE не разрешен. Использование редактора более соответствует философии C++, где все контролирует программист. Также встречается мнение, что редактор больше подходит для обучения, позволяет вникнуть в детали. В интернете много обзоров редакторов кода, например этот. В то же время, необходимость работы со множеством библиотек и фреймворков, работа в команде и многие другие причины побуждают использовать мощные IDE. Рейтинг для C++ можно посмотреть здесь.

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить
Настраиваем Visual Studio Code для C++
Как скачать и установить Visual Studio Code, рассказываем по ссылке. При установке выбирайте 64-битный System Installer. Теперь нужно настроить VS Code для работы с компилятором и отладчиком для C++, которые установили на предыдущем этапе. Сначала установите расширение для работы с C++. Нажмите на значок «Extensions» слева и в строке поиска плагинов наберите C++. Убедитесь, что плагин с описанием «C/C++ IntelliSense, debugging, and code browsing» установлен, или установите его, нажав «Install».
Закройте программу VS Code и запустите ее из командной строки командой code .. Убедитесь, что в текущей папке создан каталог с настройками .vscode. Теперь нужно создать каталог .vscode в папке C:\HELLO_CPP с исходным кодом, на котором проверяли компилятор. В каталоге создаем файлы настроек в формате JSON. Удобно использовать как редактор VS Code.
Файл tasks.json отвечает за то, чтобы работала комбинация клавиш Ctrl+shift+B для сборки программы. Убедитесь, что указан правильный путь к компилятору g++.exe, который установили с пакетом MSYS2:
< "version": "2.0.0", "tasks": [ < "type": "shell", "label": "g++.exe build active file", "command": "C:/msys64/mingw64/bin/g++.exe", "args": [ "-std=c++17", "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\msys64\\mingw64\\bin" >, "problemMatcher": [ "$gcc" ], "group": "build" >, < "type": "cppbuild", "label": "C/C++: g++.exe build active file", "command": "C:\\msys64\\mingw64\\bin\\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\msys64\\mingw64\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >, "detail": "Task generated by Debugger." > ] >
Файл launch.json отвечает за работу отладчика. Проверьте правильность пути к отладчику gdb.exe:
< "version": "0.2.0", "configurations": [ < "name": "g++.exe build and debug active file", "type": "cppdbg", "request": "launch", "program": "$\\$.exe", "args": [], "stopAtEntry": false, "cwd": "$", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe", "setupCommands": [ < "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true >], "preLaunchTask": "g++.exe build active file", "internalConsoleOptions": "neverOpen" > ] >
Файл c_cpp_properties.json отвечает за расположение include-файлов. Также проверьте правильность пути:
< "configurations": [ < "name": "Win32", "includePath": [ "$/**", "C:/msys64/mingw64/include/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "8.1", "compilerPath": "C:\\msys64\\mingw64\\bin\\g++.exe", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x86" > ], "version": 4 >
Пробуем запустить ранее созданный код из hello.cpp. Открываем файл. Разворачиваем список возле стрелки справа вверху и выбираем режим запуска без отладки — Run C/C++ File.
Теперь нажмем на стрелку, и программа выполнится. Выбираем режим отладки Debug C/C++ File, нажимаем на значок отладки слева, чтоб включить панель отладки, и запускаем снова. Отлично, отладчик тоже работает. 
Ресурсы для изучения C++
В интернете много ресурсов для самостоятельного изучения основ C++. Основы C++ от Академии Яндекса — на курсе рассматривают базовые конструкции, стандартную библиотеку и идиомы C++. По каждой теме есть разбор задач. В более подробном руководстве по языку C++ есть информация про основы синтаксиса, указатели, функции, работу со строками, алгоритмами и контейнерами.
- «Язык программирования C++»;
- «Дизайн и эволюция языка C++»;
- «Программирование. Принципы и практика использования C++»
Если после бесплатных курсов язык вам понравится, захочется программировать на нем, можно записаться на коммерческие курсы. Под руководством менторов и с понятным расписанием вы пройдете путь с нуля до специалиста по C++.
IT-специалист с нуля
Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.
Как написать простую программу
Вы приготовили свою первую программу и записали ее в (например)
program.c
Что дальше?
Компиллировать файл на предмет проверки ошибок:
gcc -c program.c
То же, с созданием исполняемого файла progr
gcc -o progr program.c
Если ваша программа требует использования математической библиотеки, добавьте
-lm
в конец командной строки.
Чтобы подключить объектные файлы, нужно их перечислить в командной строке:
gcc -o progr program.c file1.o file2.o . -lm
Таким же образом можно включить и дополнительные c-файлы.