Сколько математики мне нужно, чтобы стать продуктивным в Хаскеле? - PullRequest
9 голосов
/ 20 ноября 2008

Я заинтересован в изучении Haskell в свое собственное время (не через курс), но я подозреваю, что моего математического фона может быть недостаточно для получения важных языковых понятий (TBD).

У меня был год исчисления в колледже (одна переменная), но не математика или логика.

Собираюсь ли я столкнуться с пробелами в моей математике?

Ответы [ 7 ]

11 голосов
/ 20 ноября 2008

Почему бы вам просто не попробовать и посмотреть?

Дизайн Haskell заимствован из математических идей в таких областях, как теория категорий (монады, стрелки, преобразователи), но большинство программистов на Haskell все равно понимают, что это такое в отношении программирования: -)

Вам не нужна какая-то особо продвинутая математика для изучения Хаскелла, кроме таких вещей, как способность думать о функции в математическом смысле (например, «карта f: X -> Y», а не как «подпрограмма») который выполняет некоторые действия), способность думать о функциях более высокого порядка (например, сказать, что «compose fg» - это функция, которая на входе x имеет значение f (g (x)) ») и так далее. Обозначения на Haskell действительно чистые, так что это тоже не должно быть проблемой.

5 голосов
/ 20 ноября 2008

С тобой все будет хорошо. Вода теплая. Прыгай!

5 голосов
/ 20 ноября 2008

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

Учитывая, что у вас был год исчисления, у вас все будет хорошо.

Хотя может быть неплохо иметь фон в лямбда-исчислении, для Хаскелла это не сложное требование.

3 голосов
/ 05 декабря 2008

Я учил себя на Хаскелле около восьми лет назад, имея только Бизнес-исчисление, я не думаю, что какая-либо математика требуется.

3 голосов
/ 20 ноября 2008

Math? Хм, нет Вам вообще не нужна математика (как в математике в обычном смысле слова алгебра, исчисление, геометрия), но вам нужен логический (логика == математика?) Мозг для программирования, как и на любом другом языке

2 голосов
/ 13 декабря 2008

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

2 голосов
/ 02 декабря 2008

Я считаю, что Haskell научит вас большому количеству логики, дискретной математике, так что изучайте Haskell, и вы тоже получите некоторые математические навыки:)

...