Aug. 30th, 2007

dluciv: (Default)
Троллинг - провокационная деятельность, часто вызывающая флейм.

А вот маленький пример. Блог, в который ведет ссылка, ведется, в основном, веб-дизайнерами и веб-программистами (причем, в основном, довольно умными и грамотными). Среди них принято любить Макинтоши (против этого я тоже ничего не имею). Так же в блоге присутствует т.н. карма, которую можно друг другу менять, и иногда случаются репрессивные действия со стороны администрации.

Как и любое более или менее закрытое сообщество, этот блог делает некоторых наименее устойчивых своих членов более однобокими. Ну и, само собой, формируется гадюшник с богатым набором неписанных правил и враждебный к новым гадюкам (враждебность обосновывают ровно этими правилами).

Пример из смежной области - Вы когда-нибудь общались с прожжеными и отмороженными сисадминами (мне иногда доводилось, слава Богу у нас на работе хорошие - одно удовольствие общаться). Замечали наверно, что с их точки зрения весь мир должен состоять из сисадминов?

Я тут написал идиотские банальные и известные кому угодно вещи. Почему - просто потому, что мне уж больно пример понравился. Сильно ворошить гадюшник необязательно. И, главное, чем больше раздражать, тем больнее будет, мозоль не натрется :). В противоположность этому, развить достаточно большую и организованную структуру, которая не станет гадюшником, очень тяжело. Преклоняюсь перед теми, кому удавалось.

Да, если комменты там сотрут, я на всякий пожарный сохранил, могу выложить.
dluciv: (Default)
... Первый государственный российский телеканал для детей и юношества «Бибигон», основная задача которого, по словам психологов, снижать чувство тревоги, выходит в эфир, сообщил в четверг генеральный директор Всероссийской государственной телерадиовещательной компании (ВГТРК) Олег Добродеев. Телеканал назван в честь героя известного детского писателя Корнея Чуковского. ... Гендиректор ВГТРК сообщил, что с инициативой создания такого канала выступил президент России Владимир Путин. ...

Здесь.

Интересно, подразумевает ли название канала, что BBC гонит, или это просто так получилось?..
dluciv: (Default)
Mono постепенно реализует фичи третьей версии языка C#.

И вот мы пытаемся скомпилить код:

using System;
using System.Collections.Generic;

public class Foo
{
public static void Main()
{
var l = new List<int> {1, 2, 3};
foreach(int i in l.Where(x => x > 1))
Console.WriteLine(i);
}
}


И получаем облом. Понятное дело, фреймворк-то у Mono всего-лишь второй, в нем у списка никакого Where нету. Но компилятор уже умный, и понимает такую хитрую штуку, как статические расширения, так что беду легко можно вылечить, написав следующий класс (обращаем внимание на неуместное с виду слово this у параметра l):
public static class EnumExt
{
///Filtering lambda
public delegate bool Test<T>(T value);

///Filtering method
public static IEnumerable<T> Where<T>(this IEnumerable<T> l, Test<T> t)
{
foreach(T el in l)
if(t(el))
yield return el;
}
}

И все вроде-бы клево, и работает зашибись. Класс статических расширений можно описывать где угодно. И компилить хоть в отдельную assembly.

А теперь вопрос: компилятор, чтобы скомпилить код, использующий статические расширения, должен эти расширения найти. И ведь находит, зараза! Он что, просматривает для этого все доступные ему библиотеки?

Исходники его смотреть уж больно неохота...

UPD 1 : Вообще-то, если компилятору нужен тип, а не метод, он тоже его ищет по всем библиотекам. Так что не такой уж и ужасный криминал. Но все же криминал: при поиске типа все, что нужно узнать, для того, чтобы решить, подходит тип или нет, у типа снаружи; при поиске расширения надо всем статическим классам залезть в потроха...

UPD 2 : Антон и Сержик немного успокоили:
Компилятор просматривает все статические классы в доступных сборках, которые доступны через юзинги текущего файла. В сборке сразу сказано, какие неймспейсы она экспортит (и какие из нее, соответственно, можно импортить).
Да, немного лучше. Хотя все равно не фонтан, конечно.

February 2022

S M T W T F S
  12345
6789101112
13141516 171819
20212223242526
2728     

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 10th, 2026 11:24 pm
Powered by Dreamwidth Studios