С момента появления самых первых компьютерных игр и программ прошло уже несколько десятков лет. На протяжении всего этого времени, каждый владелец ПК, как минимум раз в жизни задумывался о том, чтобы сделать какую-то свою уникальную игру, просто хотя бы ради опыта. Приблизительно до 2006 года, решить подобный вопрос самостоятельно было весьма сложно, но сейчас есть все необходимые для этого средства и ресурсы, которые позволят узнать пользователю самую актуальную и полезную информацию о том, как именно создавать и программировать игры и приложения. Сам процесс создания программы или игры состоит из нескольких этапов. Если не рассматривать какую-то коммерческую деятельность – то есть продажу вашего продукта, то выделить можно следующие этапы: проектирование, создание дизайна и непосредственно само программирование. Процесс проектирования включает в себя ответы на множество различных вопросов, в частности – в чем заключается идея программы. Для того чтобы приложение получилось, как минимум хорошим и понравилось самому разработчику, этому аспекту потребуется уделить не мало времени. Далее наступает второй этап – дизайн. Если программа должна обладать минимальным графическим интерфейсом, например, какой-нибудь календарь с заметками или своеобразный калькулятор, то, конечно, можно взять в свои руки и сделать графику самостоятельно с помощью Photoshop. Если это будет более сложное приложение или игра, тогда обойтись без помощи дизайнеров не получится. Почему дизайн находится на втором месте, до программирования? Конечно, основную логику можно описать заранее, но иногда бывает весьма сложно в дальнейшем перенести изображения в программный код без появления ошибок, багов, например, чтобы текстуры не перекрывали друг друга. Программирование, как можно догадаться, заключается в создании логики приложения. Основной интерфейс – есть дизайн и в нашей ситуации он уже готов. Чтобы все работало так, как требуется, нужно заранее описать поведение отдельно взятых объектов. Сделать это можно практически с любым языком программирования, благо, сегодня есть как более упрощенные варианты – объектно-ориентированные, так и сложные – функциональные. Сегодня большинство программ и приложений пишется именно на объектно-ориентированных языках программирования, так как это гораздо проще, быстрее и понятней. Функциональные ЯП обычно используются только при сложных расчетах, а в качестве написания игр или приложений используются крайне редко. Из первой разновидности языков наиболее яркими сегодня представителями являются: Java, C#, Python, Visual Basic. Самый яркий представитель функционального языка программирования, который используется и по сей день – C++.