|
|
#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. Я вот немного поглядываю на эти функциональные языки и видимо мозг сильно испорчен прикладным программированием
, я все никак не могу понять что же такое на них будет удобно писать и близкое к учетной тематике? Решительно не понимаю, хотя Scala(язык), который тоже испытал влияние OCaml, вполне себе интересная шутка.
|
|
|
|
|
#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 |
|
Участник
|
Цитата:
Суть вопроса про функциональные языки была в том, действительно они столь хороши и универсальны? Суровые Lisp программисты говорят что на нем можно написать абсолютно что угодно, но вот глядя на тот же Clojure мне кажется что он менее выразителен для тех задач, которые привыкли решать участники этого форума. Во всяком случае как по мне, для описания бизнес логики ООП парадигма более подходит, нежели функциональная. Цитата:
Сообщение от 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, функциональное программирование |
|
|
|