Я прочитал несколько интересных сравнений C # / F # здесь на stackoverflow. Итак, прежде всего, спасибо всем авторам!
F # очень хвалят, причины выбора C # немного сложнее найти. Во всяком случае, я до сих пор не уверен, какой из них выбрать для этого небольшого и простого «приложения реального мира»: имитация стебля сельди.
Я не знаю функционального программирования (пока), но с точки зрения ОО некоторые разработки кажутся простыми: создать класс Fish и извлечь из него следующие классы: Сельдь, Хищник, Добыча. У каждого должны быть такие свойства, как положение, направление и скорость.
Будет много проходов по коллекциям: каждый небольшой прирост времени каждый объект-рыба будет проверять свою среду и обновлять свои действия.
Я пока не знаю, будет ли это достаточно интенсивно загружать процессор, чтобы я позаботился о мультипроцессоре, но, может быть, поэтому F # там звучит хорошо.
Я уверен, что потрачу много времени на создание прототипов и изучение - я слышал, что F # хорош для этого.
Из того, что я прочитал, C # лучше для GUI, но этого не будет много. Было бы неплохо построить некоторые кривые, но я бы предпочел отправить большую часть результатов на открытый лист Excel или в базу данных. Не уверен, как C # и F # различаются в отношении Excel / баз данных.
Во всяком случае, этот проект просто кажется объектно-ориентированным - может ли C # быть лучше для этого проекта, несмотря на вышеупомянутые моменты в пользу F #? Или ??
Редактировать: Просто хотел сказать спасибо за все комментарии, очень полезные и интересные, надеюсь, это поможет кому-то еще. Одна из вещей, которые мне кажутся интересными, заключается в том, что, хотя F # является мультипарадигмой, все, похоже, предпочитают подход C # к ОО, несмотря на, например, это сравнение .
(Кстати, я собираюсь изучать F #.)