С моей точки зрения, язык, на котором вы собираетесь программировать, на самом деле не имеет большого значения: для простых задач использование языка - это скорее личное предпочтение, а не точная наука.Если вы любите / хотите изучать Python, используйте это.Если вы «чувствуете себя» как Пролог сегодня, используйте это.
Что будет иметь значение при вашем выборе, хотя это то, как вы хотите сохранить и представить свои данные.Из вашего вопроса можно сказать, что вам нужно следующее:
- База данных (или, по крайней мере, постоянный ресурс) для хранения доступных участников и ролей, прошлых и будущих собраний, где хранятся роли для каждогоучастник и способ планирования доступности.
- Какой-то способ представления ваших данных (командная строка, графический интерфейс или веб-сайт).
- Некоторая бизнес-логика, описывающая способ назначения ролей, критерии дляпосещаемость и прочее.
Для большинства из них вы захотите использовать сторонние компоненты, так как ваше время будет потрачено на добавленную стоимость вашего продукта;Создание блестящего инструментария ORM или GUI не ваша цель в этом.Поэтому язык программирования, который вы выберете, должен иметь надлежащую поддержку для этих элементов (особенно первых двух).Я не могу сказать это для Пролога, но Python позволит вам полностью охватить эти области.Я думаю, что это выходит за рамки этого вопроса, предлагая конкретные наборы инструментов, поэтому я оставлю это пока на этом.
После этого шага вы анализируете свою проблему, которую, кажется, уже достаточно хорошо сделали.,Итак, начните реализовывать это.Чтобы иметь возможность проверить ваши конкретные варианты использования, похоже, что вы могли бы извлечь выгоду из некоторого Test или Behavior Driven Design, так что вы можете прочитать об этом.
Для изучения языка просто найдите StackOverflow для "[language] tutorial ": уже есть множество ответов, связанных с очень хорошими ресурсами для начала работы с любым языком, который вы выберете.
Заключительный совет: упорство - самая трудная часть, поэтому постарайтесь поставить перед собой некоторые цели иливехи, или попытаться вовлечь других людей так или иначе.Таким образом, вы расширите возможности для создания хорошего программного обеспечения.