У кого-либо есть какие-либо рекомендации для того, чтобы начинаться в функциональном программировании? [закрытый]

На мой взгляд, лучший способ вообще запретить SQL-инъекцию в вашем PHP-приложении (или любом веб-приложении, если на то пошло) - это думать о архитектуре вашего приложения. Если единственный способ защитить от SQL-инъекции - не забудьте использовать специальный метод или функцию, которая делает The Right Thing каждый раз, когда вы разговариваете с базой данных, вы делаете это неправильно. Таким образом, это просто вопрос времени, пока вы не забудете правильно отформатировать свой запрос в какой-то момент вашего кода.

Принятие шаблона MVC и структуры, такой как CakePHP или CodeIgniter - это, вероятно, правильный путь: общие задачи, такие как создание безопасных запросов к базе данных, были решены и централизованно реализованы в таких рамках. Они помогают организовать ваше веб-приложение разумным образом и заставляют вас больше думать о загрузке и сохранении объектов, а не о безопасном построении отдельных SQL-запросов.

46
задан Jason Plank 3 August 2011 в 08:04
поделиться

17 ответов

Я рекомендую Haskell. Проверьте это другой ТАК вопрос: Начало работы с Haskell.

Причины в пользу Haskell:

  • С персональной точки зрения сначала: Я потратил значительную сумму своих ранних лет программирования, думая о разработке моего собственного языка программирования. (Например, я настоятельно рекомендую Прагматику Языка программирования учебника .), Когда я сначала встретился с Haskell, я понял, что это включило многие идеи, плюс которые я имел, намного больше, и все способами намного лучше, чем я, возможно, сделал меня.
  • Это - очень чистая реализация функциональных идеалов: ленивый (нестрогий) и (полиморфно) со статическим контролем типов. Никакие побочные эффекты!
  • Его система типов могла бы изменить Ваше представление систем типов. (Вывод типа Хиндли-Milner удивителен.)
  • Его альтернативное представление объектно-ориентированного программирования и полиморфизма является прекрасным.

Lisp является также хорошим выбором. Причины в пользу варианта Lisp:

  • Исторически первый язык функционального программирования (или первый огромный).
  • мировоззрение "все - список", является очень минималистским, простым, и красивым.

, Если Вы действительно выбираете вариант Lisp, я рекомендую Схема .

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

В заключение, я предлагаю, чтобы Вы выбрали язык, следующий совету Alan Perlis: "Язык, который не влияет на способ, которым Вы думаете о программировании, не стоит знать". Lisp и Haskell оба изменили мой мир. Я надеюсь, что, какой язык Вы выбираете, он изменяет Ваш мир.

49
ответ дан Community 7 November 2019 в 13:44
поделиться

Шепелявит единственные с регулярным синтаксисом в базовых и четко определенных стандартах (в случае CL и Схемы). Они восполняют поучительную поездку.

я рекомендую язык Common LISP.

существуют книги хорошего и свободного новичка по нему, проверяют "Успешный Lisp Lamkins" и "Практический язык Common LISP Seibel":

0
ответ дан Leslie P. Polzer 7 November 2019 в 13:44
поделиться

Я действительно нашел значение в вкус А Haskell. Это - доклад, сделанный Simon Peyton Jones. Это - действительно хороший обзор, и сначала посмотрите на язык, предназначенный для программистов неFP.

Часть 2 разговора и PDF слайдов . Камера никогда не показывает слайды, таким образом, PDF действительно помогает.

1
ответ дан Chris Connett 7 November 2019 в 13:44
поделиться

Я буду второй Реальный мир Haskell и добавлять: " Haskell: Ремесло Функционального программирования ".

1
ответ дан unclerojelio 7 November 2019 в 13:44
поделиться

Две замечательных книги:

"Структура и Интерпретация Компьютерных программ" (Abelson & Sussman) и "Понятия, Методы и Модели Программирования" (Peter Van Roy и Seif Haridi).

Оба покрытия намного больше, чем функциональное программирование только.

1
ответ дан blabla999 7 November 2019 в 13:44
поделиться

Я никоим образом не эксперт по этому, но лично я думаю, начиная со схемы, могла бы быть хорошая идея. Из того, что я знаю, схема является упрощенной версией LISP, думайте о нем как о LISP, но только с предметами первой необходимости. Я думаю, что синтаксис схемы чрезвычайно чист, необходимо закончить круглые скобки, но это действительно помогло мне войти в 'чувство' функционального программирования, не имея необходимость изучать рты функций языка.

2
ответ дан Mongoose 7 November 2019 в 13:44
поделиться

Я мог бы получить downvoted для него, но я говорю, идут для Ruby. Это - очень хороший и современный гибридный язык функционального OO, и это мягко представит Вас миру функционального программирования. Или любой другой язык с закрытиями и высокого уровня функциями (это должно быть или с динамическим контролем типов или с выводом типа, иначе действительно трудно написать функциональный код).

, После того как Вы довольны Ruby FP, или если Вы не хотите слушать мой лучший совет, попробуйте что-то как Схема. Это - изящный и нежный язык.

, Если Вы запускаете с языка Common LISP или Ocaml или Erlang или особенно Haskell, Вы будете, скорее всего, испуганы, и Вы будете чувствовать себя потерянными по разным причинам. Если Вы довольны Схемой, Вы могли бы хотеть попробовать их, но я был бы действительно совет против запуска с них. Немного людей идут далеко этим путем.

2
ответ дан taw 7 November 2019 в 13:44
поделиться

Я скачкообразно двигаюсь, Вы выбрали Erlang или Lisp. (Forth) Там, у Вас есть большинство mindbending языков, которые я знаю.

, Где я должен следовать за Erlang, Lisp и Forth, оставьте комментарий.

3
ответ дан 2 revs, 2 users 86% 7 November 2019 в 13:44
поделиться

Я запустил бы с Lisp (конкретно Схема), потому что это просто; это имеет очень простой Синтаксис и никакую статическую систему типов для волнения о.

Структура и Интерпретация Компьютерных программ не только представят Вас, чтобы Замыслить, но преподавать Вам все главные парадигмы программирования. Полный текст доступен в соответствии с лицензией Creative Commons.

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

4
ответ дан starblue 7 November 2019 в 13:44
поделиться

Я рекомендовал бы любой ML (Стандартный ML, или OCaml хороши), диалекты для языка.

Они имели огромное влияние на Haskell и являются несколько более нежным введением в FP, чем Haskell.

4
ответ дан user21714 7 November 2019 в 13:44
поделиться

Возможно, одна опция является к выпадающему всей интерактивной версией реальный мир Haskell ?

Это - хорошая книга для изучения Haskell, но возможно это, возможно, должно было бы быть соединено с более общей книгой по функциональному программированию.

7
ответ дан Magnus 7 November 2019 в 13:44
поделиться

Практический, язык Common LISP является фантастической электронной книгой, если Вы интересны в дайвинге в Lisp. Это очень отличается, чем много языков там, но я испытывал желание продвигать меня узнавать, что это было одно из самых полезных событий в моей карьере программирования. Ограниченный синтаксис делает для очень выразительного языка, который относительно легко выучить, но концептуально он займет время для переноса ума.

7
ответ дан HappyCodeMonkey 7 November 2019 в 13:44
поделиться

Я нахожусь в середина чтения еще одно Учебное руководство Haskell, и это - очень полезная и правильно написанная книга Haskell.

7
ответ дан vili 7 November 2019 в 13:44
поделиться

Очевидно, это зависит.

действительно ли Вы знакомы с C# и.Net платформой? Раз так это даст Вам, удар начинает использовать F#. Если у Вас есть Visual Studio, можно играть вокруг с F# также, таким образом, это - другая сглаженная кривая обучения.

Это также зависит, обращаетесь ли Вы просто к 'grok' функциональному программированию, чтобы расширить Ваши горизонты, или на самом деле использовать его некоторое время. Если Вы просто groking, то запустите где угодно, но если Вы намереваетесь использовать его, затем выбрать что-то, что совместимо с Вашей текущей платформой.

Мои 2 цента/пенсы

8
ответ дан Benjol 7 November 2019 в 13:44
поделиться

Одно из лучших учебных руководств для функционального программирования (друг дал мне) , Изучают Вас Haskell для Большой Пользы! . Это учебное руководство о Haskell, но основах, там очень хорош представленный в правильном порядке. Я нашел это очень ясным.

15
ответ дан The_Ghost 7 November 2019 в 13:44
поделиться

Я только что запустил после Структура и Интерпретация Компьютерных программ видео лекции, и я думаю, что они замечательны. Они принимают Схему, которая является вариантом LISP как язык программирования. Но это не точка курса: Это о целом понятии "вычислений" и его последствий.

27
ответ дан Federico A. Ramponi 7 November 2019 в 13:44
поделиться

"Как Разработать Программы": http://www.htdp.org/

Между прочим, каковы Ваши цели?

3
ответ дан grettke 7 November 2019 в 13:44
поделиться