|
![]() |
#1 |
Участник
|
Цитата:
![]() Цитата:
Сообщение от kashperuk
![]() Ну, чтобы Маззи хотя бы чуть-чуть успокоить (кстати, он правила нарушил, маты запрещены, насколько я помню - кто-нить из модераторов выпишите-ка ему предупреждение и read-only на 3 дня), ссылочка:
http://itc.ua/news/microsoft_budet_i...verlight_49615 ![]() |
|
![]() |
#2 |
Moderator
|
Цитата:
по поводу ссылки на книгу, увы теорию на английском языке читать не готов, тут на русском то некоторые вещи с первого раза не понять
Исходя из поставленных целей подобраны упражнения. Как правило это код, который, как правило, уже решен в стандартных библиотеках - поиск максимума в списке, объединение списков, поиск по дереву и так далее, но реализовав только реализовав все эти алгоритмы самостоятельно и рекурсивно я почувствовал себя достаточно уверенно, чтобы двигаться дальше. Цитата:
Скобочки не пугают, я тут Clojure(диалект Lisp'a) ковыряю
Цитата:
действительно они столь хороши и универсальны?
Гораздо важнее, на мой взгляд, что элементы декларативного программирования активно проникают в mainstream и это основной положительный выхлоп волны популярности декларативного программирования, которую мы наблюдаем последнее время. |
|
![]() |
#3 |
Модератор
|
|
|
![]() |
#4 |
Moderator
|
Не очень понял, чем вызвана улыбка. Вообще я говорил вот про это (на примере Haskell). Или ты имел в виду, что это очевидная вещь?
|
|
![]() |
#5 |
Участник
|
![]() Цитата:
F#, насколько я знаю, используется в финансовой сфере для всяких финансовых вычислений. Вот тут обсуждение на stackoverflow что там есть полезного. Например, возможность типизировать переменные единицами измерений - при попытке сложить квадратные метры и секунды будет ошибка компиляции. Для мена он интересен в качестве скриптового языка - там убрано много ненужных элементов (вплоть до фигурных скобок) - так что код получается коротким, но при этом там строгая статическая типизация - так что студия подсказывает, где ошибка. Так же F# - это такой же дотнет язык как и все - на нем можно написать сборку, использовать чужой код, он идет в комплекте с VS2010, так что если надо сделать сложный быстрый расчет, то можно его подключить к AX. Цитата:
Зато от этой ссылочки сильно заерзали на стульях те, кто вложился в SilverLight как в платформу для десктоп
![]() PS. Вообще, посты, которые не относятся к аксапте, я помечаю спецтегом Non-Axaptic. И вообще я ожидал, что предыдущий пост вызовет реакцию здесь а не этот. PPS. А PageRank я просто даже не озаботился ![]() |
|
![]() |
#6 |
Участник
|
Цитата:
![]() В том числе и по нему, мы отбираем ![]() |
|
![]() |
#7 |
Участник
|
Спасибо за ссылки, по-моему, очень занимательная презентация, заставляет о многом задуматься... К слову, качать вариант high, как оказалось, смысла не имеет: отличается от low он не качеством картинки, а тем, что слева рядом с записью презентации и примеров кода есть небольшое окошко, где показывают докладчика, как он ходит по сцене, жестикулирует, переключает кадры презентации, однако, из-за существенно рассинхронизации звука и видео (!) смотреть на него становится совсем не интересно.
Цитата:
Итак, тема доклада: Будущее F#: данные и сервисы у вас под рукой в строго типизированном виде (The Future of F#: Data and Services at your Finger Tips, Strongly Typed). Докладчик: Дон Сайм (Don Syme), некий высокопоставленный исследователь из Microsoft Research В самом начале докладчик делает многообещающее заявление, что, мол, то, чему посвящен доклад, представляется для него в определенном смысле более важным, чем дженерики в .NET, поддержка на уровне языка программирования асинхронных вычилений (asynchronous programming support), над которыми он работает, и даже в чем-то вжнее, чем F# в целом. Затем он выдвигает следующие утверждения:
Для примера приводится задача построения объектной модели для строго типизированной работы с химическими элементами. Оставив в стороне этап проектирования, внимание концентрируется на том, что помимо самой объектной модели понадобится также ее информационное наполнение: данные об элементах, их названиях, обозначении, атомной массе, валентности, etc. Затем заказчику может понадобиться информация об изотопах: их наличии и характеристиках; потом он может захотеть иметь информацию о том, кто открыл тот или иной химический элемент - и вам понадобиться спроектировать и реализовать классы для представления информации о соответствующих людях. И вот пока вы всем этим занимаетесь, приходит кто-то и говорит: в моем языке программирования уже есть готовые интегрированные источники данных для работы с химическими элементами, потому что я работаю с языком, где кроме строгой типизации также реализован легкий доступ к разнообразной информации - в отличие от ваших языков, где все приходится программировать "с нуля" в виде классов, их свойств, методов и т.д. А у меня, мол, все под рукой - большая часть накопленных человечеством знаний - в виде источников данных и готовых строго типизированных моделей для работы с ними (и в примере на самом деле подключается некий волшебный источник дынных, предоставляющий разнообразную строго типизированную информацию о химических элементах). За счет строгой типизации поддерживаются все возможности среды разработки: IntelliSence, строгая проверка на этапе компиляции, etc. До того, как вы запустите код на выполнение, компилятор может подсказать вам, что вы, к примеру, некорректно использовали обращение к тому или иному свойству объекта в LINQ-запросе, и вы поймете, что вам нужно скорректировать запрос, скажем, добавив дополнительную фильтрацию данных. Какие обобщения можно сделать на основе примера с химическими элементами? При работе в информационно насыщенной среде мы имеем дело с:
Волшебство предлагаемого решения в фундаментальном изменении подхода к языку, к архитектуре компилятора и к тому, как мы думаем о языках программирования. Вместо импортирования лишь .NET-сборок, в которых определено конечное относительно небольшое множество типов, мы можем подключить к компилятору механизм предоставления типов (включая проверку типов на этапе компиляции), который за счет т.н. type providers откроет для нас огромное множество типов из окружающего мира: данные веб-сервисов и веб-сайтов, из корпоративных информационных систем, с локальной машины и т.п. Эти type providers могут специализироваться как на работе с каким-то определенным источником данных, так и на работе с определенным типом данных. Таким образом, различные источники данных оказываются интегрированными в контекст разработки программ за счет использования архитектуры адаптеров (провайдеров), отображающих данные на типы языка программирования со строгой статической типизацией. Что вкратце обеспечивают Type Prividers:
PHP код:
В заключении в качестве примера приводится Windows Azure Marketplace: Data Market, где с одной стороны, могут быть представлены те, кто собирает и систематизирует данные, а с другой - те, кому нужные те или иные данные в структурированном виде, подходящем для автоматизированного использования. Часть данных здесь доступна бесплатно, а для определенных источников может потребоваться подписание соответствующего соглашения и использования определенных учетных данных (credentials) при доступе к источнику информации. В примере набросан код, получающий доступ к одному из источников данных, разбитых в первом приближении на следующие категории:
|
|
|
За это сообщение автора поблагодарили: mazzy (10), Андре (9), belugin (5), Lemming (5), S.Kuskov (5). |
![]() |
#8 |
Участник
|
Цитата:
Сообщение от gl00mie
![]() В заключении в качестве примера приводится Windows Azure Marketplace: Data Market, где с одной стороны, могут быть представлены те, кто собирает и систематизирует данные, а с другой - те, кому нужные те или иные данные в структурированном
|
|
Теги |
f#, type providers, функциональное программирование |
|
|