Pull to refresh
66
0
Дмитрий Ейбоженко @Meroving

User

Send message

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

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

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

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

Читать дальше →
Total votes 48: ↑43 and ↓5 +38
Comments 8

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

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

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

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

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

Reading time 9 min
Views 6.8K

Введение


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

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

Reading time 8 min
Views 1.9K

Введение


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

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

Reading time 16 min
Views 21K

Введение


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

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

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

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

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

Простые числа
Total votes 5: ↑5 and ↓0 +5
Comments 1

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

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

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity