Всем участникам подарили полный набор реклам партнеров (HP, Kingston, еще кого-то), флэшку на 2GB и бокал с логотипом VS2010 и MSDN. Также были розыгрыши кепок, бит и маек (? сам не видел, но люди с битами улыбали). После перезентаций разыгрывали призы — сертификаты на покупку софта, Microsoft Expression 3 (мне посчастливилось выйграть одну коробку :) ), один XBox, один нетбук, один ящик пива и байка с автографом не помню кого (которая ушла замечательной девушке Алле).
Мы создавали для нашего репозитроия: 6383 кадра, 3,5 суток рендеринга кадров, логи за четыре года, ~100000 коммитов, видео получилось 4 с половиной минуты.
Смысл — в строгой типизации. Если бы был оператор methodof, то, например, при рефакторинге я бы не заботился о том, что надо еще поменять имена функций в строковых константах. Поэтому, например, я предпочитаю использовать вот такой вот метод:
private static string GetMethodName<T>(Expression<Action<T>> action)
{
Expression body = action.Body;
var mce = body as MethodCallExpression;
if (mce != null)
return mce.Method.Name;
return null;
}
int s = 0;
for(int i=0;i<int.MaxValue;i++)
{
int i1 = i;
Expression<Func<int, int>> x = j => j + i1;
Func<int, int> f = x.Compile();
s += f(i);
if (i % 100 == 0)
{
Console.WriteLine(s);
GC.Collect();
}
}
Console.WriteLine(s);
стабильно держится на 15 мегабайтах и не растет уже минут 10. А как сделано — тут я пас.
Параметров — это каких? (я забыл дженерик-параметры, да) Затраты на карринг несравнимо меньше, чем для поддержанание ооп в си. Вывод типов — да, в сишарпе никакой. Пары черех библиотеку классов — так и эксепшены тоже только через библиотеку.
Extension everything — это, конечно, прикольно, но extension static methods — это уже перебор.
Целью, кстати, было, именно найти задачи, а не фичи языка. Вот одна задача — синтаксический разбор, который действительно проще делать на F#. Но когда последний раз в коммерческом проекте вы делали синтаксический разбор, для которого Regex было мало?
Да, это понятно. Думаю, что F# откусит большой кусок функционального программирования, благодаря IDE и .NET. Но вряд ли он появится в рабочем наборе инструментов программиста. Тем более, что C# вобрал в себя многое из функционального программирования.
Который потом вызывается, например, так:
стабильно держится на 15 мегабайтах и не растет уже минут 10. А как сделано — тут я пас.
Целью, кстати, было, именно найти задачи, а не фичи языка. Вот одна задача — синтаксический разбор, который действительно проще делать на F#. Но когда последний раз в коммерческом проекте вы делали синтаксический разбор, для которого Regex было мало?