![]() |
#1 |
Участник
|
axcoder: the future of F#
Источник: http://axcoder.blogspot.com/2010/11/future-of-f.html
============== The very interesting session from PDC10 related to the future of F# - Microsoft functional-object-imperative variance of OCAML. They are extending application with "type providers", which allow to extend static type system of F# with dynamically generated types withoun explicit code generation - by implementation of a very simple interface. I think it can be useful techique to implement business platforms such as LightSwitch (when it come to C#) - LightSwitch authors can just implement type provider for entities and do not generate very much intermediate code. PS. I think there is aplso enteresting how easy Don manipulates various data in F# interactive Источник: http://axcoder.blogspot.com/2010/11/future-of-f.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
![]() |
#2 |
Участник
|
![]()
Какая запись интересная прорвалась, интересно сколько участников данного форума видели в глаза код Ocaml, ну не заглядывая в вики? Я вот только что впервые увидел.
p.s. На всякий, в посте нет никаких претензий, просто улыбнуло ![]() |
|
![]() |
#3 |
Участник
|
а о чем там?
кто смотрел? и кто может пересказать на родном языке? |
|
![]() |
#4 |
Участник
|
![]()
Я честно говоря не смотрел, так как про F# ничего не знаю, но подозреваю что данный пост к аксапте толком отношения не имеет, не считая того, что автор, если я правильно понял, belugin. Я вот немного поглядываю на эти функциональные языки и видимо мозг сильно испорчен прикладным программированием
![]() |
|
![]() |
#5 |
Moderator
|
На самом деле, сложны не столько языки, сколько теория, лежащая в основе декларативного программирования. Если кто-то решит разобраться - рекомендую htpd, с которой сам начинал когда-то. Да, это scheme, но после изучения основ будет проще перейти на любой другой язык программирования, если вас пугает большое количество скобочек
![]() По поводу практического применения в Аксапте, я последнее время часто использую их для того, чтобы автоматически порождать однотипный код X++, когда надоедает писать его ручками. Начиная от простейших find(), exist() и заканчивая FSM, которые я использую для разбора формул с самописном модуле отчетности или при анализе импортируемых текстовых файлов. |
|
|
За это сообщение автора поблагодарили: Lemming (5). |
![]() |
#6 |
Участник
|
Цитата:
Сообщение от Blog bot
![]() Источник: http://axcoder.blogspot.com/2010/11/future-of-f.html
============== The very interesting session from PDC10 related to the future of F# - Microsoft functional-object-imperative variance of OCAML. во-первых, заставили закачивать "последнюю версию" (хотя у меня самая последняя) и это все чтобы увидеть ссылку и скачать файл. у кого-нибудь есть нормальная человеческая ссылка на видео в высоком разрешении? |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от Blog bot
![]() Источник: http://axcoder.blogspot.com/2010/11/future-of-f.html
============== The very interesting session from PDC10 related to the future of F# - Microsoft functional-object-imperative variance of OCAML. как они собираются продвигать свои технологии и свой гребанный силверлайт, если даже партнеру со всем установленным майкрософотвским требуется полчаса чтобы просто ссылку получить на видео. Кто ж посмотрит это видео... нормальная ссылка: http://videoaz.microsoftpdc.com/vod/.../FT12_High.wmv http://videoaz.microsoftpdc.com/vod/...s/FT12_Low.wmv |
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от Blog bot
![]() Источник: http://axcoder.blogspot.com/2010/11/future-of-f.html
============== The very interesting session from PDC10 related to the future of F# - Microsoft functional-object-imperative variance of OCAML. Я то все думал, почему автор не дал название видео в ссылке - ведь это повысило бы PageRank страницы с видео. Оказывается, на этой странице НЕЛЬЗЯ выделить и скопировать текст. следовательно нельзя быстро обратиться к поисковикам, нельзя воспользоваться кучей сервисов, которые работают по выделенному тексту на странице... Даже просто скопировать название себе в блог - и то нельзя. в общем, я потратил на это видео около часа, но так и не посмотрел его. посмотрел только 10минутную (!) заставку с музыкой. мудаки. слов нет. для все еще желающих поискать вокруг этого видео - вот введенное руками название "The Future of F#: Data and Services at your Finger Tips" а я - пас. |
|
![]() |
#9 |
NavAx
|
Мне ввобще непонятно, как на сайтах M$ можно что то найти. Самый отвратный принцип построения сайтов у них. Как они вообще хотят с кем то конкурировать в области веб, если не умеют делать сайты. Даже сам Бил Гейтс как то высказал свое фи по этому поводу.
|
|
![]() |
#10 |
Moderator
|
Кстати раз уж народ массово жалуется на сайты микрософтовские, не могу не отметить что после того как community.dynamics.com переехал на новое ядро (и типа стал Web 2.0) я нечаянно лишился прав доступа туда. Попытался ответить на какой-то вопрос, система не дала (попросила слогироваться). Я ничего не подозревая разлогировался и попытался снова слогироваться. В итоге - теперь при любой попытке доступа - система предлогает мне зарегистрироваться и естественно говорит что имя Denis Fedotenko уже занято. Не смотря на всяческие чистки кук и временных файлов, вывести ее из этого состояния не удалось. Создается ощущение что микрософт как-то очень крепко поломал свой passport.net (Который, к слову сказать, проектировал тот же Hal Howard, который счас рулит разработкой Dynamics ERP
![]() В итоге - с работы мне на этот сайт просто не войти... Из дома все-таки удается читать эту community. Интерфейс-ужасен. Слева треть экрана занята списком форумов по разным продуктам (наверное процентов 80 пользователей работает с одним или двумя продуктами, непонятно зачем под это треть экрана отвели). Справа - треть экрана занята ссылками на customersource/partnersource и копией некоторых (непонятно по какому принципу отобранных) тем из дискуссии. Внизу помещена фотография микрософтовского телесейла, который безнадежно ждет что после посещения данного сайта кто-то ему позвонит с вопросами. Наверху присутствует огромное поле "Ask Community", которое позволяет ОСУЩЕСТВЛЯТЬ ПОИСК по форуму. В прошлой версии форума (это в которой интерфейс был не такой кривой) такой возможности не было... (Был только поиск по ВСЕМ форумам, неважно - GP/NAV/AX/SL. Это ведь теперь MS Dynamics, а не отдельные продукты ![]() Говоря о контенте, хочу заметить о том что форум фактически не модерируется. Ну то есть - я думаю что если там попробовать развести дискуссию на какие-нить политические темы - их отмодерируют. Но вот если спросить чего-нить типа "Как мне добавить поставщика в ledgerTrans", никто не напишет о том что сама постановка задачи странненькая. Наоборот - почти точно кто-нить предложит переопределить метод insert() в vendTrans или какую-нить подобную фигню. Да - забыл сказать, что существенную часть контента составляет ретрансляция блоггеров-флюродроссеров, которые в свою очередь пересказывают своими словами маркетинговую лабуду с сайта самого микрософта или его партнеров... Вот такой вот Web 2.0 |
|
![]() |
#11 |
Участник
|
Ну, чтобы Маззи хотя бы чуть-чуть успокоить (кстати, он правила нарушил, маты запрещены, насколько я помню - кто-нить из модераторов выпишите-ка ему предупреждение и read-only на 3 дня), ссылочка:
http://itc.ua/news/microsoft_budet_i...verlight_49615 |
|
![]() |
#12 |
Участник
|
Цитата:
![]() Цитата:
Сообщение от kashperuk
![]() Ну, чтобы Маззи хотя бы чуть-чуть успокоить (кстати, он правила нарушил, маты запрещены, насколько я помню - кто-нить из модераторов выпишите-ка ему предупреждение и read-only на 3 дня), ссылочка:
http://itc.ua/news/microsoft_budet_i...verlight_49615 ![]() |
|
![]() |
#13 |
Moderator
|
Цитата:
по поводу ссылки на книгу, увы теорию на английском языке читать не готов, тут на русском то некоторые вещи с первого раза не понять
Исходя из поставленных целей подобраны упражнения. Как правило это код, который, как правило, уже решен в стандартных библиотеках - поиск максимума в списке, объединение списков, поиск по дереву и так далее, но реализовав только реализовав все эти алгоритмы самостоятельно и рекурсивно я почувствовал себя достаточно уверенно, чтобы двигаться дальше. Цитата:
Скобочки не пугают, я тут Clojure(диалект Lisp'a) ковыряю
Цитата:
действительно они столь хороши и универсальны?
Гораздо важнее, на мой взгляд, что элементы декларативного программирования активно проникают в mainstream и это основной положительный выхлоп волны популярности декларативного программирования, которую мы наблюдаем последнее время. |
|
![]() |
#14 |
Модератор
|
|
|
![]() |
#15 |
Moderator
|
Не очень понял, чем вызвана улыбка. Вообще я говорил вот про это (на примере Haskell). Или ты имел в виду, что это очевидная вещь?
|
|
![]() |
#16 |
Участник
|
Публично приношу всем свои извинения.
|
|
![]() |
#17 |
Модератор
|
Не стоит спешить: проверь партнерский сайт
![]() С Уважением, Георгий |
|
![]() |
#18 |
Участник
|
![]() Цитата:
F#, насколько я знаю, используется в финансовой сфере для всяких финансовых вычислений. Вот тут обсуждение на stackoverflow что там есть полезного. Например, возможность типизировать переменные единицами измерений - при попытке сложить квадратные метры и секунды будет ошибка компиляции. Для мена он интересен в качестве скриптового языка - там убрано много ненужных элементов (вплоть до фигурных скобок) - так что код получается коротким, но при этом там строгая статическая типизация - так что студия подсказывает, где ошибка. Так же F# - это такой же дотнет язык как и все - на нем можно написать сборку, использовать чужой код, он идет в комплекте с VS2010, так что если надо сделать сложный быстрый расчет, то можно его подключить к AX. Цитата:
Зато от этой ссылочки сильно заерзали на стульях те, кто вложился в SilverLight как в платформу для десктоп
![]() PS. Вообще, посты, которые не относятся к аксапте, я помечаю спецтегом Non-Axaptic. И вообще я ожидал, что предыдущий пост вызовет реакцию здесь а не этот. PPS. А PageRank я просто даже не озаботился ![]() |
|
![]() |
#19 |
Участник
|
Цитата:
![]() В том числе и по нему, мы отбираем ![]() |
|
![]() |
#20 |
Участник
|
Спасибо за ссылки, по-моему, очень занимательная презентация, заставляет о многом задуматься... К слову, качать вариант 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). |
Теги |
f#, type providers, функциональное программирование |
|
|