Sunday, October 28, 2007

Писать код на C# становится проще

Сколько раз на дню приходится писать код вроде этого:

public string MyProperty
{
get
{
return _myProperty;
}
set
{
_myProperty = value;
}
}


Resharper наполовину облегчает эту работу. Однако, на C# 3 этот код писать вообще не нужно. Новый синтаксис позволяет сократить объявление до следующего:



public string MyProperty { get; set; }


Приватная переменная и все остальное будут сгенерированы компилятором автоматически. Что не только удобно для ввода, но и повышает читабельность кода.


Другое нововведение, которое позволяет выражаться на C# более кратко - инициализация объектов, то есть создание экземпляра с одновременным присвоением значений свойств. Работает так:


Person aPerson = new Person { Name = "Steve Jobs", Age = 40 };

Компактность / выразительность кода в данном случае достигается в двух местах: не нужно присваивать значения свойств в отдельных предложениях и не нужно писать конструкторы-инициализаторы.

Pun not intended

Сколько раз в одном окне можно употребить слово Update? Шедевр:



Особое внимание обратите на сообщение в центре. Взято отсюда.

Friday, October 12, 2007

There's no Singapore in Singapore

Expedia терроризировала коллегу, пытавшегося заказать авибилеты:

What is your country? - Singapore
State? - Singapore
Town or city? - ... Singapore.

Получив ответы, система немного подумала и выдала:

"sorry - it's not working - there is no Singapore in Singapore..." :)

Еще про Сингапур из рабочего чата:

- i think generally singapore still confuses me
- obviously you haven't been to Tokyo..
- only been as a tourist, and didn't have to find any places based on address
- the main train station is about as complex as the map of singapore..
- the main train station's probably as big as Singapore :P

Разговор в рабочем чате

Одна из приятных мелочей в нашем банке - наличие внутреннего чата (на платформе bchat). В нем можно решать рабочие вопросы, а также просто поговорить с коллегами из разных концов света, где у нас есть офисы - Лондон, Нью Йорк, Гонконг и так далее. Недавно был свидетелем такого разговора:

- I wrote a program that appears to do nothing, but at least it does it very quickly.
- It's not finished yet, write a few unit tests and add code coverage and static analysis.
- Maybe if I knew what those meant I'd be a better programmer.
- no-one knows, that's the whole point ;-) /me runs and hides
- (after some googling) I do all of those, but I didn't know what they were called. When are you told what they're called?
- After about 10 years service, then the names all get changed again.

Thursday, October 11, 2007

Чуть чуть о политике

Иногда (редко, но бывает) действия российского правительства вызывают у меня положительные эмоции.

В последний раз это было, кажется, в связи с новостями о том, что программы для российских школ будут покупаться у российских же производителей. Однако, впоследствии впечатление было испорчено дополнительной информацией о том, что производство этих программ будет осуществляться по хитрой схеме - opensource, финансируемый правительством. То есть вместо того, чтобы обеспечить заказами компании-разработчики ПО (что было бы мощным стимулом развития не только для отрасли), будет создана, надо полагать, очередная бюрократически-коррупционная структура по растрате бюджета. Таким образом, я думаю, будет нанесен ущерб как рынку разработки, так и школьникам.

Это если сведения верны. Надо признать, что стимулирование айти-отрасли - дело нетривиальное. Однако, очевидно, - будь программа реализована как следует, такой объем заказов имел бы очень положительный, системный эффект.

До этого в последний раз источником радости служила программа стимулирования рождаемости. Радует, скорее не сама программа, а то, что правительство наконец сделало что-то для решения проблемы, о которой до этого было принято лишь изредка охать. Что же до самой программы, то принятые меры (пособия и прочие небольшие подарки с барского плеча) имеют скорее популистский эффект. Снижение рождаемости - естественный ответ населения на удручающие экономико-социальные условия. Если рождаемость и повысится за счет искусственных мер, то чем будут заниматься появившиеся дети, - если им не дать хорошего образования, медицины, рабочих мест, не защитить от криминала, в том числе со стороны власти? Возможно, их ждет участь, схожая участи рабочих-эмигрантов из СНГ (т.е. дешевая и бесправная рабочая сила). Тем, кто получит квалификацию, возможно, повезет больше, - и они уедут за границу. Спрашивается: с того ли конца взялись за решение демографической проблемы? Вместо этого, дайте людям возможность работать в здоровой конкурентной среде, постройте им жилье, и они нарожают вам столько детей, сколько не добиться никакими пособиями.