Как Lisp сделать меня лучшим разработчиком С#?
Я рассматриваю возможность изучения диалекта Lisp (возможно, схемы, поскольку я постоянно слышу, насколько хорош язык обучения), чтобы улучшить мои навыки общего программирования.
Помимо того, что изучение любого нового языка помогает вам стать лучшим программистом в целом, как научиться Lisp сделать меня лучшим программистом на С#?
Ответы
Ответ 1
Я думаю, что лучшее, что вы можете получить от изучения функционального языка, начинает мыслить более декларативно, менее настойчиво. Это приведет к написанию более читаемого, поддерживаемого и настраиваемого кода.
Еще одна вещь, которую вы узнаете, когда идете по функциональности, - это важность чистых функций, т.е. функций без побочных эффектов.
И поскольку С# получает все больше функциональных и декларативных функций, таких как закрытие (aka lambdas) и LINQ, вы можете лучше понять программирование с этими конструкциями. У меня не было проблем с пониманием отложенного исполнения, самой распространенной ловушки LINQ, потому что я уже grokked Haskell, ленивый оцененный функциональный язык.
Ответ 2
Почему вопросы функционального программирования Джона Хьюза
http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html
Избиение средних значений Полом Грэмом
http://www.paulgraham.com/avg.html
Ответ 3
Джоэл написал эссе несколько лет назад о программистах, знающих ничего, кроме Java, и почему было бы неплохо узнать что-то вроде Схемы, Я думаю, что эти аргументы идут и на С#. Еще одна веская причина в том, что есть действительно хорошая книга о программировании, "Структура и интерпретация компьютерных программ" Абельсона и Суссмана, в которой используется схема и может дать вам много нового понимания различных концепций программирования.
Ответ 4
Вам следует изучить Lisp, чтобы вы могли понять силу metaprogramming. Если вы еще этого не сделали, вам следует научиться использовать Emacs и попробуйте написать Emacs Lisp. После этого попробуйте перейти к программированию Common Lisp с помощью SLIME.
Ответ 5
Во-первых, вы можете изучить рекурсию внутри и снаружи.
Ответ 6
Одной из веских причин для изучения схемы является то, что она часто используется в качестве педагогического языка. В результате есть много хороших (академических) книг и документов, доступных на языке Scheme в качестве целевого языка.
Google:
- еор
- SICP
- HTDP
- Маленький/Приправленный/Рассматриваемый Schemer
Ответ 7
Просто изучите его и возвращайтесь изумленно и расскажите нам об этом.