Единственное, что я вижу, это точка с запятой.
CREATE TABLE PC (PC_ID TEXT, Vendor TEXT, Model TEXT, Price REAL, Notes TEXT);
Insert INTO PC (PC_ID, Vendor, Model, Price, Notes)
VALUES
('pc1', 'Dell', 'XPS 27 All-in-One', 2700,'Staff-pc'),
('pc2','Apple','Macbook Pro', 2800, 'Laptop-mac'),
('pc3','Apple','Macbook Pro', 2800,'Laptop-mac'),
('Pc4','Lenovo','IdeaCenter 730', 820, 'Staff-pc'),
('Pc5','Lenovo','IdeaCenter 730', 820, 'Staff-pc'),
('Pc6','Lenovo','IdeaCenter 730', 820, 'Staff-pc'),
('Pc7','Lenovo','IdeaCenter 730', 820, 'Staff-pc'),
('Pc8','XPS 1370','XPS 1370', 1200, 'Laptop-pc'),
('Pc9','XPS 1370','XPS 1370', 1200, 'Laptop-pc'),
('Pc10','XPS 1370','XPS 1370', 1200, 'Laptop-pc');
SELECT * FROM PC;
отлично работает для меня.
Языки функционального программирования как Clojure и Scala хороши для в значительной степени чего-либо. Что касается Haskell, опытный Haskell, программирующий, вероятно, смог бы заменить Haskell с любым языком для любой проблемы - Эффективный или нет. Я не знаю, существует ли язык функционального программирования, который можно было бы считать/best/из всех языков для этой определенной проблемы, но пребывать в уверенности, что это будет работать и очень хорошо в этом.
Кроме того, Clojure и Scala реализованы на JVM. Так технически они/are/на корпоративной платформе.
Что такое бизнес-правила, если не функционирует? Приложение правил может быть выражено как применение функции к ряду данных. Это может также быть объединено с полиморфизмом. например, через родовые функции (несколько диспетчеризируют, может быть удобным, также), и наследование.
Код является данными, данные являются кодом, и оба должны быть похожими на воду.
Вы могли бы хотеть проверить iTasks систему, которая является библиотекой для функционального Чистого языка и разработана точно для выражения рабочего процесса и бизнес-процессов.
Я принимаю, когда Вы говорите о большом количестве бизнес-правил, Вы думаете о разработке приложений. Разработка приложений в том смысле, что Вы хотите смоделировать реальный рабочий процесс. В отличие от ванильного программирования, разработка приложений включает более высокие уровни ответственности (особенно для получения требования и тестирования). Если так, я настоятельно рекомендую видеть, могли ли Вы применить управляемую доменом разработку. Естественным выбором для управляемой доменом разработки является объектно-ориентированный подход. Это и то, что много программистов достойно при ориентируемом на объект программировании, являются одной причиной ее популярности в разработке приложений. Однако это не означает, что реальный, проекты большого масштаба всегда пишутся, этот путь (прочитайте http://www.paulgraham.com/avg.html).
Больше чем год назад я копался немного в Haskell и также попробовал несколько вещей, которые я буду рассматривать как типичную бизнес-проблему (Грубо говоря, учитывая многие значения, каков корректный ответ?). Следовательно, я сказал бы, да, необходимо смочь смоделировать много бизнес-проблем с функциональным программированием.
Лично я не мог найти ту же очевидность в Haskell, к которому я могу продвинуть OO + функциональный подход как с C#, но это могло быть то, потому что я не сделал многого с Haskell и намного больше с C#.
Затем существует вещь, как общаться с клиентом. Мой опыт состоит в том, что многие из них думают в строго хронологических терминах, который вид императивного программирования пользы. Входя в модели изменений состояния и т.д. можно потерять нечетного клиента. Размышление вдоль композиций функций и монад, которые могут представить хронологические операции бизнеса, могло, вероятно, быть вне многих, многих клиентов.
Так или иначе можно найти мой бизнес-y пример здесь.
Из того, что я видел, Scala похож на него, обрабатывает нормальный Java очень хорошо. Следовательно, что-либо, что Java может обработать для бизнеса, Scala, могло также.
На стороне.NET F# является другим ярким примером функционального языка, который хорошо работает для "бизнес-" приложений. Для помещения его просто F# может сделать все, что C# может сделать, и больше, легче.
Но для обоих из этих языков, "программирование в большой" стороне имеет тенденцию одалживать у ООП. Не то, чтобы существует что-то не так со смешиванием вещей, но возможно это не то, что Вы спросили. Если Вы хотите придерживаться более функционального подхода и сказать, не используют объекты, Вы могли столкнуться с немного большим количеством стычки, потому что поддержка инструментов не будет на том же уровне. С языками, которые легко интегрируются с.NET/Java, это не столь большая проблема.
До "действительно ли это мудро?": Это зависит от проекта, компании и других факторов окружающей среды. Кажется, что общий "шаблон предприятия" то, что код должен быть чрезвычайно dumbed вниз так, чтобы любой мог работать над ним. В этом случае Вы могли бы вовлечь людей, которые будут думать, что использование лямбды делает слишком трудным для других понять.
Но разумно ли использовать функциональное программирование для типичного корпоративного приложения, где есть много бизнес-правил, но мало в сроки расчета?
Бизнес-правила - это просто вычисления, и вы часто можете выразить их более кратко и ясно, используя функциональное программирование.
Все большее количество корпоративных приложений написано на функциональных языках. Citrix XenDesktop и XenServer построены на стеке инструментов, написанном в основном на OCaml. Система поиска людей MyLife написана на OCaml. Мы небольшая компания, но все наше бизнес-программное обеспечение (например, транзакции по кредитным картам, учетные записи, веб-аналитика) написано на F #. В рекламе Microsoft на Bing используется код F #. Возможно, наиболее очевидным примером является использование последних версий C # и .NET, поскольку они почти наверняка используют функциональные концепции (например, делегаты).
Если вы имеете в виду более экзотические функциональные языки, такие как Clojure, Scala и Haskell, то я думаю, что некоторые люди их используют, но у меня нет подробностей.