Как стать автором
Обновить
66
0
Дмитрий Ейбоженко @Meroving

Пользователь

Отправить сообщение

Расширяем C# с помощью Roslyn. Безопасные вызовы

Время на прочтение9 мин
Количество просмотров8.7K
У вас никогда не возникало ощущения, что в языке X, на котором вы в данный момент программируете чего-то не хватает? Какой-нибудь небольшой, но приятной плюшки, которая может и не сделала бы вашу жизнь абсолютно счастливой, но определенно добавила бы немало радостных моментов. И вот вы с черной завистью посматриваете на язык Y, в котором эта штуковина есть, грустно вздыхаете и тайком льете по ночам слезы бессилия в любимую подушку. Бывало?
Будем лечить
Всего голосов 35: ↑33 и ↓2+31
Комментарии7

Нововведения F# 3.0

Время на прочтение4 мин
Количество просмотров3K
На прошедшей недавно конференции Build кроме уже широко освещенной и обсужденной презентации Windows 8, Metro UI и WinRT было еще немало интересного. В том числе, Дон Сайм и его команда представили developer preview новой, третьей по счету, версии языка программирования F#, который является частью developer preview Visual Studio 11 (и, кстати, уже может быть опробована вами по ссылке).

Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии8

Почему мне не нравится Веб 2.0

Время на прочтение3 мин
Количество просмотров631
image
Впервые решил написать что-то не про F#, и может, зря. :)
Наверно, прочитав нижеследующее, одни скажут, что это просто бесформенный поток мыслей, другие сочтут меня ретроградом, третьи — Дон Кихотом, борющимся с ветряными мельницами. Возможно. Но иногда почему бы и не побороться.
Да, мне не нравится Веб 2.0, даже не весь Веб 2.0, а конкретная его часть, однако часть, я бы сказал, довольно образующая. Ведь как чаще всего определяют текущее состояние интернета? Как эпоху user-generated content. И что же является главным апологетом этой концепции, как не блогосфера? Так вот, мне не нравятся блоги. Да и не сами блоги, а главным образом способ их использования.
Читать дальше →
Всего голосов 53: ↑38 и ↓15+23
Комментарии21

Об F# для архитекторов

Время на прочтение13 мин
Количество просмотров8.6K
Данная статья выросла из доклада, сделанного Крисом Смитом, одним из разработчиков F# на конференции DevLink. В целом она носит обзорный характер, однако несмотря на это, и на то, что усилиями shwars, mezastel и отчасти вашего покорного слуги F# уже не раз мелькал на Хабре, думаю что этот язык программирования не стал еще настолько очевиден всем, чтобы эта статья полностью потеряла смысл. Более того, здесь Крис пытается ответить на главный вопрос, который, думаю, мучает всех, кто хоть раз слышал о F#. Где же все-таки его применять? Получилось у него или нет – вам судить. Надеюсь после прочтения у вас хоть что-то относительно всего этого прояснится. Если так, я буду считать свою миссию перевыполненной :)
P.S. Первый перевод, поэтому не обессудьте за некоторые возможные баги.
image
Читать дальше
Всего голосов 66: ↑52 и ↓14+38
Комментарии33

Катаморфизм в F#

Время на прочтение9 мин
Количество просмотров6.8K

Введение


Упомяну сразу, данная статья написана по мотивам целой серии постов в отличном блоге Inside F#. Тем не менее она не является переводом в чистом виде, а скорее вольным изложением, чтобы доступным языком объяснить — что же за зверь такой, катаморфизм, и с чем его едят. Слово это думаю не очень на слуху, чего стоит хотя бы тот факт, что статьи по нему нет в русской википедии (и вообще ни в одной национальной, кроме почему-то голландской. Наверно ФП как-то соответсвует духу травокурения)
Итак, строго говоря, катаморфизм в функциональном программировании — это обобщение свертки списков, которые (как я уже рассказывал) являются специфическим типом размеченного объединения, на произвольные размеченные объединения.
Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии24

F# на практике

Время на прочтение8 мин
Количество просмотров1.9K

Введение


Пожалуй два наиболее часто задаваемых (следовательно, животрепещущих) вопроса в комментариях к моей обзорной статье о F# были следующие:
1. Почему он так похож на OCaml?
2. На кой черт он вообще сдался?
Ответ на первый вопрос не представляет особой сложности — он так похож на OCaml, потому что сделан целиком и полностью на его основе. Хорошо это или плохо? Да скорее хорошо, это явно лучше, чем придумывать совершенно новый синтаксис, который еще не известно, насколько будет хорош. Плюс к тому, по OCaml достаточно много документации, так что даже на первых порах проблем с (само)обучением быть не должно.
Со вторым вопросом разобраться куда сложнее, особенно сейчас, когда язык пребывает в состоянии беты и является пока что лишь объектом изучения излишне любознательных программистов. Однако несмотря на довольно краткое с ним знакомство, мне уже довелось разок применить его для достижения вполне прагматических целей, о чем и поведаю в этом небольшом посте.
Заранее оговорюсь, конечно же, не последнее, что побудило меня решать поставленную задачу именно на F# — желание попрактиковаться в новом языке. Конечно же, программу можно было написать и на C#, и возможно она получилась бы ненамного длиннее (повторюсь, возможно, я не проверял). Так или иначе, программа была написана, и дело свое сделала.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии6

Три парадигмы F#

Время на прочтение16 мин
Количество просмотров21K

Введение


Все, кто так или иначе связан с .NET программированием знает, что уже в следующую версию Visual Studio будет встроен новый язык программирования — F#, который позиционируется как функциональный, чем сразу, так уж повелось, вызывает подозрения в бесполезности. Для того, чтобы показать, что F# — куда больше, чем просто ФЯП (хотя и просто ФЯП — это очень немало), я и написал все нижеследующее.
Эта статья, несмотря на изрядную длину, не претендует на то, чтобы полностью описать всю функциональность языка. Это всего лишь краткий обзор, призванный продемонстрировать широкий спектр возможностей, каждая из которых заслуживает отдельной статьи, и даже не одной.
Кроме того, написав такой пространный пост, я хотел сделать задел на будущее, чтобы в дальнейшем мне не отвлекаться на незначительные вещи базового уровня. Конечно, сразу головой в пруд — это действенно, но и какой-никакой фундамент не помешает.
А уже в следующий раз я приведу пример на волнующую тему пригодности F# для обычной профессиональной программистской деятельности.
И еще раз, под катом действительно МНОГО текста. И не говорите потом, что я вас не предупреждал. =)
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии68

Интерпретатор для HQ9+ на F#

Время на прочтение3 мин
Количество просмотров1.1K
Пока полномасштабная статья про поддержку F# различных парадигм еще готовится к выпуску, постараюсь занять ваше внимание некоторыми приятными и не отягощающими мелочами.
Вот скажите, знаете ли вы, что есть на свете такой замечательный язык программирования, как HQ9+? А чем же он такой замечательный? Ну например, назовите еще хоть один язык, где легендарная программа «Hello, world!» состоит из одного символа. Заметьте, не строки, не оператора, а символа — «H». Более того, этот язык настолько хорош, что куайн для него записывается тоже одним символом -«Q».
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии2

Решаем Project Euler на F#: Задачи 3, 7, 10

Время на прочтение5 мин
Количество просмотров3.4K
Что ж, продолжим знакомство с F#, а заодно решение задач с Проекта Эйлера, начатое мною в предыдущем посте. Сегодня я рассмотрю сразу несколько задач из этого проекта, связанных с простыми числами. В первой десятке таковых три штуки, вот на них и посмотрим.
В этих примерах мы будем как и прежде использовать только функциональные аспекты языка, для окончательного, так сказать, закрепления. А о том, как использовать F# в императивной и объектно-ориентированной парадигме, я пожалуй расскажу отдельно, в следующий раз.

Простые числа
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

Решаем Project Euler на F#: Задача 1

Время на прочтение2 мин
Количество просмотров1.3K
Прочитав первые несколько статей из цикла Влюбляемся в F#, я и в самом деле, если не влюбился в него, то по меньшей мере заинтересовался. Настолько, что не вытерпел ожидания следующей дозы и решил продолжить изучение самостоятельно.
В процессе луркинга я наткнулся на чрезвычайно увлекательный сайт Project Euler, который на мой взгляд, как нельзя лучше подходит, чтобы постепенно изучить все, или по крайней мере большинство тонкостей F#. Сейчас я предлагаю для начала рассмотреть решение самой первой задачи с этого сайта. Она очень простая, и ее решение думаю не вызовет сложностей даже у тех, кто знаком с F# только по вышеприведенной статье. Итак…
Задача 1
Всего голосов 12: ↑9 и ↓3+6
Комментарии6

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность