До недавнего времени знание XSLT было достаточно для моих простых, простых потребностей. Но более продвинутое требование присылало меня к справочному материалу, когда "просто пробовать вещи" не работало. На самом деле это было весело, начиная с самого начала. Я изначально узнал XSLT в середине крайнего давления, а 20/20 задним числом "работа" было явно более важным, чем "понимание".
Я с удивлением прочитал на странице 33 книгу Майкла Кэя, что XSLT имеет свои корни в Схеме. Википедия говорит,
Схема - один из двух основных диалектов языка программирования Lisp.
Возможно, я знаю (или скоро узнаю) больше о функциональном программировании, чем я думал. Поиск SO для сообщений, таких как Является ли XSLT функциональным языком программирования? и следуя его рабочим ссылкам, есть несколько мнений относительно того, является ли XSTL функциональным языком. Из статьи Какой язык функционального программирования я должен выбрать в качестве первого функционального языка программирования? У меня есть рекомендация узнать F # сначала, потому что я родом из .NET, и мне нравится полезные программы быстро.
Мой первый вопрос: если кто-то знает XSLT 2.0 очень хорошо, сколько из "реального" функционального языка программирования, такого как F #, Lisp или Haskell, уже знает ли человек, прежде чем изучать F #, Lisp или Haskell? В целях обсуждения предположим, что человек, который "отлично знает XSLT 2.0", изучает очень мало новых концепций, когда впервые читает "" Поваренная книга XSLT ". Вместо этого ее реакция на незнакомую информацию гласит:" Конечно, это хороший способ сделать это. Я должен был подумать об этом!"
Второй вопрос: есть ли части XSLT 2.0/XPATH 2.0, я должен убедиться, что я очень хорошо понимаю, чтобы облегчить обучение F #/ Lisp/Haskell?
В-третьих, существуют ли части XSLT, которые лучше всего игнорировать, если вы планируете в конечном итоге узнать F #/ Lisp/Haskell/и т.д.? То есть, есть ли у XSLT понятия, аналогичные GOTO, ALTER и ON ERROR RESUME NEXT, которые не подходят для "реальных" языков функционального программирования?
Краткие ответы хороши, потому что изучение функционального языка программирования - это незапланированный будущий проект для меня.
P.S. Несколько гиперссылок удалены из-за отсутствия репутации. Убирайся!; -)