Я ищу новый собственный проект: я хотел бы написать планировщик курсов , который рассчитывает расписание курсов с оптимальным распределением курсов по комнатам и времени.Задача состоит в том, чтобы решить ограничения , например: нет дублирования в пространстве и времени, ни один преподаватель не преподает более одного курса одновременно, требования к функциям для определенного курса и т. Д.
IЯ с нетерпением жду написания двух или трехкомпонентной архитектуры:
- front end: веб-интерфейс (AJAX)
- что-то среднее для хранения и управления данными: база данных (?)
- серверная часть: планировщик курса
В основном, веб-интерфейсы принимают пользовательские запросы, например ввод данных, запрос курсапланировщик и планировщик курсов будут загружать набор курсов и ресурсов и пытаться определить оптимальное распределение курсов.
Почему я хочу использовать функциональный язык программирования?Потому что я думаю, что они лучше всего проверяют ограничения с очень небольшим количеством строк кода.
Поэтому мои вопросы таковы:
1) С учетом внешнего интерфейса, не так либыть проще в использовании Erlang или Haskell ?Я читал некоторые фрагменты блога об Эрланге против Хаскелла, но это не очень помогает.У кого-нибудь есть мнение относительно этого специального проекта?
2) Как вы думаете, полезно ли использовать базу данных для обмена данными в конце концов?Я боюсь отображения между ER и типами , используемыми в Erlang / Haskell.Существуют ли более совершенные способы хранения данных или мне будет намного проще по сравнению с парадигмами ORM, используемыми в объектно-ориентированном языке?