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

Подробнее об этом вы можете узнать, прочитав введение в программирование.

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

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

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

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

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